| 
 
| 1. Servlet: 本质是一个接口
 A)继承体系
 (1)Servlet
 (2)GenericServlet
 (3)HttpServlet
 B)配置方式
 (1)xml配置
 (2)注解配置
 C)生命周期
 (1)先执行init()                        -创建后执行,只执行一次
 (2)再执行service()                -每次访问url时执行,可以执行多次
 (3)最后执行destory()        -销毁前执行,只执行一次
 D)线程安全问题的解决方案
 不使用成员变量
 E)servlet创建时间
 (1)默认为第一次访问时创建
 (2)配置servlet开启时服务器自动创建
 在xml中配置,第一次访问时创建<load-on-startup>的值为负数
 服务器启动时创建<load-on-startup>的值为0或正整数
 F)Servlet执行流程
 (1)通过浏览器地址栏获取ServletDemo(访问路径)
 (2)通过ServletDemo去xml配置中找到<url-pattern>/ServletDemo
 (3)通过<url-pattern>/ServletDemo找到<servlet-name>test1
 (4)通过<servlet-name>test1找到servlet的名称test1
 (5)通过servlet的名称找到Servlet的全路径
 (6)通过全路径访问Servlet的实现类
 G)Servlet的访问路径的配置
 /info
 /user/*
 *.do
 /hehe.do
 2. request
 A)原理
 B)作用
 (1)获取请求参数
 请求行:
 getMethod()
 getContextPath()
 getRequestUri()
 getRequestUrl()
 请求头:
 getHeader()
 请求参数:
 getParameter()
 getParameterValues()
 getParameterMap()
 设置编码:
 setCharacterEncoding()
 (2)请求转发
 request.getRequestDispatcher("路径").forward(request,response)
 特点:
 1.地址栏不发生改变
 2.只能访问服务器内部资源(包括WEB-INF)
 3.只有一次请求
 4.在request域中数据共享
 注意: WEB-INF只能通过请求转发访问
 (3)域对象进行共享数据
 request.getAttribute();
 request.setAttribute();
 request.removeAttribute();
 (4)获取ServletContext
 request.getServletContext();
 C)请求的协议格式
 D)请求头
 content-type     提交数据的格式
 user-agent                 判断浏览器版本
 referer                         防盗链
 E)解决中文乱码问题
 (1)tomcat8之后get请求不需要设置
 post请求设置request.setCharacterEncoding("utf-8");
 3.response
 访问服务器时创建,响应后销毁
 A)原理
 B)作用
 (1)回写数据
 (2)重定向跳转页面
 response.sendRedirect()
 1.两次请求
 2.地址栏改变
 3.访问外部和服务器内部资源(不能访问/WEB-INF下的资源)
 4.不能在request域中数据共享
 (3)响应的协议格式
 (4)响应头
 Content-Type  -设置编码集
 Content-Disposition  -下载方式
 C)乱码问题
 response.setContentType("text/html;charset=utf-8")
 
 
 
 
 
 | 
 |