现在我想了几个小时,但没有作品在这里需要一些帮助!
我试图在qazxsw POI运行一个Java Web应用程序
当我去http://localhost:8080/hello-world
我看到服务器正在运行。但是/你好世界没有找到http://localhost:8080。
项目结构:
HTTP Status 404 - Not Found
Veb.hml:
MainServlet:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>controller.MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
我在做什么错在这里?为什么我看不到日志消息: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;
@WebServlet(urlPatterns="/hello-world")
public class MainServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("TESTTESTTEST");
request.getRequestDispatcher("/test.jsp").forward(request, response);
}
}
在控制台以及为何TESTTESTTEST
不回来了?
请帮助我。
- 编辑
服务器配置:
/test.jsp
在您已配置web.xml
匹配模式MainServlet
。也许你应该使用/
URL模式:
/*
见进一步阅读此Q / A:qazxsw POI
另请注意,您不要通过<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
访问你的应用程序,如果你已经部署到任意应用程序名称:如果上下文路径是Difference between / and /* in servlet mapping url pattern你必须分别调用http://localhost:8080/
或/myWebApp
。
在Apache Tomcat上的情况下,如果你想通过http://localhost:8080/myWebApp/
或http://localhost:8080/myWebApp/hello-world
来访问它,你可以命名上下文路径ROOT
。
编辑:
显得既映射规范有冲突。卸下web.xml中Servlet的定义:
http://localhost:8080/
在你的git回购已指定http://localhost:8080/hello-world
,在<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
你的名字你@WebServlet(urlPatterns="/servlet")
“1”,它产生的contextPath“/ 1”。
现在调用pom.xml
去artifacId
。调用http://localhost:8080/1/
转发你的方法,但结果在误差404 index.jsp
为test.jsp的不存在。