文章目录
ServletContext
a)ServletContext类
什么是servletContext
- ServletContext是一个接口,他表示Servlet上下文对象
- 一个web工程,只有一个ServletContext对象实例
- ServletContext对象是一个域对象
什么是域对象?
域对象,是可以像Map一样存储数据的对象,叫域对象
这里的域指的是存数据的操作范围。
b)ServletContext类的四个作用
-
获取web.xml中配置的上下文参数 context-param
-
获取当前的工程路径,格式:/工程路径
-
获取工程部署后在服务器硬盘上的绝对路径
-
像Map一样存取数据
ServletContext context = getServletContext(); context.setAttribute("key1","value1");
HttpServletRequest类
a)HttpServletRequest类有什么作用。
每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析到Request对象中,然后传递到service方法(doGet和doPost)中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。
b)HttpServletRequest类的常用方法
- getRequestURI() 获取请求的资源路径
- getRequestURL() 获取请求的统一资源定位符(绝对路径)
- getRemoteHost() 获取客户端的ip地址
- getHeader() 获取请求头
- getParameter() 获取请求的参数
- getParameterValues() 获取请求的参数(多个值的时候使用)
- getMethod() 获取请求的方法GET或POST
- setAttribute(key, value)设置域数据
- getAttribute() 获取域数据
- getRequestDispatcher() 获取请求转发对象
req.setCharacterEncoding("UTF-8");
HttpServletResponse类
a)HttpServletResponse类的作用
HttpServletResponse和HttpServletRequest类一样。每次请求进来,Tomcat服务器都会创建一个Response对象传递给Servlet程序去使用。HttpservletResponse表示请求过来的信息,HttpServletResponse表示所有响应的信息。
我们如果需要设置返回给客户端的信息,都有课易通过HttpservletResponse对象来进行设置。
b)两个输出流的说明
字节流 getOutputStream(); 常用于下载(传递二进制数据)
字符流 getWriter(); 常用于回传字符串
两个流同时只能使用一个;
使用了字节流,就不能使用字符流,反之亦然,否则就会报错。
Filter
作用:拦截请求,过滤响应
常见的应用场景:
- 权限检查
- 日记操作
- 事务管理
Filter的生命周期
Filter生命周期包含几个方法?
- 构造器方法
- init初始化方法
- 第1、2步在web启动的时候执行(Filter已经创建)
- doFilter过滤方法
- 每次拦截到请求时,就会执行
- destroy销毁
- 在web工程销毁的时候
FilterConfig类的作用?
- 获取Filter的名称filter-name的内容
- 获取在Filter中配置的init-param初始化参数
- 获取ServletContext对象
FilterChain过滤器链
多个过滤器如果执行?
什么是Cookie
- Cookie是服务器通知客户端保存键值对的一种技术
- 客户端有了Cookie后,每次请求都发送给服务器
- 每个Cookie大小不能超过4kb
Session会话
什么是Session会话
- Session就一个接口(HttpSession).
- Session就是会话,他是用来维护一个客户端和服务端之间关联的一种技术
- 每个客户端都有自己的一个session会话
- Session会话中,我们经常用来保存用户登录之后的信息。