【问题标题】:IntelliJIdea, error in deployment of spring + JSF applicationIntelliJ Idea,spring+JSF应用部署出错
【发布时间】:2011-09-22 12:08:08
【问题描述】:

在 IntelliJIdea 中,我创建了一个只有 ide 自动创建的默认页面的小应用程序。我添加了两个框架:spring (3) 和 JSF 2。应用程序级别是 java ee 2.5,因为我想部署在 Tomcat 6.0 上。
我安装了一个 Apache Tomcat 6.0,创建了一个管理员用户,并进行了测试,它可以工作。
但是当我部署简单的应用程序时,它似乎部署正确,但访问它,浏览器给出错误:

简单的jsp页面 12: 13: 14:f:视图> 15: 16: 17: 堆栈跟踪: 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) 根本原因 java.lang.RuntimeException:未找到 FacesContext ……

【问题讨论】:

    标签: jsf tomcat intellij-idea


    【解决方案1】:

    我遇到了同样的问题。我的解决方案是使用 URL“http://localhost:8080/index.faces”。

    【讨论】:

      【解决方案2】:

      java.lang.RuntimeException:未找到 FacesContext

      JSF 组件抱怨找不到FacesContextFacesServlet 是负责创建它的人。所以它显然没有运行。您需要确保您在浏览器地址栏中输入的请求 URL 与 webapp 的 web.xml 文件中定义的 FacesServlet 的 URL 模式匹配(并且它已在 web.xml 中定义) .如果是例如

      <url-pattern>*.jsf</url-pattern>
      

      那么你需要确保请求的URL是

      http://localhost:8080/contextname/page.jsf

      因此不是

      http://localhost:8080/contextname/page.jsp

      如果请求 URL 与 FacesServlet 的 URL 模式匹配,那么它将被调用并执行所有 JSF 作业。


      与问题无关:为什么在使用 JSF2 时选择 JSP?为什么不改用其优越的继任者 Facelets?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-07-12
        • 2016-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 1970-01-01
        相关资源
        最近更新 更多