我有一个运行index.jsp的Tomcat服务器,但是当我添加.class servlet时,它将把index.jsp变成Not found 404。
这是我在/ opt / tomcat9 / webapps / ROOT / WEB-INF中的web.xml
// Servlets
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.tyd.gr1.la.login</servlet-class>
</servlet>
// Servlet Mappings
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
我的index.jsp位于/ opt / tomcat9 / webapps / ROOT
如果我删除/ opt / tomcat9 / webapps / ROOT / WEB-INF / classes / com / tyd / gr1 / la中的login.class并启动tomcat,则会看到index.jsp
但是,如果我将login.class放回原位,则会收到HTTP状态404 –未找到 类型状态报告
Message Not found
Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
答案 0 :(得分:0)
我一直在战斗。一些帮助我的事情:
检查您的web.xml是否具有正确的标记拼写,例如<servlet>
检查您在<servlet-class></servlet-class>
中的命名
即<servlet-class>com.tyd.gr1.la.login</servlet-class>
构建战争,让Tomcat部署。它可能会使用:
webapps/WEB-INF/classes/com/tyd/gr1/la
请注意,根目录已删除
注意区分大小写。对我来说就是一个例子
<form action=\"HelloWorld\" method=\"POST\">\r\n")
-取消捐赠
404
<form action=\"helloworld\" method=\"POST\">\r\n")
-可行
如果您仍在苦苦挣扎,请开始注释掉xml.web声明,以找出中断的内容。我发现我可以接触资产和HTML页面,JSP和其他元素,直到最终确定类的命名并一切正常为止。