【问题标题】:Struts app resource not available http 404 error using action servlet使用操作 servlet 的 Struts 应用程序资源不可用 http 404 错误
【发布时间】:2014-10-14 04:43:57
【问题描述】:

我使用netbeans 6.9,struts 1.3.10 放在/web-inf/ folder 中的lib 文件。 资源不可用404 显示 http 错误。 没有创建任何目录来单独放置 action 、 servlet 文件。 al1 文件在默认包中。 我是 j2ee 的新手,请帮我解决我的问题..

提前谢谢..

index.jsp:

    <body>
    <h1>Hello World!</h1>
    <a href="mainpage">Main page</a>
    </body>

mainpage.java:

        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet mainpage</title>");  
        out.println("</head>");
        out.println("<body>");
        out.println("<form action='strapp.action' method='post'>");
        out.println("<input type='text' name='user'/><br>");
       out.println("<input type='submit' name='Submit it'/>");
       out.println("</form>");
        out.println("</body>");
        out.println("</html>");

strapp.java:

     public ActionForward execute(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    String c=(String)request.getParameter("user");
    if(c==null)
    {
        return mapping.findForward("error");
    }
    return mapping.findForward("success");
}
 }

成功.java:

       protected void processRequest(HttpServletRequest request,       HttpServletResponse                     response)
    throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {

        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet success</title>");  
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet success at </h1>");
        out.println("<p>Success page</p>");
        out.println("</body>");
        out.println("</html>");

    } finally { 
        out.close();
    }
   } 

error.java:

       out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet error</title>");  
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet error at </h1>");
        out.println("<p>Error page</p>");
        out.println("</body>");
        out.println("</html>");

struts-config.xml:

   <action-mappings>
    <action name="strapp" class="strapp" path="/strapp.action" >
    <forward name="success" path="/success.java"/>
    <forward name="error" path="/error.java"/>
        </action>
    </action-mappings>

web.xml:

      <?xml version="1.0" encoding="UTF-8" ?>

      <!DOCTYPE struts-config PUBLIC
      "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
      "http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">

    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
        <param-name>debug</param-name>
        <param-value>2</param-value>
    </init-param>
    <init-param>
        <param-name>detail</param-name>
        <param-value>2</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

【问题讨论】:

    标签: java jakarta-ee servlets struts


    【解决方案1】:

    struts-config.xml:

    <action-mappings>
    <action name="strapp" class="strapp" path="/strapp.action" >
    <forward name="success" path="/success.java"/>
    <forward name="error" path="/error.java"/>
        </action>
    </action-mappings>
    

    success.java 和 error.java 是什么意思,必须在 web.xml 中指定 servlet,否则 structs 找不到正确的目的地。 你可以看结构的例子。

    【讨论】:

    • 我已经添加并编译了 web.xml,通过添加成功和错误 servlet..抱歉..
    猜你喜欢
    • 1970-01-01
    • 2012-06-16
    • 2013-10-13
    • 2021-07-27
    相关资源
    最近更新 更多