“Символ Path login.page does not start with a” / “” передает исключение после изменения версии Java

У меня есть веб-приложение, которое работало со следующим: Tomcat 5.0 Struts 1.0 Java 1.5

Я должен переключиться на Java 1.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)
5
задан peterh says reinstate Monica 12 August 2017 в 02:14
поделиться

1 ответ

Похоже, сделан запрос к "login.page" , который, как указывает исключение, не начинается с "/" . Попробуйте вместо этого запросить "/ login.page" .

Большинство библиотек сервлетов требуют, чтобы имена путей начинались с "/" . Например: javax.servlet.ServletContext # getRequestDispatcher :

Путь должен начинаться с "/" и интерпретироваться относительно текущего корня контекста. Используйте getContext , чтобы получить RequestDispatcher для ресурсов во внешних контекстах.

5
ответ дан 14 December 2019 в 08:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: