JSP&Servlet學習筆記(2)HelloServlet解析

來源:互聯網
上載者:User

註:學習此篇教程之前請確定完成Servlet開發環境的配置。

一、檔案組織

首先看一下之前在Eclipse中建立的Dynamic Web Project目錄結構:


重要的目錄說明:
WEB-INF:此目錄中存在的資源項目不會被列入應用程式根目錄直接存取的項。
WEB-INF/web.xml:部署描述檔案(需要手工建立)。
WEB-INF/classes:放置自訂的類(.class),必須包括包結構。
WEB-INF/lib:放置應用程式用到的JAR檔案。

二、部署
1)使用@@WebServlet
在Servlet3.0中,可以使用標註(Annotation)來告知容器哪些Servlet會提供服務以及額外資訊。
例如
@WebServlet("/Hello.view")
public class HelloServlet extends HttpServlet
只要在Servlet上設定@WebServlet,容器就會自動讀取當中的資訊。上面的例子告訴容器,如果請求的URL是
"/hello.view",則由HelloServlet的執行個體來提供服務。

2)使用web.xml
使用web.xml是更加通用的部署方法,會比較麻煩一些。
web.xml中的設定會覆蓋Servlet中的標註設定。
還是基於之前的例子,我們用web.xml來部署一下。

在WEB-INF中建立web.xml,敲入下面的代碼:

<?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"><servlet><servlet-name>HelloServlet</servlet-name><servlet-class>HelloServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/Hello</url-pattern></servlet-mapping></web-app>

解釋一下幾個重要的標籤:
<servlet>元素定義了一個servlet執行個體。<servlet>元素必須包含了<servlet-name>和<servlet-class>兩個子項目,也可能包括其他初始化參數。

 <servlet-name>元素定義了servlet執行個體唯一的名字。每一個servlet執行個體必須有唯一的名字,這個名字僅用來配合對此執行個體的URL映射,所以不一定要和servlet類或servlet的URL一致。

 <servlet-class>元素告訴servlet容器如何構建一個servlet類的執行個體。<servlet-class>元素包含兩部分,包含servlet的package名和servlet類的類名。

<servlet-mapping>用於定義映射。

<load-on-startup>1</load-on-startup>表示在應用啟動的時候就將Servlet類載入。

設定完成之後,我們就只能通過“http://localhost:8080/ServletTest1/Hello”來訪問Servlet而不是之前的Hello.view,因為@WebServlet被覆蓋掉了。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.