@webservlet註解

@WebServlet 註解用於將一個類聲明爲 Servlet

該註解將會在部署時被容器處理,容器將根據具體的屬性配置將相應的類部署爲 Servlet。

該註解具有下表給出的一些常用屬性(以下所有屬性均爲可選屬性,但是 vlaue 或者 urlPatterns 通常是必需的,且二者不能共存,如果同時指定,通常是忽略 value 的取值):

屬性名 類型 描述
name String 指定 Servlet 的 name 屬性, 等價於 。 如果沒有顯式指定, 則該 Servlet 的取值即爲類的全限定名。
value String[] 該屬性等價於 urlPatterns 屬性。 兩個屬性不能同時使用。
urlPatterns String[] 指定一組 Servlet 的 URL 匹配模式。 等價於 標籤。
loadOnStartup int 指定 Servlet 的加載順序, 等價於 標籤。
initParams WebInitParam[] 指定一組 Servlet 初始化參數, 等價於 標籤。
asyncSupported boolean 聲明 Servlet 是否支持異步操作模式, 等價於 標籤。
description String 該 Servlet 的描述信息, 等價於 標籤。
displayName String 該 Servlet 的顯示名,通常配合工具使用, 等價於 標籤。

案例:

	@WebServlet(
	urlPatterns = {"/simple" }, 
	asyncSupported = true, 
	loadOnStartup = -1, 
	name = "SimpleServlet", 
	displayName = "ss", 
	initParams = {@WebInitParam(name = "username", value = "tom") })

等價於:

<servlet>
	<display-name>ss</display-name>
	<servlet-name>SimpleServlet</servlet-name>
	<servlet-class>footmark.servlet.SimpleServlet</servlet-class>	
	<init-param>
		<param-name>username</param-name>
		<param-value>tom</param-value>
	</init-param>
	<load-on-startup>-1</load-on-startup>
	<async-supported>true</async-supported>
</servlet>

代碼:

@WebServlet(urlPatterns = "/Test",initParams = {@WebInitParam(name="username",value="king"),@WebInitParam(name="password",value="king")})
public class Test extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Test() {
        super();
        // TODO Auto-generated constructor stub
    }
    @Override
    public void init(ServletConfig config) throws ServletException {
    	System.out.println(config.getInitParameter("username"));
    	System.out.println(config.getInitParameter("password"));
    }
	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

結果:

king
king
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章