Servlet的生命周期

Posted nickup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet的生命周期相关的知识,希望对你有一定的参考价值。

1.创建Servlet对象,通过服务器反射机制创建Servlet对象,第一次请

求时才会创建。(默认)

2,调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次;

3,响应请求,调用service()或者是doGet(),doPost()方法来处理请求,这些方法是运行的在多线程状态下的。

4,  在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象。

测试案例:

 1 package com.damu.servlet;
 2 
 3 import com.damu.dao.UsersDAO;
 4 import com.damu.entity.Users;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.annotation.WebServlet;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 import java.io.IOException;
12 import java.util.Date;
13 
14 @WebServlet("/addusers")
15 public class UsersAddServlet extends HttpServlet {
16 
17     private UsersDAO usersDAO = new UsersDAO();
18     @Override
19     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
20         this.doPost(req, resp);
21     }
22 
23     @Override
24     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
25         // 获取要添加的用户数据
26         String username = req.getParameter("username");
27         String userpass = req.getParameter("userpass");
28         String nickname = req.getParameter("nickname");
29         String age = req.getParameter("age");
30         String gender = req.getParameter("gender");
31         String email = req.getParameter("email");
32         String phone = req.getParameter("phone");
33 
34         // 根据用户数据创建一个用户对象
35         Users user = new Users(username, userpass, nickname, Integer.parseInt(age), gender, email, phone, new Date(), new Date(), new Date(), 0);
36 
37         // 将用户对象添加到数据库中
38         user = usersDAO.addUser(user);
39 
40         // 查看刚新增的用户数据
41         resp.sendRedirect("/detail?id=" + user.getId());
42     }
43 }

 

以上是关于Servlet的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Servlet的生命周期

关于片段生命周期

servlet和filter的区别

调用 replace() 时片段的生命周期是啥?

在不存在的片段上调用片段生命周期和 onCreate 的问题

Android片段生命周期:onResume调用了两次