無意之間發現的Servlet3.0新特性@WebServlet


      今天無意之間看到了一個注解,這個注解就是@WebServlet,@WebServlet 用於將一個類聲明為 Servlet,該注解將會在部署時被容器處理,容器將根據具體的屬性配置將相應的類部署為 Servlet。該注解具有下表給出的一些常用屬性(以下所有屬性均為可選屬性,但是 vlaue 或者urlPatterns 通常是必需的,且二者不能共存,如果同時指定,通常是忽略 value 的取值)完成了一個使用注解描述的Servlet程序開發。

      1.@WebSerlvet注解常用屬性:

     

     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

   

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM