servlet生命周期与工作原理
来源:互联网 发布:mac怎么关掉死机程序 编辑:程序博客网 时间:2024/05/20 13:05
加载 :读取web.xml配置文件中的信息,加载类,生成.class文件
【实例化】:构造指定的Servlet对象
【初始化】 init()
【服务】 service(),把创建的HttpRequest对象和HttpResponse对象作为参数传进去,通过调用他们各自的相关方法获取请求信息,生成相应数据,把相应结果返回给web客户端。
【销毁】 destory()
servlet工作原理:
1、Web Client 向Servlet容器(Tomcat)发出Http请求
2、Servlet容器接收Web Client的请求
3、Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中
4、Servlet容器创建一个HttpResponse对象
5、Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数
传给 HttpServlet对象
6、HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息,req.getattribute()等。
7、HttpServlet调用HttpResponse对象的有关方法,生成响应数据 resp.getRequestDispatcheer("").forward(req,resp); resp.sendRedirect("");
8、Servlet容器把HttpServlet的响应结果传给Web Client
运行在JVM上的每一个web应用程序都有一个与之对应的Servlet上下文(Servlet运行环境)
Servlet API提供ServletContext接口用来表示Servlet上下文,ServletContext对象可以被web应用程序中所有的Servlet和jsp访问
ServletContext对象是web服务器中的一个已知路径的根
如http://localhost:8080/ch08,所以/ch08被称为上下文根路径,那么所有以/ch08开始的请求路径都会被发送到与此上下文关联的web应用程序中
如何获取ServletContext对象
由外面的关系图可知:使用ServletConfig的getServletContext()
使用GenericServlet的getServletContext()
使用ServletContext的getContext(String uri)可以获取其他web应用程序的上下文对象
要完成请求转发,那么就需要使用javax.servlet. RequestDispatcher接口
在web.xml文件中为servlet设置了<load-on-startup>元素
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>servlet.servlet1</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
说明:
1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
3)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
4)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
5)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
6)当值相同时,容器就会自己选择顺序来加载。
【实例化】:构造指定的Servlet对象
【初始化】 init()
【服务】 service(),把创建的HttpRequest对象和HttpResponse对象作为参数传进去,通过调用他们各自的相关方法获取请求信息,生成相应数据,把相应结果返回给web客户端。
【销毁】 destory()
servlet工作原理:
1、Web Client 向Servlet容器(Tomcat)发出Http请求
2、Servlet容器接收Web Client的请求
3、Servlet容器创建一个HttpRequest对象,将Web Client请求的信息封装到这个对象中
4、Servlet容器创建一个HttpResponse对象
5、Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数
传给 HttpServlet对象
6、HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息,req.getattribute()等。
7、HttpServlet调用HttpResponse对象的有关方法,生成响应数据 resp.getRequestDispatcheer("").forward(req,resp); resp.sendRedirect("");
8、Servlet容器把HttpServlet的响应结果传给Web Client
运行在JVM上的每一个web应用程序都有一个与之对应的Servlet上下文(Servlet运行环境)
Servlet API提供ServletContext接口用来表示Servlet上下文,ServletContext对象可以被web应用程序中所有的Servlet和jsp访问
ServletContext对象是web服务器中的一个已知路径的根
如http://localhost:8080/ch08,所以/ch08被称为上下文根路径,那么所有以/ch08开始的请求路径都会被发送到与此上下文关联的web应用程序中
如何获取ServletContext对象
由外面的关系图可知:使用ServletConfig的getServletContext()
使用GenericServlet的getServletContext()
使用ServletContext的getContext(String uri)可以获取其他web应用程序的上下文对象
要完成请求转发,那么就需要使用javax.servlet. RequestDispatcher接口
在web.xml文件中为servlet设置了<load-on-startup>元素
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>servlet.servlet1</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
说明:
1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
3)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
4)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
5)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
6)当值相同时,容器就会自己选择顺序来加载。
0 0
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- Servlet生命周期与工作原理
- 几种排序的总结
- C++ wstring string char* wchar_t相互转换
- Android-获取屏幕分辨率
- 诡异的php变量名
- java学习之路----java开发实战经典第12章习题及答案
- servlet生命周期与工作原理
- camera vivi虚拟驱动架构
- c/c++ 数字转成字符串, 字符串转成数字
- Fedora 17 设置开机自动启动服务使用新的服务管理工具
- SharePoint 2013 图文开发系列之入门教程
- Printf() 输出格式控制
- 蓝桥杯:基础练习 特殊回文数
- acqua特性,音频测试项目分类表
- Unity手游之路<七>角色控制器