以前的Servlet都是在web.xml中進行配置,導致web.xml中各個Servlet的映射非常雜亂無章,后期也很難維護
本篇文章將詳細闡述如何使用Servlet 3.0的新特性使用@WebServlet注解進行配置
Let's do it !
首先,使用eclipse或者IntelliJ IDEA創建一個Java Web項目
輸入項目名后點擊next,然后再點擊next
到這一步的時候注意一下:
勾選一下生成web.xml的選項
然后我們點擊finish完成
項目目錄如上圖所示
接下來我們先創建一個JSP頁面,用於訪問Servlet
然后再新建一個包,放置Servlet
下面我們創建一個Servlet,首先選中包,右鍵點擊New->Servlet
然后點擊Servlet,輸入Servlet的名字之后
然后點擊Next
Initialization parameters指的是Servlet初始化時的參數
URL mappings指的是訪問該Servlet時的路徑名
然后我們再次點擊Next
在Interfaces選項中可以Add需要實現的接口,但是我們這次只做演示,所以不需要太多復雜的功能
下面這些復選框可以指定需要實現的方法,一般只需使用doGet和doPost,其他的方法以后深入學習之后再進行使用,然后我們點擊Finish
創建好的Servlet以及項目目錄如下:
其中首部的@WebServlet注解指定的是Servlet的名字以及訪問時候的名字(如果是使用IntelliJ IDEA則需要在web.xml中的webapps的標簽將metadata-complete屬性改為false,並且在@WebServlet的注解中urlPatterns屬性指定為訪問該Servlet的路徑)
我們將IDE生成的注釋刪除掉,整個結構就比較清晰了
前台頁面如果是使用Post方式提交則會訪問doPost方法,如果是使用Get方式提交則會訪問doGet方法
然后我們在doGet方法中寫一小段代碼進行測試
1 package com.cnblogs.controller; 2
3 import java.io.IOException; 4 import java.io.PrintWriter; 5
6 import javax.servlet.ServletException; 7 import javax.servlet.annotation.WebServlet; 8 import javax.servlet.http.HttpServlet; 9 import javax.servlet.http.HttpServletRequest; 10 import javax.servlet.http.HttpServletResponse; 11
12 @WebServlet("/HelloServlet") 13 public class HelloServlet extends HttpServlet { 14 private static final long serialVersionUID = 1L; 15
16 public HelloServlet() { 17 super(); 18 } 19
20 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 21 PrintWriter out = response.getWriter(); 22 out.println("Hello Servlet"); 23 } 24
25 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 26
27 } 28
29 }
然后我們在JSP中寫一個超鏈接直接訪問Servlet
1 <%@ page language="java" contentType="text/html; charset=UTF-8"
2 pageEncoding="UTF-8"%>
3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4 <html>
5 <head>
6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7 <title>首頁</title>
8 </head>
9 <body>
10 <a href="HelloServlet">進入HelloServlet</a>
11 </body>
12 </html>
啟動項目
點擊超鏈接
訪問成功
講解就到這里,如果您有好的建議請在評論區提出,謝謝指正!