与Servlet相关类的层次结构及HttpServlet的生命周期
2015-12-08 11:00
417 查看
一:与Servlet相关类的层次结构
<1>一个接口,两个类的关系:<2>各自的功能
1.Servlet接口
1.1此接口定义了初始化 servlet 的方法、为请求提供服务的方法和从服务器移除 servlet 的方法。
要实现此接口,可以编写一个扩展
javax.servlet.GenericServlet的一般 servlet,或者编写一个扩展
javax.servlet.http.HttpServlet的 HTTP servlet。
1.2这些方法称为生命周期方法,它们是按以下顺序调用的:
1)构造 servlet,然后使用
init方法将其初始化。
2)处理来自客户端的对
service方法的所有调用。
3)从服务中取出 servlet,然后使用
destroy方法销毁它,最后进行垃圾回收并终止它。
1.3接口中定义的常用方法:
init(ServletConfig config)
destroy()
getServletConfig()
service(ServletRequest req, ServletResponse res)
2.GenericServlet类
2.1定义一般的、与协议无关的 servlet。要编写用于 Web 上的 HTTP servlet,请改为扩展
javax.servlet.http.HttpServlet。
2.2类中常用的方法:
init()
getInitParameter(String name)
getInitParameterNames()
getServletContext()
3.HttpServlet类
提供将要被子类化以创建适用于 Web 站点的 HTTP servlet 的抽象类。
HttpServlet的子类至少必须重写一个方法,该方法通常是以下这些方法之一:
doGet(HttpServletRequest req, HttpServletResponse resp)
doPost(HttpServletRequest req, HttpServletResponse resp)
doPut(HttpServletRequest req, HttpServletResponse resp)
doDelete(HttpServletRequest req, HttpServletResponse resp)
doHead(HttpServletRequest req, HttpServletResponse resp)
doOptions(HttpServletRequest req, HttpServletResponse resp)
doTrace(HttpServletRequest req, HttpServletResponse resp)
service(HttpServletRequest req, HttpServletResponse resp)
init和
destroy,用于管理 servlet 的生命周期内保存的资源
getServletInfo,servlet 使用它提供有关其自身的信息
二:HttpServlet的生命周期
1.客户端第一次请求一个Servlet时,web服务器(如tomcat)根据web.xml的配置信息找到此Servlet的类,并创建该Servlet的对象,并根据配置信息创建ServletConfig对象,然后调用Servlet对象的init(ServletConfig)方法进行初始化。
2.服务器解析请求信息,创建HttpServletRequest对象,把请求信息封装到HttpServletRequest对象中,然后创建空的HttpServletResponse对象。
3.服务器调用Servlet对象的service方法,并把HttpServletRequest对象和HttpServletResponse对象传递给service方法的参数。
4.service方法根据请求方式(get/post)调用相应的方法(doGet/doPost)。
5.以后再收到此请求时直接调用service方法处理请求。
相关文章推荐
- 判断http 请求来自于手机还是PC
- 深度神经网络面临的挑战与解决方案
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- HttpClient不同版本超时时间的设置
- 网络
- Afnetworking+nginx+https服务器通信
- Linux上wifi找不到网络的解决
- Apache错误:(20014)Internal error: Error retrieving pid file logs/httpd.pid
- 1-4 TCP/IP协议族
- 判断是否有网络链接
- RHCE 系列(十):在 RHEL/CentOS 7 中设置 NTP(网络时间协议)服务器
- 大小端模式和网络字节序
- VOIP网络基本拓扑结构----基本组网
- HttpClient常用的一些常识
- bp神经网络及matlab实现
- Afnetworking+nginx+https服务器通信
- android之HttpURLConnection
- 网络编程 同步异步加载 SET POST
- 网站title,太原网络营销师郭文军教你如何布局
- TCP可靠的传输机制