Java HTTP状态404-调用Servlet时未找到

Java HTTP状态404-调用Servlet时未找到,java,jsp,servlets,http-status-code-404,Java,Jsp,Servlets,Http Status Code 404,当我从JSP页面调用Servlet时,我得到HTTP状态404 这里是web.xml: <servlet> <servlet-name>Register</servlet-name> <servlet-class>servlets.dataio.registration.Register</servlet-class> </servlet> <servlet-mapping> <se

当我从JSP页面调用Servlet时,我得到HTTP状态404

这里是web.xml:

<servlet>
    <servlet-name>Register</servlet-name>
    <servlet-class>servlets.dataio.registration.Register</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Register</servlet-name>
    <url-pattern>/Register</url-pattern>
</servlet-mapping>
<form name="admin-form" action="Register" method="POST"> 
HTTP Status 404 - Not Found

type Status report

message: Not Found

description: The requested resource is not available.
Web Pages --> Pages --> Registration --> registerpage.jsp
目录结构为:

<servlet>
    <servlet-name>Register</servlet-name>
    <servlet-class>servlets.dataio.registration.Register</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Register</servlet-name>
    <url-pattern>/Register</url-pattern>
</servlet-mapping>
<form name="admin-form" action="Register" method="POST"> 
HTTP Status 404 - Not Found

type Status report

message: Not Found

description: The requested resource is not available.
Web Pages --> Pages --> Registration --> registerpage.jsp
我尝试过清洁和建筑项目。 我正在使用NetBeans IDE和GlassFish服务器

try action=“/Register”

这行是因为消息必须至少30个字符,请尝试:

action="../../Register"
使页面相对于Servlet所在的位置


。/
表示向上一个目录。根据您发布的目录结构,它在
网页下有两个文件夹,因此您需要两个
。/
使其相对于Servlet所在的位置,也就是说,基于
/Register
意思是在
网页下

默认相对路径下使用
操作
属性,因此,如果您的jsp在
http://yourHost/yourApp/pathToJsp/registerpage.jsp
那么您的相对servlet路径是
http://yourHost/yourApp/pathToJsp/Register
这是不正确的

你有两个选择:

  • 使用J.Lucky建议的相对路径——但它容易出错,因为您必须在每个jsp中修复它,或者在目录结构中移动jsp
  • 使用绝对路径-以/-开头,但需要包括上下文根名称,如下-
    /yourContext/Register
    。如果要避免硬编码上下文根,可以使用request.getContextPath()方法,如下面的
    action='/Register'

清理和构建项目并尝试depoly和run。JSP文件是否在某个文件夹下?它应该就在
网页
下面,因为您使用的是
action=“Register”
@J。幸运的是,JSP不只是在
网页
里面。这就是为什么会出现错误的原因。请发布您的目录结构,以便我可以帮助您修复它。还有其他已注册的servlet吗?