servlet生命周期
来源:互联网 发布:淘宝直通车用开车精灵 编辑:程序博客网 时间:2024/05/01 14:14
Servlet的生命周期分为四个阶段
1,创建Servlet对象,通过服务器反射机制创建Servlet对象,第一次请求时才会创建。(默认)
2,调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次
3,响应请求,调用service()或者是doGet(),doPost()方法来处理请求,这些方法是运行的在多线程状态下的。
4,在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。
可以通过web.xml文件可以配置Servlet对象的创建时间,
<load-on-startup>数字</load-on-startup>,表示服务器启动时创建,并依照数字大小按顺序创建,只用重要的Servlet才会是用这个设置。
可以通过<init-param>标签来配置初始化参数,可以用ServletConfig对象的
getInitParameter(String name)方法来得到参数。
<init-param>
<param-name>...</param-name>
<param-value>...</param-value>
</init-param>
多线程下所操作的变量,如果操作的是一个变量,且兼有读写操作,就要考虑加上同步,但同步不能乱加,否则会造成死锁问题。
init()和destroy()方法都是运行在单线程下的。
GenericServlet类中的有参和无参的init方法。
public void init(ServletConfig config)throws ServletException
{
this.config = config;
init();
}
public void init()throws ServletException
{
.....;//覆盖了的无参的init()方法,会在Servlet创建时调用有参的init方法时
也会被调用。
}
HttpServlet类中参数不同的service方法的调用关系。
public void service(HttpServletRequest req,HttpServletResponse res){
.......;
.......;
}
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException
{
HttpServletRequest request;
HttpServletResponse response;
try
{
request = (HttpServletRequest)req;
response = (HttpServletResponse)res;
}
catch(ClassCastException e)
{
throw new ServletException("non-HTTP request or response");
}
service(request, response);
}
- servlet生命周期
- Servlet 生命周期
- Servlet生命周期
- servlet生命周期
- Servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- servlet生命周期!
- Servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- Servlet生命周期
- Servlet生命周期
- servlet生命周期
- servlet生命周期
- servlet生命周期
- 对统计的结果进行分页的存储过程
- Repeater里的点击事件
- 关于登录窗体的问题
- 数据库设计的经典文章
- 高斯消元法
- servlet生命周期
- 曲线拟合
- 定积分
- 如何编译一个内核 - Fedora方式
- 求解方程
- 银行卡卡又丢了
- 算法
- 人生故事之二
- 日期交叉表