运行 STS(eclipse) 上的 servlet 通过 Tomcat 时映射错误(我猜)
Mapping error (I guess) while running a servlet on STS(eclipse) through Tomcat
我刚刚安装了“Spring Tool Suite 4”和“Apache Tomcat 10”以了解 Web 应用程序。按照一些说明,我创建了一个新的动态 Web 项目(名为 'hello')和一个新的 servlet(名为 'HelloServlet')。
HelloServlet 就像
package practice;
/**
* Servlet implementation class HelloServlet
*/
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("<h1>Hello Servlet</h1>");
}
}
当 HelloServlet 在服务器上 运行 时,它指向“http://localhost:8080/hello/WEB-INF/classes/practice/HelloServlet.java”,而不是“http://localhost: 8080/hello/HelloServlet" 并返回 404 错误。
我发现创建新 servlet 时不会自动添加“@WebServlet”,这与我遵循的指令不同。我添加了 @WebServlet("/HelloServlet") 然后 Tomcat 服务器在启动服务器时返回错误。
需要一些额外的 STS 和 Tomcat 配置吗?
- 当我尝试访问“http://localhost:8080/hello/HelloServlet”时,它运行良好。我想知道为什么 STS 不会自动定向到“http://localhost:8080/hello/HelloServlet”!
这是 bug 577703,已在即将发布的 3 月版本中修复。
我刚刚安装了“Spring Tool Suite 4”和“Apache Tomcat 10”以了解 Web 应用程序。按照一些说明,我创建了一个新的动态 Web 项目(名为 'hello')和一个新的 servlet(名为 'HelloServlet')。
HelloServlet 就像
package practice;
/**
* Servlet implementation class HelloServlet
*/
public class HelloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("<h1>Hello Servlet</h1>");
}
}
当 HelloServlet 在服务器上 运行 时,它指向“http://localhost:8080/hello/WEB-INF/classes/practice/HelloServlet.java”,而不是“http://localhost: 8080/hello/HelloServlet" 并返回 404 错误。
我发现创建新 servlet 时不会自动添加“@WebServlet”,这与我遵循的指令不同。我添加了 @WebServlet("/HelloServlet") 然后 Tomcat 服务器在启动服务器时返回错误。
需要一些额外的 STS 和 Tomcat 配置吗?
- 当我尝试访问“http://localhost:8080/hello/HelloServlet”时,它运行良好。我想知道为什么 STS 不会自动定向到“http://localhost:8080/hello/HelloServlet”!
这是 bug 577703,已在即将发布的 3 月版本中修复。