<code id="qf3hh"></code>
  • <menuitem id="qf3hh"></menuitem>
  • <strike id="qf3hh"><label id="qf3hh"></label></strike>

  • ?
      開發(fā)技術(shù) / Technology

      Servlet3.0-使用注解定義Servlet

      日期:2015年1月29日  作者:zhjw  來(lái)源:逆火科技    點(diǎn)擊:936

      我使用的開發(fā)環(huán)境:MyEclipse10+Tomcat7+JDK6。

        開發(fā)Servlet3的程序需要一定的環(huán)境支持。Servlet3是Java EE6規(guī)范的一部分,MyEclipse10和Tomcat7都提供了對(duì)Java EE6規(guī)范的支持。

        Tomcat需要Tomcat7才支持Java EE6,Tomcat7需要使用JDK6。

        如果使用的MyEclipse的版本較低,沒有提供Java EE6的支持,可以到Oracle官方網(wǎng)站下載JavaEE6的SDK進(jìn)行安裝,或者從Tomcat7的解壓目錄下的lib文件夾中把所有jar文件引用到我們的項(xiàng)目路徑下。(例如:先建一個(gè)Java EE5的web項(xiàng)目,然后把Tomcat7的解壓目錄下的lib文件夾中的所有jar引入到項(xiàng)目中,再刪除Java EE5的庫(kù)引用,最后從Tomcat7的解壓目錄下的conf文件夾下把web.xml模板拷貝到項(xiàng)目,替換掉原來(lái)的web.xml)。

        Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中進(jìn)行Servlet的部署描述,簡(jiǎn)化開發(fā)流程。

        1、新建一個(gè)Web Project,直接選擇Java EE6.0。

        2、看一下項(xiàng)目包視圖。

        3、Java EE6的庫(kù)文件

        4、web.xml文件

      1
      2
      3
      4
      5
      6
      7
      8
      <?xml version="1.0" encoding="UTF-8"?>
      <web-app version="3.0"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         
      </web-app>

        注意version="3.0"http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd。

        5、新建一個(gè)Servlet。寫上Servlet的Name,然后Next。

        6、不需要在web.xml文件中生成Servlet的相關(guān)信息。Finish。

        7、這樣建好一個(gè)Servlet后,在web.xml文件中沒有任何關(guān)于這個(gè)Servlet的描述信息。

       

      復(fù)制代碼
      <?xml version="1.0" encoding="UTF-8"?>
      <web-app version="3.0" 
          xmlns="http://java.sun.com/xml/ns/javaee" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        
      </web-app>
      復(fù)制代碼

       

       

       

        8、使用注解描述Servlet。 

       

      復(fù)制代碼
      package com.cndatacom.servlet;
      
      import java.io.IOException;
      import java.io.PrintWriter;
      
      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
       */
      
      /**
       * 注解WebServlet用來(lái)描述一個(gè)Servlet
       * 屬性name描述Servlet的名字,可選
       * 屬性u(píng)rlPatterns定義訪問的URL,或者使用屬性value定義訪問的URL.(定義訪問的URL是必選屬性)
       */
      @WebServlet(name="AnnotationServlet",urlPatterns="/AnnotationServlet")
      public class AnnotationServlet extends HttpServlet {
      
          public void doGet(HttpServletRequest request, HttpServletResponse response)
                  throws ServletException, IOException {
              
              response.setCharacterEncoding("utf-8");
              response.setContentType("text/html;charset=utf-8");
              PrintWriter out = response.getWriter();
              out.println("<!DOCTYPE HTML>");
              out.println("<HTML>");
              out.println("      <HEAD>");
              out.println("      <TITLE>A Servlet</TITLE>");
              out.println("      <meta http-equiv="content-type" " + "content="text/html; charset=utf-8">");
              out.println("   </HEAD>");
              out.println("       <BODY>");
              out.println("             Hello AnnotationServlet.");
              out.println("     </BODY>");
              out.println("</HTML>");
              out.flush();
              out.close();
          }
      
      }
      復(fù)制代碼

       

       

       

        9、把項(xiàng)目發(fā)布到Tomcat7,啟動(dòng)Tomcat7。在瀏覽器訪問:http://localhost:8080/Servlet3/AnnotationServlet

        完成了一個(gè)使用注解描述的Servlet程序開發(fā)。


        使用@WebServlet將一個(gè)繼承于javax.servlet.http.HttpServlet的類定義為Servlet組件。

        @WebServlet有很多的屬性:

        asyncSupported:聲明Servlet是否支持異步操作模式。

        description:    Servlet的描述。

        displayName:     Servlet的顯示名稱。

        initParams:        Servlet的init參數(shù)。

        name:        Servlet的名稱。

        urlPatterns:    Servlet的訪問URL。

        value:          Servlet的訪問URL。

        Servlet的訪問URL是Servlet的必選屬性,可以選擇使用urlPatterns或者value定義。

        像上面的AnnotationServlet可以描述成@WebServlet(name="AnnotationServlet",value="/AnnotationServlet")。

        也定義多個(gè)URL訪問:

        如@WebServlet(name="AnnotationServlet",urlPatterns={"/AnnotationServlet","/AnnotationServlet2"})

        或者@WebServlet(name="AnnotationServlet",value={"/AnnotationServlet","/AnnotationServlet2"})

      国产一级婬片AAA毛,无码中文精品视视在线观看,欧美日韩a人成v在线动漫,五月丁香青草久久
      <code id="qf3hh"></code>
    • <menuitem id="qf3hh"></menuitem>
    • <strike id="qf3hh"><label id="qf3hh"></label></strike>