1.Servlet
A)继承体系
B)配置方式
xml
基本使用步骤:
1 创建类实现Servlet接口
2 实现方法,在service方法中实现业务逻辑
3 在web.xml中配置servlet
<servlet>
<servlet-name> demo</servlet-name>
<servlet-calss>cn.xxx.xx.xx.demo</servlet-calss>
</servlet>
<sevlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/demo</url-pattern>
</sevlet-mapping>
注解
.创建类实现Servlet接口,配置@WebServlet("/hello")
2.实现方法,在service方法中实现业务逻辑
eg:
@WebServlet("/hello1111");
C)生命周期
1 被创建:执行init方法,只执行一次
默认情况下, 第一次被访问时, Servlet被创建
可以配置执行Servlet的创建时机.
在<servlet> 标签下配置
1 第一次被访问,创建
<load-on-startup>的值为负数
2 在服务器启动时,创建
<load-on-startup>的值为0或为正整数
Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单列
D)线程安全问题如何解决
尽量不要在Servlet中定义成员变量. 即使定义了成员变量,也不要对修改值
E)servlet创建时间
* 默认情况下,第一次被访问时,Servlet被创建
* 可以配置执行Servlet的创建时机。
* 在<servlet>标签下配置
1. 第一次被访问时,创建
* <load-on-startup>的值为负数
2. 在服务器启动时,创建
* <load-on-startup>的值为0或正整数
F)Servlet原理
1当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
2 查找web.xml文件,是否有对应的<url-pattern>标签体内容
3 如果有,则在找到对应的<servlet-calss>全类名
4 tomacat会将字节码文件加载进内存,并且创建 1其对象
5 调用其方法
2.request
a.原理
b.作用
1.获取请求参数
请求行 4
请求头 1
请求参数 3
2.请求转发 1
请求转发的特点
3.作为域对象进行数据共享 3
4.获取ServletContext 1
c.请求的协议格式
d.请求头
content-type 提交数据的格式
user-agent 判断版本
referer 防盗链
e.解决中文乱码问题
get tomcat8之前
post request.setCharacterEncoding("utf-8")
3.response
a.原理
b.作用
1.回写数据
2.重定向页面跳转
重定向的特点
3.响应的协议格式
4.相应头
Content-Type 设置数据格式同时设置编码集
Content-Disposition 下载
c.解决响应乱码
response.setContentType("text/html;charset=utf8")
4.ServletContext
a.域对象进行数据共享
b.获取文件的服务器路径
web目录
web目录下/WEB-INF
web目录下/WEB-INF/classes
c.根据文件后缀名获取mime类型
context.getRealPath()
d.文件下载
5.Cookie
1.原理
2.API
获取
request.getCookies()
cookie.getName()
cookie.getValue()
发送
new Cookie("key","value")
c.setValue()
c.setMaxAge()
c.setPath()
c.setDomian()
response.addCookie(c)
3.cookie特点
6.Session
1.原理
2.API
作为域对象进行数据共享
request.getSession();
3.session特点
4.session的销毁
|
|