容器对路径的处理 Servlet的特性
1.什么是重定向
服务器想浏览器发送一个302状态码以及一个Location消息头(该消息头的值是一个地址,称之为重定向地址),浏览器收到后会立即向重定向地址发出请求.
重定向原理
1 访问AddEmp
2 执行数据插入操作
3 执行结束后使用重定向代码返回一个数据包,里面包括302状态码和一个消息头Location
4 浏览器收到回会立即向服务器的ListEmp发出请求
注:3 4这个过程即重定向
重定向的特点
1 重定向的地址可以是任意的地址
2 重定向之后,浏览器地址栏的地址会发生改变
3 重定向过程涉及到的Web组件并不会共享同一个request和respose对象
什么是请求资源路径
Web服务器对请求地址的处理
匹配Servlet规则–精准匹配
匹配Servlet规则–通配符匹配
匹配Servlet规则–后缀匹配
无匹配的Servlet的处理
1 如果精确匹配,通配符匹配,后缀匹配都没有匹配成功时,容器会查找相应的文件
2 查找到对应文件则返回,找不到则返回404
注:优先级最高的是精准匹配
一个Servlet实现多请求
为什么要将多Servlet合并
分析请求资源后分发
Servlet特性
什么是Servlet的生命周期
容器如何创建Servlet对象,如何为Servlet对象分配资源,如何调用Servlet对象的方法来处理请求,以及如何销毁Servlet对象的整个过程
生命周期的四个阶段
Servlet接口
Servlet核心类
ServletContext(Servlet上下文)
容器启动之后,会为每个Web应用创建唯一的一个符合ServletContext接口要求的对象,该对象就是Servlet上下文
特点
1 唯一性(一个Web应用对应一个Servlet)
2 一直存在(只要容器不关闭,应用没有被卸载删除,Servlet上下文就一直存在)
如何获取ServletContext
- 方式一:GenericServlet提供了getServletContext()方法。
- 方式二:ServletConfig提供了getServletContext()方法。
- 方式三:HttpSession提供了getServletContext()方法。
- 方式四:HttpServletRequest提供了getServletContext()方法。
Servlet上下文作用和特点
作用
-
使用setAttribute绑定数据
-
使用removeAttribute移除绑定数据
-
使用getAttribute获取绑定数据
特点
servlet上下文绑定的数据可以被整个应用上的所有组件共享,并且一直可以访问
Servlet线程安全问题