Servlet

Servlet 快速入门

Servlet 执行流程

  1. Servlet 对象由web服务器创建,Servlet方法由web服务器调用

Servlet 生命周期

  • 对象的生命周期是指一个对象从创建到被销毁的整个过程

  • Servlet 运行在Servlet容器(web服务器中),其生命周期由容器来管理,分为四个阶段
  1. 加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建 Servlet对象

Java
@WebServlet(urlPatterns="/demo", loadOnStartup=1)

//1.
负整数,第一次访问时创建对象
//2. 0或正整数:服务器启动时创建Servlet对象,数字越小优先级越高
//3. 默认值是-1

  1. 初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化工作,该方法只调用一次
  1. 请求处理:每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理。
  1. 服务终止:当需要释放内存或容器关闭时,容器就会调用Servlet实例的destory()方法完成资源的释放。在destory()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收

Servlet 方法介绍

  • 初始化方法,在Servlet被创建时执行,只执行一次

Java
void init(ServletConfig config)

  • 提供服务方法,每次Servlet被访问,都会调用该方法

Java
void service(ServletRequest req, ServletResponse res)

  • 销毁方法,当Servlet被销毁时,调用该方法。在内存释放或服务器关闭时销毁Servlet

Java
void destory()

  • 获取ServletConfig对象

Java
ServletConfig getServletConfig()

  • 获取Servlet信息

Java
String getServletInfo()

体系结构

  1. HttpServlet中为什么要根据请求方式的不同,调用不同方法?

GET和POST请求方式不一样

  1. 如何调用?

Java
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    //
根据请求方式的不同,进行分别处理

    HttpServletRequest request = (HttpServletRequest) servletRequest;
    // 1.获取请求方式
    String method = request.getMethod();

    // 2.判断
    if ("GET".equals(method)) {
        // GET请求处理
    }
    else if ("POST".equals(method)) {
        // POST请求处理
    }
}

Servlet urlPattern配置

  • Servlet 要想被访问,必须配置(urlPattern)
  1. 一个Servlet,可以配置多个 urlPattern

Java
@WebServlet(urlPattern= {"/demo1", "/demo2"})

  1. urlPattern 配置规则
  1. 精确匹配(优先级高于目录匹配)

Java
@WebServlet("/user/select")

  1. 目录匹配

Java
@WebServlet("/user/*")

  1. 扩展名匹配

Java
@WebServlet("*.do")
// 访问路径 :localhost/web-demo/aaa.do
// localhost/web-demo/bbb.do

  1. 任意匹配

Java
@WebServlet("/")
@WebServlet("/*")

XML 编写Servlet

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值