之前学习Servlet的过程中都是在web.xml中对定义的servlet类进行配置的
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!--注册servlet-->
<servlet>
<!--servlet名称,当前xml中唯一-->
<servlet-name>mhs</servlet-name>
<!--servlet实现类的全限定类名-->
<servlet-class>controller.MyHttpServlet</servlet-class>
</servlet>
<!--给注册的servlet添加映射路径-->
<servlet-mapping>
<!--已经注册的servlet名称。注意:必须与注册的名称一致-->
<servlet-name>mhs</servlet-name>
<!--访问路径。要求:必须/开头-->
<url-pattern>/MyHttpServlet</url-pattern>
</servlet-mapping>
</web-app>
现在我们使用注解开发方式,省去了web.xml中servlet相关配置
注解描述:@WebServlet(urlPatterns = "/XXX")
package controller;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @Author weihuanwen
* @Date 2019/7/21 11:08
* @Version 1.0
*/
@WebServlet(urlPatterns = "/mhsba")
public class MyHttpServletByAnnotation extends HttpServlet {
/**
* 重写doGet
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("请求成功!");
}
/**
* 重写doPost
* @param req
* @param resp
* @throws ServletException
* @throws IOException
*/
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
请求路径为:http://localhost:8080/sr/mhsba
前端界面如下:
<%--
Created by IntelliJ IDEA.
User: WHW
Date: 2019/7/21
Time: 10:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<fieldset>
<button><a href="http://localhost:8080/sr/mhsba">注解开发</a></button>
</fieldset>
</body>
</html>
测试页面展示:
点击按钮测试,控制台输出如下: