gpt4 book ai didi

java - HTTP 状态 404 - 请求的资源不可用

转载 作者:行者123 更新时间:2023-12-01 12:59:45 25 4
gpt4 key购买 nike

我正在开发一个小型 EJB 应用程序。我有一个 JSP 页面,其中包含一个表单,用户可以在其中填写其详细信息,然后单击按钮,该页面将被发送到 servlet 页面,其中数据将通过我的实体类添加。但是当我点击 JSP 页面上的按钮时,出现以下错误

HTTP 状态 404 -

输入状态报告

消息

描述请求的资源()不可用。

GlassFish 服务器开源版 3.1.2.2

我的servlet页面Contactservlet.java是

 public class Contactservlet extends HttpServlet {
@EJB
private AbstractFacade cfl;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try
{
String name=request.getParameter("name");
String mail=request.getParameter("mail");
String phn=request.getParameter("phn");
String cmnt=request.getParameter("cmnt");
Contact c=new Contact();
c.setCmnt(cmnt);
c.setMail(mail);
c.setName(name);
c.setPhn(phn);
cfl.create(c);

}
catch(Exception ex)
{
out.println(ex);
}
}

我的 web.xml 文件是:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Contactserv</servlet-name>
<servlet-class>Contactservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Contactserv</servlet-name>
<url-pattern>/Contactserv</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

我的 JSP 文件的代码是

<form action="Contactservlet">
Name <input type="text" name="name"/>
Mail <input type="text" name="mail"/>
Phone <input type="text" name="phn"/>
Comment <input type="text" name="cmnt"/>
<input type="submit" name="bt" value="Submit"/>
</form>

最佳答案

您的问题与表单的 action 属性设置不正确有关。您需要动态设置它,并考虑到 Web 应用程序的上下文根:

action="${request.contextPath}/Contactserv"

(顺便说一句:您当前的 JSP 中有“/Contactservlet”。该操作必须指定您要引用的 servlet 的 servlet-mapping)

更好的方法是使用 JSTL:

action="<c:url value="/Contactserv"/>"

关于java - HTTP 状态 404 - 请求的资源不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23597008/

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