注釋表示元數(shù)據(jù)。 如果使用注釋,則不需要部署描述符(web.xml文件)。但是應(yīng)該在tomcat7以上版本中部署運(yùn)行,tomcat7之前的版本是不支持注解的。 @WebServlet注釋用于將servlet映射到指定的名稱,這是Servlet3的特性,所以在創(chuàng)建項目時要指定Servlet的版本為3.0以上。
在前面幾個項目示例中,我們已經(jīng)使用過了 @WebServlet注釋,如:
這個示例中演示如何使用帶有注釋的servlet。
打開Eclipse,創(chuàng)建一個動態(tài)Web項目:ServletWithAnnotation,其完整的目錄結(jié)構(gòu)如下所示 -

注意:創(chuàng)建項目選擇Dynamic web module version的版本是:3.0以上。
以下是這個項目中的幾個主要的代碼文件。
文件:index.html -
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Servlet注解實現(xiàn)模式</title>
</head>
<body>
<div style="text-align:center;">
<a href="Simple">查看Servlet注解示例</a>
</div>
</body>
</html>
文件:Sample.java -
package com.yiibai;
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 implementation class Simple
*/
@WebServlet("/Simple")
public class Simple extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.print("<html><body>");
out.print("<div style='text-align:center;'><h3>Hello Servlet</h3>");
out.print("<p>這是使用Servlet注解實現(xiàn)模式URL映射的配置示例</p></div>");
out.print("</body></html>");
}
}
注意: 不需要配置
web.xml
在編寫上面代碼后,部署此Web應(yīng)用程序(在項目名稱上點(diǎn)擊右鍵->”Run On Server…”),打開瀏覽器訪問URL: http://localhost:8080/ServletWithAnnotation/ ,如果沒有錯誤,應(yīng)該會看到以下結(jié)果 -

點(diǎn)擊鏈接,顯示結(jié)果如下 -
