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
}
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
Sie verwenden eine alte, Beta-Version von Tomcat 8. Können Sie aktualisieren und versuchen nochmal? Neueste 8.0.x ist 8.0.36. –
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. –