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

匿名 (未验证) 提交于 2019-12-03 00:17:01

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

然后点击Next

URL mappings指的是访问该Servlet时的路径名

然后我们再次点击Next

下面这些复选框可以指定需要实现的方法,一般只需使用doGet和doPost,其他的方法以后深入学习之后再进行使用,然后我们点击Finish

创建好的Servlet以及项目目录如下:

如果是使用IntelliJ IDEA则需要在web.xml中的webapps的标签将metadata-complete属性改为false,并且在@WebServlet的注解中urlPatterns属性为访问该Servlet的路径

我们将IDE生成的注释删除掉,整个结构就比较清晰了

然后我们在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>

启动项目

点击超链接

讲解就到这里,如果您有好的建议请在评论区提出,谢谢指正!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!