在 IntelliJIdea 中,我创建了一个小应用程序,其中只有 ide 自动创建的默认页面。我添加了两个框架:spring(3)和JSF 2。应用级别是java ee 2.5,因为我想部署在Tomcat 6.0上。
我安装了一个 Apache Tomcat 6.0,创建了一个管理员用户,并进行了测试,它可以工作。
但是当我部署简单的应用程序时,它似乎正确部署了它,但是访问它,浏览器却报错:
Simple jsp page 12: <body> 13: 14: f:view> 15: 16: 17: Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause java.lang.RuntimeException: FacesContext not found ....
最佳答案
java.lang.RuntimeException: FacesContext not found
JSF 组件提示找不到 FacesContext
。 FacesServlet
负责创建它。所以它显然没有运行。您需要确保在浏览器地址栏中输入的请求 URL 与 FacesServlet
的 URL 模式匹配,因为它在 webapp 的 web.xml
文件中定义(并且它已在 web.xml
中定义)。如果是例如
<url-pattern>*.jsf</url-pattern>
那么你需要保证请求的URL是
因此不是
如果请求 URL 与 FacesServlet
的 URL 模式相匹配,那么它将被调用并完成所有 JSF 作业。
与问题无关:为什么在使用 JSF2 时选择 JSP?为什么不改用它的高级继任者 Facelets?
关于jsf - IntelliJ Idea,spring + JSF 应用部署错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6476251/