javaWeb之Servlet详解

Servlet详解

1.servlet简单介绍

  servlet是javaweb三大组件之一,他与filter  ,listener  共同组成了javaweb的三大组件,Servlet(Server Applet)是Java Servlet的简称,解释为运行在服务器端的java小程序,

  作用:用来接收客户端的请求,处理业务逻辑,响应动态内容

2.使用

  创建一个java类,实现Servlet接口,重写抽象方法

 1 public class MyServlet implements Servlet {
 2     /**
 3      * Servlet初始化的时候执行
 4      */
 5     @Override
 6     public void init(ServletConfig config) throws ServletException {
 7         // TODO Auto-generated method stub
 8         
 9     }
10     /**
11      *请求来的时候执行
12      */
13     @Override
14     public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
15         // TODO Auto-generated method stub
16         
17     }
18     /**
19      * Servlet销毁的时候执行
20      */
21     @Override
22     public void destroy() {
23         // TODO Auto-generated method stub
24         
25     }
26 
27     @Override
28     public String getServletInfo() {
29         // TODO Auto-generated method stub
30         return null;
31     }
32     @Override
33     public ServletConfig getServletConfig() {
34         // TODO Auto-generated method stub
35         return null;
36     }
37 
38 }

3.Servlet的生命周期(Servlet对象是单例的)

  创建:默认情况下,当请求来的时候,服务器会检查该类的对象有没有被创建,如果没有创建,服务器会反射创建该类的对象,并且调用init方法完成初始化的操作,然后调用serivce 方法完成相应的业务逻辑

  服务:请求来一次就服务一次

  销毁:当服务器正常关闭或者项目卸载的时候会销毁该Serlvet对象

 1 /**
 2      * Servlet初始化的时候执行
 3      * 执行时机:默认情况下,当你去请求服务器的时候,服务器会检查有没有该Servlet对象,
 4      *             如果没有,就会反射创建该类对象,并执行init方法完成初始化操作,紧接着调用
 5      *             service方法完成服务
 6      * 执行次数:1次
 7      */
 8     @Override
 9     public void init(ServletConfig config) throws ServletException {
10         // TODO Auto-generated method stub
11         
12     }
13     /**
14      *服务:
15      *执行时机:请求一次执行一次
16      *执行次数:多次
17      *
18      */
19     @Override
20     public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
21         // TODO Auto-generated method stub
22         
23     }
24     /**
25      *销毁
26      *执行时机:服务器关闭或者是项目卸载的时候,会调用该方法
27      *执行次数:1次
28      */
29     @Override
30     public void destroy() {
31         // TODO Auto-generated method stub
32         
33     }

4.Servlet在web.xml中的配置详解

 

图解配置文件执行流程

 

 

url-pattern的写法
  1.精确匹配写法 必须/打头 后面自定义 /aa/bb /aa/ccc/dddd 
  2.目录匹配写法 必须/打头 中间自定义 以/*结尾 /aa/* /aaa/dd/*
  3.后缀名匹配写法 必须*.打头 *.jsp *.action *.do

load-on-startup配置项
  修改servlet的默认初始化时机 servlet将会在服务器启动的完成加载

  <load-on-startup>正整数</load-on-startup>
  正整数:如果值越小优先级越高

defaultservlet:
  路径 /
  匹配上所有的资源 但是优先级最低

  你不管的他管
  你管不了的它管

 

 5.Servlet运行流程

 

转载于:https://www.cnblogs.com/xuzhaocai/p/8395413.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值