Servlet执行流程和生命周期和其实现类的五个方法和Servlet的注解参数urlPattern

文章详细阐述了web项目部署到Tomcat后,如何通过URL访问Servlet,包括Servlet的生命周期(init,service,destroy方法)以及getServletConfig()方法的工作原理。同时,讨论了urlPattern的配置,强调了精确匹配与任意匹配的策略及其对静态页面的影响。
摘要由CSDN通过智能技术生成

执行流程

在这里插入图片描述

  • web项目发到tomcat上
  • 然后,就可以在网页中输入指定的url进行请求访问
  • tomcat创建了Servlet对象,然后其也调用了Servlet对象中的service方法,对网页的请求进行响应,呈现相应的内容

其中的url中每一段路径的解释都在上面的图中显示了

生命周期

在这里插入图片描述

  • 启动TomCat后,然后再创建Servlet对象,TomCat就会自动的调用init方法,通俗点就是开启TomCatrun之后默认在网上输入当前Servlet的注解路径之后,才会显示init,而加了上图中的注解之后就会在运行了TomCat(即在启动TomCat时就创建了Servlet对象,只是你看不到)之后,立即执行init
  • Service方法再网上输入完当前Servlet的注解的地址之后就会调用
  • destroy()方法只有在加载过init资源的时候(即在网页上输入成功了地址)才会在后面关闭TomCat时进行关闭,当然之前的方法只能强行关闭,所以不显示,于是有了如下方法:先点击箭头所指,再在当前项目路径下输入
    mvn tomcat7:run,然后就可以在网页上输入地址啦
    在这里插入图片描述

五个方法:

在这里插入图片描述

getServletConfig()方法会从返回一个ServletConfig的对象,而这个对象从init传递的参数中获得,但是在getServletConfig()方法中直接写返回值时,因为init方法的参数类型的作用范围只是在他的方法之内,所以,需要在实现类中先创建一个ServletConfig 对象用来接收init传进来的参数,如下:

package com.ittomcatpojo;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet("/demo01")
public class ServletImple implements Servlet {

	//先创建一个ServletConfig对象,
	//用来接收等会儿init的ServletConfig对象参数
    private ServletConfig servletConfig;
    
	//用.this来将参数进行传递给实现类中的ServletConfig对象
    public void init(ServletConfig servletConfig) throws ServletException {
        this.servletConfig=servletConfig;
        System.out.println("init方法执行");
    }

    public ServletConfig getServletConfig() {
    
		//返回上面传递完成后的ServletConfig对象
        return  servletConfig;
    }

    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
            System.out.println("真正的的激活啦!!!!!!!");
    }

    public String getServletInfo() {
        return null;
    }

    public void destroy() {

    }
}

urlPattern配置:

它的配置可有很多,多名,连环目录名,加*名
在这里插入图片描述
在这里插入图片描述

  • 目录匹配是,后面*位置的随便写
  • 任意匹配是,随便写,多层目录都可以
  • 几个路径方式冲突时,越精确越好,择优选择
  • 任意匹配:会导致静态页面访问不到,如a.html文件无法再访问到,他会覆盖掉原来默认的"/"路径,这个默认的会对静态页面进行操作,可以让其显示出来,如果覆盖了,就没有了之前的能力,所以尽量不要用任意匹配
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值