Servlet3.1使用@WebServlet注解配置问题记录

来源:互联网 发布:4选1数据选择器电路图 编辑:程序博客网 时间:2024/04/27 16:45
@WebServlet 
该注解用于在Web应用中定义Servlet组件。该注解在一个类上指定并包含声明Servlet的元数据必须指
定注解的urlPatterns或value属性所有其他属性是可选的默认设置(请参考javadoc获取更多细节)。当注
解上唯一属性是url模式时推荐使用value且当也有使用其他属性时使用urlPatterns属性。在同一注解上同
时使用value 和urlPatterns属性是非法的。如果没有指定Servlet名字则默认是全限定类名。被注解的sevlet
必须指定至少一个url模式进行部署。如果同一个Servlet类以不同的名字声明在部署描述符中,必须实例
化一个新的Servlet实例。如果使用不同名字添加的同一个Servlet类使用定义在4-35页的4.4.1节 “编程
式添加和配置Servlet” 的编程式API添加到ServletContext,使用@WebServlet注解声明的属性值必须被
忽略,必须创建一个指定名字的Servlet的新的实例。

@WebServlet注解的类必须继承javax.servlet.http.HttpServlet类。


一. loadOnStartup

注意必须指定注解的urlPatterns或value属性。

package com.markliu.servlets;import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class LoadOnStartUpServlet */@WebServlet( //urlPatterns = { "/startup", "/init" },value = "/startup",loadOnStartup = 1)public class LoadOnStartUpServlet extends HttpServlet {private static final long serialVersionUID = 1L;public LoadOnStartUpServlet() {super();System.out.println("LoadOnStartUpServlet...实例化");}public void init(ServletConfig config) throws ServletException {System.out.println("LoadOnStartUpServlet...初始化");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("LoadOnStartUpServlet...doGet");}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException {System.out.println("LoadOnStartUpServlet...doPost");}}
启动服务器,当loadOnStartup=1时,代表服务一启动就去加载执行实例化这个servlet类。控制台输出结果:



0 0
原创粉丝点击