Servlets 调用servlet会导致HTTP状态为404“;“请求的资源不可用”;

Servlets 调用servlet会导致HTTP状态为404“;“请求的资源不可用”;,servlets,http-status-code-404,Servlets,Http Status Code 404,我在班上有一个servletregister。我有一个JSPjsp1.JSP。我运行JSP文件并查看它,但当我尝试应用于servlet时,Tomcat显示了一个错误: HTTP状态404 请求的资源(/omgtuk/Register)不可用 Servlet: @WebServlet("/register") web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-ap

我在班上有一个servlet
register
。我有一个JSP
jsp1.JSP
。我运行JSP文件并查看它,但当我尝试应用于servlet时,Tomcat显示了一个错误:

HTTP状态404 请求的资源(/omgtuk/Register)不可用

Servlet:

@WebServlet("/register")
web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>omgtuk</display-name>
  
  
 <servlet>
    <description></description>
    <display-name>register</display-name>
    <servlet-name>register</servlet-name>
    <servlet-class>p1.register</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>register</servlet-name>
    <url-pattern>/register</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>jsp1.jsp</welcome-file>
  </welcome-file-list>
</web-app>

乌姆图克
登记
登记
p1.寄存器
登记
/登记册
jsp1.jsp
我正在使用Eclipse

请求的资源(/omgtuk/Register)不可用

这仅仅意味着servlet没有侦听
/Register
的URL模式。换句话说,您没有
@WebServlet(“/Register”)

在您的特定案例中,您在URL中犯了一个案例错误。URL区分大小写。您正在调用
/Register
,但您的servlet正在侦听
/Register
。相应地修改表单操作

因此,它应该而不是如下所示:


但它应该是这样的:


或者,当您感到无聊时,如果您碰巧在JSP周围移动,哪一个更健壮:



与具体问题无关,请注意,您通过类上的
@WebServlet
注释和
web.xml
中的
条目注册了servlet。这是不对的。你应该用这个或那个。
@WebServlet
是自Servlet3.0(JavaEE6)以来注册Servlet的新方法,
是注册Servlet的旧方法

只需在
web.xml
中去掉整个
。您不需要同时指定两者。确保您正在阅读最新的书籍/教程。Servlet 3.0自2009年12月就已经存在

另一个细节是,
p1
不是一个类,而是一个包。我强烈建议在深入研究JavaEE之前多花一点时间学习基本Java

另见:
由于应用程序未能正确初始化,“不可用”错误通常会发生。在启动过程中查看日志,看看是否有错误。