我在Apache Tomcat-8.0.3上运行了一个struts 1.3应用程序。目前它托管在Windows服务器上,我们计划在Linux上迁移它centos 6.该项目在Windows上正常运行server.When相同war文件部署在Linux上它提供了以下错误:Struts 1.3 Windows和Linux上的不同行为
HTTP Status 500 - No action instance for path /home could be created
我的index.jsp(欢迎页)由本:
<%jsp:forward="home.do"%>
在我的home.do重定向到HomeAction 。 编辑: //的struts-config部分在linux
<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
}
对于那些觉得它应该是HomeAction.do的人,我已经在我的struts-config文件中做了适当的映射,并且它已经在您使用的旧版Tomcat 8的windows – DontDiscloseMe
上生效。您可以升级并尝试再次?最新的8.0.x是8.0.36。 –
当它在Linux上的工作方式与Windows不同时,我怀疑文件名中存在一个案例问题:Linux对文件名称区分大小写,而Windows不区分大小写。 –