以前的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>
启动项目
点击超链接
访问成功
讲解就到这里,如果您有好的建议请在评论区提出,谢谢指正!