1.Servlet接口一共有5个方法:
(1) void init(ServletConfig config); (2) ServletConfig getServletConfig(); (3) void service(ServletRequest req, ServletResponse res) (4) String getServletInfo(); (5) void destroy(); 其中,(1)(3)(5)是比较常用到的。 2.在Tomcat容器第一次接收某个请求时,Tomcat容器会调用请求对应的Servlet实现类的构造方法、init方法。 为什么有了构造方法,还要一个init方法呢?因为init方法可以传参ServletConfig,初始化Servlet。 构造方法、init方法,tomcat容器只执行一次。 service方法,则是每次收到请求时,Tomcat容器都调用一次。 destroy方法是在当前Servlet所在的Web应用从容器里卸载时调用,只执行一次。 3.load-on-startup参数 load-on-startup参数可以指定Servlet类被实例化的时机,若为负数,则代表Servlet第一次被访问时实例化。若为正数,代表当前Web项目被Servlet容器加载时实例化,正数数字越小,越先实例化,为0时第一个。如果多个Servlet的load-on-startup参数一样,也不会报错。 4.关于ServletMapping 同一个Servlet类,可以被映射到多个url上,但是一个url只能对应一个Servlet类。关于匹配的顺序问题,这个可以查资料。(第一是精准匹配,然后是最长路径匹配,再才是扩展匹配) 5.Servlet映射的url,也可以使用*通配符,但是只允许2种格式。 第一种:(*.扩展名) 第二种:(以正斜杠开头(/)并且以“ /* ”结尾)