- Servlet是SUN定义的一组接口,规范而SUN自己并没有去实现它
- 各大服务器厂商来实现Servlet规范(例如Tomcat)
- Tomcat是一个JavaWeb服务器也是一个Servlet容器
- Servlet的创建、运行、销毁都有Servlet容器完成
-
Servlet的生命周期方法:
public void init(ServletConfig config):初始化方法,在第一次请求时调用,只在最初的时候调用一次.
public void service(ServletRequest req, ServletResponse res):服务方法
public void destroy():销毁方法
-
测试其生命周期的流程和步骤:
执行流程: 构造器–>init方法–> 循环[ service方法 ]—>destory方法(正常关闭Tomcat)
1:构造器先执行,创建Servlet对象:init,service,destory方法,都是非static方法,都得使用对象调用.
2:一个Servlet类在整个生命周期中最多只有一个对象.
3:init在构造器执行之后,立马执行,只执行一次,为对象做初始化操作.
4:service方法在每次请求都会执行.
5:destroy方法只有在正常关闭Tomcat时,才会执行,不要期望该方法一定执行,所以不要在该方法编写扫尾操作.
6:Servlet类必须使用public修饰,Servlet的构造器,必须是公共无参数的.
3.Servlet的执行流程
4.HttpServletRequest
HttpServletRequest是ServletRequest接口的子接口,表示HTTP协议的请求对象.
HttpServletRequest是HTTP的请求对象,那么该接口中包含了获取各自请求信息的方法.
常用方法:
1.String getContextPath():获取上下文路径,<Context path=“上下文” …/>
2.String getHeader(String headName):根据指定的请求头获取对应的请求头的值.
3.String getRequestURI():返回当期请求的资源名称. 上下文路径/资源名
4.StringBuffer getRequestURL():返回浏览器地址栏的内容
5.String getRemoteAddr():返回请求服务器的客户端的IP
5.HttpServletResponse
HttpPServletResponse是ServletResponse的子接口,表示HTTP协议的响应对象.
该接口中包含了处理响应的方法.
常用方法:
OutputStream getOutputStream():获取字节输出流. :文件下载
Writer getWriter():获取字符输出流. :输出内容