• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
戈瑾
博客园    首页    新随笔    联系   管理    订阅  订阅
Servlet的创建和配置

Servlet的创建

1、实现 Servlet 接口

因为是实现 Servlet 接口,所以我们需要实现接口里的方法。

 1 //Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程
 2 //一次创建,到处服务
 3 //一个Servlet只会有一个对象,服务所有的请求
 4 /*
 5  * 1.实例化(使用构造方法创建对象)
 6  * 2.初始化  执行init方法
 7  * 3.服务     执行service方法
 8  * 4.销毁    执行destroy方法
 9  */
10 public class ServletDemo1 implements Servlet {
11 
12     //public ServletDemo1(){}
13 
14      //生命周期方法:当Servlet第一次被创建对象时执行该方法,该方法在整个生命周期中只执行一次
15     public void init(ServletConfig arg0) throws ServletException {
16                 System.out.println("=======init=========");
17         }
18 
19     //生命周期方法:对客户端响应的方法,该方法会被执行多次,每次请求该servlet都会执行该方法
20     public void service(ServletRequest arg0, ServletResponse arg1)
21             throws ServletException, IOException {
22         System.out.println("hehe");
23 
24     }
25 
26     //生命周期方法:当Servlet被销毁时执行该方法
27     public void destroy() {
28         System.out.println("******destroy**********");
29     }
30 //当停止tomcat时也就销毁的servlet。
31     public ServletConfig getServletConfig() {
32 
33         return null;
34     }
35 
36     public String getServletInfo() {
37 
38         return null;
39     }
40 }

 

2、继承 GenericServlet 类

它实现了 Servlet 接口除了 service 的方法,不过这种方法我们极少用。

1 public class ServletDemo2 extends GenericServlet {
2 
3     @Override
4     public void service(ServletRequest arg0, ServletResponse arg1)
5             throws ServletException, IOException {
6         System.out.println("heihei");
7 
8     }
9 }

 

3、继承 HttpServlet 方法

 1 import java.io.IOException;
 2  
 3 import javax.servlet.ServletException;
 4 import javax.servlet.http.HttpServlet;
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.http.HttpServletResponse;
 7  
 8 public class Servlet5 extends HttpServlet {
 9     @Override
10     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
11  
12         doPost(req, resp);
13     }
14  
15     @Override
16     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
17         resp.getWriter().write("hello,servlet5...");
18     }

Servlet配置

1、 传统web.xml文档中部署servlet

1 <servlet>
2 <servlet-name>LifeServlet</servlet-name>//创建的servlet名字
3  <servlet-class>servlet.LifeServlet</servlet-class>//完整的包名+类名
4  </servlet>
5 <servlet-mapping>//映射配置
6  <servlet-name>LifeServlet</servlet-name>//和上面的名字保持一致
7  <url-pattern>/LifeCycle</url-pattern>//servlet的映射路径
8  </servlet-mapping>

注意:如果有form表单和servlet有关联,<url-pattern>后面应填入与action参数相同,例如

<form action=”LifeCycle” method=”post”>

则<url-pattern>/LifeCycle</url-pattern>=


 

2、 注解方式部署servlet

1 @WebServlet("/LifeServlet")
2 public class LifeServlet extends HttpServlet{}

从浏览器发送请求时,会直接寻找@WebServlet后对应的url地址,调用并执行相应的servlet

posted on 2020-12-02 21:21  戈瑾  阅读(199)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3