2016-08-09 27 views
0

Ich habe eine Struts 1.3 Anwendung läuft auf Apache Tomcat-8.0.3. Derzeit ist es auf Windows-Server gehostet und wir planen, es auf Linux Centos 6 zu migrieren.Das Projekt läuft ordnungsgemäß auf Windows server.When die gleiche wAR-Datei auf linux eingesetzt wird, gibt es Fehler folgende:Struts 1.3 Unterschiedliches Verhalten unter Windows und Linux

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

Mein index.jsp (Begrüßungsseite) aus dieser:

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

wo mein home.do zu HomeAction umleitet . Edit: // Struts-config Teil

<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

Für diejenigen, die es HomeAction.do sein sollte, habe ich richtige Zuordnung in meiner Struts-Config-Datei und es ist bereits live auf Windows – DontDiscloseMe

+0

Sie verwenden eine alte, Beta-Version von Tomcat 8. Können Sie aktualisieren und versuchen nochmal? Neueste 8.0.x ist 8.0.36. –

+0

Wenn es unter Linux und einem Windows anders funktioniert, vermute ich ein Fallproblem in einem Dateinamen: Linux unterscheidet zwischen Groß- und Kleinschreibung für Dateinamen, Windows nicht. –

Antwort

0

Dateisystem unter Linux unterscheidet sich von derjenigen von Fenstern, bitte versuchen Sie es:

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

oder sonst, bitte weitere Informationen, wie Ihr Streben hinterlassen .xml oder Aktionsklasse, mit der das Problem gefunden werden kann.

+0

Ihre Lösung hat nicht funktioniert. Ich habe die zusätzlichen Informationen in meiner Frage oben hinzugefügt – DontDiscloseMe

0

Nun, der Schuldige war etwas anderes. Es gab nichts zu tun mit Java oder Tomcat oder sogar Struts-Version. Um screensize zu bekommen, hatte ich
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); von java.awt Paket verwendet. Dies funktioniert gut auf Windows, aber gab Ausnahme in Linux.Weiterhin fand ich, dass dies nicht die Methode ist Ich sollte verwenden, um Bildschirmgröße auf 'Client' Größe zu bekommen, so dass ich es entfernt und dann hat es gut funktioniert. Vielen Dank an alle helfenden Hände. Ich hoffe, meine Antwort wird jemand anderem helfen.

Verwandte Themen