我们正在使用JDK 1.8,并将Jboss服务器从6.4升级到7.2。升级后,我们在解决相对路径时遇到了问题。
例如,在我们的网络应用中,我们具有X和Y模块:
X
Y
在X模块struts-config.xml下,我们有:
<forward name="exceptionIncidentHandler" path="/exceptionIncidentReport.do" />
<action path="/exceptionIncidentReport"
name="ExceptionIncidentForm"
attribute="ExceptionForm"
type="org.kns.web.struts.action.ExceptionHandlerAction" scope="request">
<forward name="basic" path="/WEB-INF/jsp/exceptionIncident.jsp" />
</action>
和
在Y模块下的struts-config.xml中,我们使用相对路径将其转发到位于X模块下的exceptionIncident.jsp:
<forward name="exceptionIncidentHandler" path="/../X/exceptionIncidentReport.do" />
无论何时在Y模块中发生事件,都应将请求转发到位于X模块下的exceptionIncident.jsp。 但是请求无法解析相对路径,并尝试在此路径下找到exceptionIncident.jsp:
Y/../X/exceptionIncident.jsp
并由于“请求了无效路径”而引发异常
之前我们使用的是Jboss 6.4,而Jboss 6.4服务器能够解析相对路径,并且可以从X模块呈现出exceptionIncident.jsp,而不会出现问题。