gpt4 book ai didi

servlets - 调用 servlet 导致 HTTP 状态 404 "The requested resource is not available"

转载 作者:行者123 更新时间:2023-12-04 13:54:57 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Servlet returns "HTTP Status 404 The requested resource (/servlet) is not available"

(19 个回答)


6年前关闭。




我有一个 servlet register在类里面p1 .我有一个 JSP jsp1.jsp .我运行 JSP 文件并看到它,但是当我尝试应用到 servlet 时,Tomcat 显示错误:

HTTP Status 404

The requested resource (/omgtuk/Register) is not available.


小服务程序:
@WebServlet("/register")
网页.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>
我正在使用 Eclipse。

最佳答案

The requested resource (/omgtuk/Register) is not available.


这仅仅意味着 servlet 没有监听 /Register 的 URL 模式。 .换句话说,您没有 @WebServlet("/Register") .
在您的特定情况下,您在 URL 中犯了大小写错误。 URL 区分大小写。您调用 /Register ,但您的 servlet 正在监听 /register .相应地修复您的表单操作。
所以,应该是 不是 看起来像这样:
<form action="Register">
但它应该看起来像这样:
<form action="register">
或者这个,如果你在无聊的时候碰巧在 JSP 周围移动,它会更健壮:
<form action="${pageContext.request.contextPath}/register">

无关 对于具体问题,请注意您通过 @WebServlet 注册了 servlet。类上的注释和 <servlet>进入 web.xml .这个不对。您应该使用其中一个。 @WebServlet是自 Servlet 3.0 (Java EE 6) 和 <servlet> 以来注册 servlet 的新方法。是注册 servlet 的旧方法。
干掉整个 <servlet><servlet-mapping>web.xml .您无需同时指定两者。确保您正在阅读最新的书籍/教程。 Servlet 3.0 自 2009 年 12 月就已经存在。
另一个细节是 p1不是一个类,它是一个包。我强烈建议在深入学习 Java EE 之前花更多时间学习基本的 Java。
也可以看看:
  • Our servlets wiki page
  • 关于servlets - 调用 servlet 导致 HTTP 状态 404 "The requested resource is not available",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4978877/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com