Struts 1.3 Разное поведение на Windows и Linux

У меня есть приложение Struts 1.3, работающее на Apache Tomcat-8.0.3. В настоящее время оно размещено на сервере Windows, и мы планируем перенести его на Linux CentOS 6. Проект работает должным образом на сервере Windows. Когда тот же файл развертывания развернут на Linux это дает следующую ошибку:

HTTP Status 500 - No action instance for path /home could be created

Мой index.jsp (страница приветствия) состоит из этого:

<%jsp:forward="home.do"%>

где мой home.do перенаправляет на HomeAction. Edit: // часть Struts-config

<form-beans>
    <form-bean name="home" type="com.compname.appname.form.HomeForm"/>
</form-beans>

<global-forwards>
    <forward name="welcome"  path="/home.do"/>
</global-forwards>

<action-mappings>       
    <action path="/home" type="com.compname.appname.action.HomeAction" name="home" scope="request" input="/" validate="false">
    <forward name="success" path="home.jsp.tld"/>           
    </action>        
</action-mappings>

//Action classes
public class HomeAction extends BaseAction {

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {        
    HomeForm frm = (HomeForm) form;
    HttpSession appSession = request.getSession();
    String SUCCESS = "success";
    //code here
    return mapping.findForward(SUCCESS);
    }

}

public class BaseAction extends org.apache.struts.action.Action {
//reusable variables and methods
}

2 ответа

Ну, виновником было что-то еще. Не было ничего общего с Java, Tomcat или даже с версией Struts. Чтобы получить размер экрана, который я использовал
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); из пакета java.awt. Это прекрасно работает в Windows, но в Linux получило исключение. Кроме того, я обнаружил, что это не тот метод, который я должен использовать для получения размера экрана по размеру "клиента", поэтому я удалил его, а затем он заработал. Хорошо. Большое спасибо всем, кто помогает. Я надеюсь, что мой ответ поможет кому-то еще.

Файловая система в Linux отличается от Windows, пожалуйста, попробуйте:

<%jsp:forward="/home.do"%>

или же, пожалуйста, опубликуйте дополнительную информацию, такую ​​как ваш struts.xml или класс действий, которые могут помочь найти проблему.

Другие вопросы по тегам