Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HTTP状态404-请求的资源不可用_Java_Jsp_Servlets_Ejb - Fatal编程技术网

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

Java HTTP状态404-请求的资源不可用,java,jsp,servlets,ejb,Java,Jsp,Servlets,Ejb,我正在开发一个小的EJB应用程序。我有一个JSP页面,其中有一个表单,用户在其中填写详细信息,点击按钮后,它将被发送到一个servlet页面,在该页面中,数据将通过我的实体类添加。但是,当我点击JSP页面上的按钮时,我得到以下错误 HTTP状态404- 类型状态报告 信息 说明请求的资源()不可用 GlassFish服务器开源版本3.1.2.2 我的servlet页面Contactservlet.java是 public class Contactservlet extends HttpSer

我正在开发一个小的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>

联系服务
Contactservlet
联系服务
/联系服务
30
index.jsp
我的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>

名称
邮寄
电话
评论

您的问题与表单的
操作
属性设置不正确有关。您需要在web应用程序的上下文根中进行动态设置:

action="${request.contextPath}/Contactserv"
(顺便说一下:您当前的JSP中有“/Contactservlet”。该操作必须指定要引用的servlet的
servlet映射

更好的方法是使用JSTL:

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

您的JSP文件是错误的,如果您发布了其中“调用”servlet的部分,然后有人会告诉你你是如何错误地设置按钮的目标的。这是我的Jsp文件名Mail Phone Comment@Isaac我已经发布了我的Jsp页面以方便你现在你能告诉我哪里错了吗我试过了,但结果还是一样的