zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    虚拟机VirtualBox 共享挂载问题:mount: /mnt/xxx: wrong fs type, bad option, bad superblock on xxx
    git 设置和取消代理
    (转载)数据库连接池到底应该设多大?这篇文章可能会颠覆你的认知
    关于golang中IO相关的Buffer类浅析
    (转)golang获取当前时间、时间戳和时间字符串及它们之间的相互转换
    FFmpeg常用命令
    go cmd nohup 的坑
    Nginx配置详解(转)
    记录一次go性能调试的过程
    github徽标引入
  • 原文地址:https://www.cnblogs.com/nickup/p/9762231.html
Copyright © 2011-2022 走看看