2013-06-02 3 views
1

Я пытаюсь запустить этот простой пример на eclipse. Поскольку я запускаю сервер, он не показывает никаких ошибок. Но в браузере он показывает 404 страницу ошибок не найдена , Я не понимаю, что такое ошибка. Я использовал все Jars в моей папке WEB-INF/Lib.Page 404 NoT Found Даже Tomcat не показывает никаких ошибок

фрагменте кода ниже:

КЛАСС HELLOWORLDACTION

 package com.action; 
     import javax.servlet.http.HttpServletRequest; 
     import javax.servlet.http.HttpServletResponse; 
     import org.apache.struts.action.Action; 
     import org.apache.struts.action.ActionForm; 
     import org.apache.struts.action.ActionForward; 
     import org.apache.struts.action.ActionMapping; 

     import com.form.HelloWorldForm; 
     public class HelloWorldAction extends Action{ 

      public ActionForward execute(ActionMapping mapping,ActionForm form, 
        HttpServletRequest request,HttpServletResponse response) throws Exception { 

       HelloWorldForm helloWorldForm = (HelloWorldForm) form; 
       helloWorldForm.setMessage("Hello World! Struts"); 
       return mapping.findForward("success");} 

     } 

КЛАСС HelloWorldForm

package com.form; 

    import org.apache.struts.action.ActionForm; 

    public class HelloWorldForm extends ActionForm{ 

    String message; 

    public String getMessage() { 
    return message; 
    } 
    public void setMessage(String message) { 
    this.message = message; 
    } 

} 

Распорки-config.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"> 

    <struts-config> 

     <form-beans> 
      <form-bean name="helloWorldForm" 
       type="com.form.HelloWorldForm"/> 
     </form-beans> 

     <action-mappings> 
      <action path="/helloWorld" 
       type="com.action.HelloWorldAction" 
       name="helloWorldForm"> 
       <forward name="success" path="/HelloWorld.jsp"/> 
       </action> 
     </action-mappings> 

    </struts-config> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
      <display-name>Maven Struts Examples</display-name> 
      <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> 
      <load-on-startup>1</load-on-startup> 
      </servlet> 

      <servlet-mapping> 
       <servlet-name>action</servlet-name> 
       <url-pattern>*.do</url-pattern> 
      </servlet-mapping> 

     </web-app> 

HelloWorld.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
     pageEncoding="ISO-8859-1"%> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <%@taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Insert title here</title> 
    </head> 
    <body> 
    <h1><bean:write name="helloWorldForm" property="message" /> 
    </h1> 
    </body> 
    </html> 
+0

Каков URL, который вы пытаетесь ударить? – Jason

+0

Ваш url должен быть чем-то вроде http: // localhost: 8080/webapps/ /page.do – Jason

+0

Что вы подразумеваете под «всеми банками»? –

ответ

0

Это звучит, как вы используете неправильный URL. У Tomcat обычно есть папка с именем webapps для приложений, развернутых на этом сервере. Чтобы выяснить конфигурацию, в Eclipse откройте вкладку Server, найдите свой сервер Tomcat и дважды щелкните по нему.

Он должен открыть панель свойств с двумя вкладками внизу Overview и Modules. Нажмите на Modules, и вы увидите путь к своему приложению. Для меня это в виде: /webapps/<project name>

Ваш полный адрес будет localhost:8080/webapps/<project name>/anystringhere.do, так как вы отобразить все, что в вашем приложении (localhost:8080/webapps/<project name>/), который заканчивается в .do сервлету действия.

+0

Спасибо @jason .... Моя проблема решена –