我已经查看了关于这个问题的所有其他问题(并且有很多这些问题),并且它们最终都是一个错误的地址,或者配置错误的servlet映射,或类似的。我已经尝试了所有这些东西,每当我尝试从servlet访问页面时,我仍然会回来404错误。
这是servlet代码(来自mkyong网站的基本hello world示例)
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
这是我在部署描述符中的servlet定义和映射
<servlet>
<description></description>
<display-name>TestServlet</display-name>
<servlet-name>TestServlet</servlet-name>
<servlet-class>com.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/testservlet</url-pattern>
</servlet-mapping>
这是我得到的错误
HTTP Status 404 - /testserver/testservlet
type Status report
message /testserver/testservlet
description The requested resource (/testserver/testservlet) is not available.
Apache Tomcat/6.0.33
有人知道可能导致这种情况的原因吗?
编辑:我刚刚测试了这里给出的JSP和Servlet hello世界
http://www.ibm.com/developerworks/opensource/library/os-eclipse-tomcat/
它工作正常,所以我认为问题出在我的servlet上。有人有任何想法吗?
答案 0 :(得分:0)
您需要指定war文件的名称。如果你有一个名为'testme.war'的war文件,你必须像这样访问它。
本地主机:8080 /的 TESTME /的TestServlet 强>
答案 1 :(得分:0)
根据您的映射,您应该通过以下方式访问它:http://localhost:8080/testservlet
&#34; testserver&#34;来自 ?你有理由使用它吗?