標籤:override 註解 web 初始化 exception ado 請求 ati except
今天無意之間看到了一個註解,這個註解就是@WebServlet,@WebServlet 用於將一個類聲明為 Servlet,該註解將會在部署時被容器處理,容器將根據具體的屬性配置將相應的類部署為 Servlet。該註解具有下表給出的一些常用屬性(以下所有屬性均為可選屬性,但是 vlaue 或者urlPatterns 通常是必需的,且二者不能共存,如果同時指定,通常是忽略 value 的取值)完成了一個使用註解描述的Servlet程式開發。
[email protected]註解常用屬性:
2.開發第一個案例
2.1開發環境MyEclipse+Tomact
1.建立web項目這裡需要注意的就是建立web項目的時候選擇JavaEE6
2.建立Servlet
package cn.servlet;import java.io.IOException;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.annotation.WebInitParam;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 屬性name用了描述servlet的 * Servlet的訪問URL是Servlet的必選屬性,可以選擇使用urlPatterns或者value定義 * 屬性urlPatterns定義訪問的url * loadOnStartup=1容器初始化就執行 * @author hyj * */@WebServlet(name="userservlet",urlPatterns="/userservlet",loadOnStartup=1,initParams={@WebInitParam(name="username",value="張三")})public class UserServlet extends HttpServlet { @Override public void init(ServletConfig config) throws ServletException { //擷取初始值username System.out.println(config.getInitParameter("username")); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("doget方法執行"); }}
3.啟動tomact進行測試
測試成功在容器初始化的時候擷取初始化的username值。
load-on-startup元素標記容器是否在啟動的時候就載入這個servlet(執行個體化並調用其init()方法)。在這裡我配置的值是1,表示在容器初始化的時候就去執行個體化這個servlet。
3.2試試在瀏覽器中請求該servlet:我們從註解中可以看到返回url是userservlet
無意之間發現的Servlet3.0新特性@WebServlet