&引用;路径login.page不以“开始”/&引用;“字符”;更改java版本后出现消息异常

&引用;路径login.page不以“开始”/&引用;“字符”;更改java版本后出现消息异常,java,struts,Java,Struts,我有一个web应用程序,它可以处理以下内容: Tomcat 5.0 Struts 1.0 Java 1.5 我必须切换到Java1.6。当我尝试这样做时,我收到了以下堆栈 “我的浏览器”中的异常: javax.servlet.ServletException: Path login.page does not start with a "/" character org.apache.struts.chain.ComposableRequestProcessor.process(Comp

我有一个web应用程序,它可以处理以下内容: Tomcat 5.0 Struts 1.0 Java 1.5

我必须切换到Java1.6。当我尝试这样做时,我收到了以下堆栈 “我的浏览器”中的异常:

javax.servlet.ServletException: Path login.page does not start with a "/" character
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:72)
    org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:712)
    org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:682)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:45)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
根本原因

java.lang.IllegalArgumentException: Path login.page does not start with a "/" character
    org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:107)
    org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
    org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:72)
    org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:712)
    org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:682)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:45)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)

它看起来像是向
“login.page”
发出了请求,如异常所示,该请求不是以
“/”开头的。尝试请求
“/login.page”

大多数servlet库要求路径名以
“/”
开头。例如:

路径名必须以“/”开头,并解释为相对于当前上下文根。使用
getContext
获取外部上下文中资源的
RequestDispatcher


添加平铺请求处理器类并从控制器标记中删除conten type属性


检查此页

很明显你用的是stuts牌。如果您使用的是Struts 1.3,则应将其添加到web.xml文件中:

<init-param>
    <param-name>chainConfig</param-name>
    <param-value>org/apache/struts/tiles/chain-config.xml</param-value>
</init-param>

链配置
org/apache/struts/tiles/chain-config.xml
已解决

每当添加新的Jsp文件时,新的条目就会进入相应的页面


struts-config.*.xml”和“tiles-defs.*.xml”文件。

您好,这没关系,因为它适用于java 1.5。唯一的问题是,我已经升级到java 1.6。您必须进行另一次修改,@Hobbit程序员。除了JVM,你还改变了什么?-所以我改变了我的环境变量:JAVA_HOME=path到jdk 1.6.0_18-在IntellijIdeea(这是我的IDE)中,如果我切换回jdk 1.5,我只是从JAVA 1.5切换到JAVA 1.6,一切正常。我没有修改struts-config.xml,也没有修改web.xml或其他可能会产生干扰的配置文件。在深入浏览google之后,我发现了这个网站:它声明在struts-config.xml中添加处理器类,所以我添加了:现在异常消失了,但我无法登录,当我尝试这样做时,它只是重新加载相同的页面。感谢您的回答,欢迎来到StackOverflow!你能给你的答案再加上一些细节来说明为什么它是正确的吗?