自己做的struts1项目,本地运行什么事都没有,但一放到服务器,访问action就会出现404错误,在网上查到的最主要的原因还是路径错误和xml文件有误。仔细查了路径,web.xml,struts-config.xml文件,都没有问题。
报错信息:
16-Aug-2021 17:28:50.584 严重 [localhost-startStop-1]
org.apache.struts.action.ActionServlet.handleConfigException Parsing error processing resource path file:/C:/Program%20Files%20(x86)/apache-tomcat-8.5-x86/apache-tomcat-8.5.69/webapps/loginform/WEB-INF/struts-config.xml
org.xml.sax.SAXParseException; systemId:file:/C:/Program%20Files%20(x86)/apache-tomcat-8.5-x86/apache-tomcat-8.5.69/webapps/loginform/WEB-INF/struts-config.xml; lineNumber: 8; columnNumber: 61; Error at line 8 char 61: null
我注意到struts-config.xml的文件路径中间多了几个%20,这是因为路径中含有空格,导致路径无法访问。
把tomcat重新装了一下,这个问题便解决了,但紧接着又报了一个错:
java.lang.UnsupportedClassVersionError: formbean/LoginFormBean :
Unsupported major.minor version 52.0 (无法载入的.类 [formbean.LoginFormBean])
这是因为我服务器java的编译环境版本太低,java 8 class file的版本是52,java 7虚拟机只能支持到51.所以需要升级到java 8 vm才行。更换了1.8版本的jdk后,项目便完美运行。