Servlet 3.0以上版本使用@WebServlet注解配置映射


以前的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>

啟動項目

 

點擊超鏈接

 

 訪問成功

 

 

 

講解就到這里,如果您有好的建議請在評論區提出,謝謝指正!

 


免責聲明!

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



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