@WebServlet注解配置问题记录

@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属性。
[java] view plain copy
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类。
展开阅读全文

没有更多推荐了,返回首页