执行流程
- 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
文件无法再访问到,他会覆盖掉原来默认的"/"
路径,这个默认的会对静态页面进行操作,可以让其显示出来,如果覆盖了,就没有了之前的能力,所以尽量不要用任意匹配