使用IDEA创建Servlet项目后,初始代码如下:
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;
import java.io.PrintWriter;
@WebServlet(name = "TestServlet01")
public class TestServlet01 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print("doPost方法执行");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print("doGet方法执行");
}
}
访问下面的url时,出现报错:

HTTP状态 404 - 未找到
类型 状态报告
消息 请求的资源[/Servlet01_war_exploded/TestServlet01]不可用
描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
Apache Tomcat/9.0.96
这个地方报错主要是因为下面的这个路径,访问的TestServlet01有误
http://localhost:8080/Servlet01_war_exploded/TestServlet01
我们找到这个servlet,添加上相应的value值
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;
import java.io.PrintWriter;
@WebServlet(name = "TestServlet01",value = "/test01")
public class TestServlet01 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print("doPost方法执行");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print("doGet方法执行");
}
}
我们设置的value值,这个时候访问地址按照value值访问,
http://localhost:8080/Servlet01_war_exploded/test01
效果如下:

解决了。