java.lang.IllegalStateException: No FacesContext is available to process this request的另一种处理方法
2012-06-14 14:09
435 查看
在JSF的运行环境中,往往会报如下的异常:
java.lang.IllegalStateException: No FacesContext is available to process this request. This is most likely due to the request being sent to the wrong path.
at com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:159)
at org.apache.jsp.login_jsp._jspx_meth_f_005fview_005f0(login_jsp.java:112)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:86)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:736)
在网上搜索的资料,基本都是集中在welcome-file-list的处理中,按照这些方法,还是得到异常。后来仔细看了一下异常,发现多了一些没注意到的问题:
SEVERE: Exception Processing ErrorPage[errorCode=404, location=/login.jsp]
在说明在Error Page的处理时,login.jsp的路径有问题。在web.xml中,修改如下:
<error-page>
<error-code>404</error-code>
<location>/faces/login.jsp</location> (或 <location>/login.faces</location>)
</error-page>
重启服务器,问题解决。
java.lang.IllegalStateException: No FacesContext is available to process this request. This is most likely due to the request being sent to the wrong path.
at com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:159)
at org.apache.jsp.login_jsp._jspx_meth_f_005fview_005f0(login_jsp.java:112)
at org.apache.jsp.login_jsp._jspService(login_jsp.java:86)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:736)
在网上搜索的资料,基本都是集中在welcome-file-list的处理中,按照这些方法,还是得到异常。后来仔细看了一下异常,发现多了一些没注意到的问题:
SEVERE: Exception Processing ErrorPage[errorCode=404, location=/login.jsp]
在说明在Error Page的处理时,login.jsp的路径有问题。在web.xml中,修改如下:
<error-page>
<error-code>404</error-code>
<location>/faces/login.jsp</location> (或 <location>/login.faces</location>)
</error-page>
重启服务器,问题解决。
相关文章推荐
- java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]
- java.lang.IllegalStateException: Failed to load ApplicationContext异常解决方法
- java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]
- java.lang.IllegalStateException: Failed to load ApplicationContext
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this a
- Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class cn.e3mall.pojo.TbItem
- java.lang.IllegalArgumentException: id to load is required for loading 解决方法
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this
- java.lang.IllegalStateException: getOutputStream() has already been called for this response解决方法及解释
- java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered
- java.lang.IllegalStateException: Driver for test database type [H2] is not available in the classpat
- java.lang.IllegalStateException:getOutputStream() has already been called for this response的解决方法
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this a
- nested exception is java.lang.IllegalStateException: No persistence units parsed from {classpath*:META-INF/persistence.xml}
- java.lang.IllegalStateException: Failed to load ApplicationContext
- java.lang.IllegalStateException: Failed to load ApplicationContext
- java.lang.IllegalStateException: Failed to load ApplicationContext
- java.lang.IllegalArgumentException: Request header is too large的解决方法
- java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState的解决方法
- java.lang.IllegalArgumentException:A ServletContext is required to configure default servlet handlin