2016-08-09 3 views
0

У меня есть приложение для запуска приложений 1.3 на Apache Tomcat-8.0.3. В настоящее время оно размещено на сервере Windows, и мы планируем его перенести на linux centos. 6. Проект работает правильно на окнах server.When тот же архив войны развернут на Linux, что дает следующие ошибки:Struts 1.3 Различное поведение для окон и linux

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

мой index.jsp (страницы приветствия) состоит в следующем:

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

где мой home.do перенаправляет HomeAction , Edit: // Struts-конфигурация часть системы

<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 
} 
+0

Для тех, кто считает, что это должен быть HomeAction.do, я сделал правильное отображение в моем файле struts-config, и он уже работает на окнах. – DontDiscloseMe

+0

вы используете старую бета-версию Tomcat 8. Можете ли вы обновить и попробовать еще раз? Последний 8.0.x - 8.0.36. –

+0

Когда он работает по-разному в Linux, в Windows я подозреваю, что проблема с файлом в имени файла: Linux чувствителен к регистру для имен файлов, а Windows - нет. –

ответ

0

файла в Linux отличается от окон, пожалуйста, попробуйте:

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

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

+0

Ваше решение не работает. Я добавил дополнительную информацию в мой вопрос выше – DontDiscloseMe

0

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

Смежные вопросы