servelet概述
了解servlet
静态页页即只包含了HTML文档的内容,与用户并没有任何交互。动态网页不仅可以动态显示数据,还可以与用户做交互。如完成登录,注册等一系列动作。不同用户访问相同的网页时,经常会发现所显示的内容是不相同的,这样的网页就是经过服务器动态生成的。servlet就是一种动态网页技术,
区 别:
servlet:单例,不安全,性能是好,处理HTTP请求的标准,只处理doPost(),doGet()方法。
springMVC:单列,不安全,开发效率高(好多共性的东西都封装好了,是对servlet的封装,核心的DispatcherServlet最终继承自HttpServlet),DispatcherServlet又叫前端控制器,能过滤处理所有的请求方法,还能查询HandlerMapping查找到相应的handler,进而调用相应的service和Dao,两者的关系如果MyBatis和JDBC,一个性能好,一个开发高效率高,是对另一个封装。
创建一个Maven项目
在Eclipse里面创建,FILE—NEW—Other—弹出的对话中选Maven—MavenProject-
第二步:单击next
第三步:因为Eclipse没有自动创建项目需要的web.xml配置文件,可以复制或可以创建此文件,在每个项目下面都有一个DeploymentDescriptor:项目名称这件目录,在此上面右键----选择Generate Deployment Descriptor选项,会自动创建项目需要的web.xml文件。。
上面创建完项目后下面进行配置
使用Maven导入Servlet的jar包,在pom.xml中添加依赖。
<dependencies><!--servlet--><dependency><groupID>javax.servlet</groupID><artifacId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency>
</dependencies>
配置请求路径,路径配置即指浏览器请求到达Web容器,并指定处理该请求的Servlet类,需要web.xml中以标签的形式进行配置,完成的标签包括servlet标签和servlet-mapping标签,servlet标签中的servlet-name标签表示对servlet进行命名,在整个WEB容器中该值是唯一的,servlet-class标签需要填写完整的类路径。servlet-mapping是请求映射标签,表示HTTP请求与servlet类的对应关系,对应关系通过两者都有的servlet-name的 值进行关 联。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"><servlet><servlet-name>UserServlet</servlet-name><servlet-class>cn.itcast.bookstore.user.web.servlet.UserServlet</servlet-class></servlet><servlet><servlet-name>CategoryServlet</servlet-name><servlet-class>cn.itcast.bookstore.category.web.servlet.CategoryServlet</servlet-class></servlet><servlet><servlet-name>BookServlet</servlet-name><servlet-class>cn.itcast.bookstore.book.web.servlet.BookServlet</servlet-class></servlet><servlet-mapping><servlet-name>UserServlet</servlet-name><url-pattern>/UserServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>CategoryServlet</servlet-name><url-pattern>/CategoryServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>BookServlet</servlet-name><url-pattern>/BookServlet</url-pattern></servlet-mapping></web-app>
编写servlet,
public class HelloServlet extends HttpServlet{@Override/*** 重写service方法*/public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// //配置UTF-8字符集以支持中文
// response.setContentType("text/html;charst=utf-8");
// response.setCharacterEncoding("UTF-8");
// //获取输出流以输出数据到浏览器中
// PrintWriter pw = response.getWriter();
// pw.write("我是Servlet服务端发送给浏览器的数据:Hello Servlet!");
// pw.close();response.setContentType("text/html;charst=utf-8");response.setCharacterEncoding("utf-8");String name = "张三";int age = 16;PrintWriter pw = response.getWriter();pw.write("<p style='color:red'>你好,我叫"+name+",今年"+age+"岁!<p>");pw.close();}
}
servelet概述相关推荐
- EJB是什么Java使用EJB容器的详细概述
EJB是什么 博客分类: java EJB 最近项目中接触到EJB,但对EJB不是很了解,于是网上找了些资料参考,下面这篇是个人感觉讲的比较清晰的,遂转载一起参考,文章转自https://www.c ...
- 第二章 BIRT设计器概述及本地化支持
转载自:https://blog.csdn.net/z1012890225/article/details/37815863 2.1 BIRT设计器概述 2.1.1 基本概念 数据源:数据的来源,或提 ...
- Java 多线程概述
多线程技术概述 1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间. 线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换.并发执行,一个进程最少有一个线程, ...
- 【SpringMVC】概述
概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的. 理解是servlet的一个升级 Sp ...
- 梯度下降优化算法概述
本文原文是 An overview of gradient descent optimization algorithms,同时作者也在 arXiv 上发了一篇同样内容的 论文. 本文结合了两者来翻译 ...
- Redis概述和基础
Redis 1.NoSQL NoSQL = Not Only SQL(不仅仅是SQL) 泛指非关系型数据库的,随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的 ...
- OpenCL™(开放计算语言)概述
OpenCL™(开放计算语言)概述 异构系统并行编程的开准 OpenCL™(开放计算语言)是一种开放的.免版税的标准,用于对超级计算机.云服务器.个人计算机.移动设备和嵌入式平台中的,各种加速器进行跨 ...
- 自动驾驶QNX,Linux,Autosar概述
自动驾驶QNX,Linux,Autosar概述 QNX是一个分布式.嵌入式.可规模扩展的实时操作系统.遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具).部分遵循POSIX.1b( ...
- Tengine MLOps概述
Tengine MLOps概述 大幅提高产业应用从云向边缘迁移的效率 MLOps Cloud Native 聚焦于提升云端的运营过程效率 MLOps Edge Native 聚焦于解决边缘应用开发及异 ...
最新文章
- 上海2021年高考成绩排位查询,2021年上海各高中高考成绩排名及放榜最新消息
- 请解释Spring Bean 的自动装配?
- Android 支付宝 开源框架
- (三)重构ResNet50以诊断COVID-19
- 运算符重载——函数调用运算符重载
- Python+OpenCV:图像修复(Image Inpainting)
- world办公软件小技巧
- 【高级开发必掌握SQL】SQL优化篇
- js:使用a标签下载图片及pdf文件等资源
- 单网卡、单IP、双网关设置内外网同时访问
- NPS净推荐值 客户忠诚度指标
- Clickhouse 普通视图
- 解决七彩虹断剑C.A320M-K PRO V14在Win11下前置面板音频接口无法使用的问题
- matlab概率论与数理统计分析,MATLAB在概率论与数理统计课程中的案例设计
- react实现上传文件进度条功能_js上传文件(可自定义进度条)
- mysql抢红包功能_Laravel框架实现抢红包功能示例
- Ubuntu设置扁平化风格桌面
- 2018-2019-1 20189215 书籍速读
- 用matlab实现高斯信道建模
- links for myself