在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 ....
答案 0 :(得分:2)
java.lang.RuntimeException:找不到FacesContext
JSF组件抱怨无法找到FacesContext
。 FacesServlet
是负责创建它的人。所以它显然没有运行。您需要确保在浏览器地址栏中输入的请求URL与FacesServlet
的URL模式匹配,因为它已在webapp的web.xml
文件中定义(并且已在web.xml
)。如果是例如
<url-pattern>*.jsf</url-pattern>
然后您需要确保请求网址
因而不
如果请求URL与FacesServlet
的URL模式匹配,则将调用它并执行所有JSF作业。
无关问题:为什么在使用JSF2时选择JSP?为什么不使用其优越的继承者Facelets?
答案 1 :(得分:0)
我遇到了同样的问题。我的解决方案是使用URL“http:// localhost:8080 / index.faces”。