zoukankan      html  css  js  c++  java
  • IDEA 2017.3 新版本中创建 JSF Web 应用程序缺少 web.xml 的解决办法

    IDEA 2017.3 新版本中默认创建一个 Web 应用程序很可能不会自动创建 web.xml 文件。虽然说从 JavaEE 6.0 开始 Servlet 3.0 规范中就新增了一些注解可以免去传统 web.xml 中的设置,但是这也有局限性。比如,针对 JSF 应用程序,必须在 web.xml 中增加系统内建的 JSF Facelets Servlet 的配置以及部署后自动启动等设置,而且包括 context-param、welcome-file-list 等等并没有 Servlet 3.0 的对应注解。Servlet 3.0 中新增的 @WebServlet 注解只是对你自己派生定义的 Servlet 起作用,对于系统内置的 JSF Facelets Servlet 就注解配置了,所以还是需要 web.xml 的。如果 IDEA 2017.3 没有帮我们自动生成适合 JSF 的 web.xml,那就需要我们自己手动创建了。

    1. 创建 web.xml

    在 IDEA 中为一个 Web 应用程序 Module 创建 web.xml,可以在 Project Structur 对话框中,找到目标 Module,它包含一个 Web 子模块,点击该 Web 子模块,右边的 Deployment Descriptors 中添加一个 web.xml,注意选择其版本为 3.1 最新版,然后修改其所在路径为你的 Module 的绝对路径加上它自己的完整路径,类似如下这样:/xxx/xxx/web/WEB-INF/web.xml。

    2. 在 web.xml 中增加必要的常规配置

    新创建的 web.xml 除了名字空间等基本配置外,其余都是空白的,需要针对 JSF Web 应用在 web-app 标签范围内增加一些常规基本配置,如下:

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
        
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
        <param-value>true</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>
    <context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>omega</param-value>
    </context-param>
        
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>

    上述这些是 JSF Web 应用在 web.xml 中最基本的通用配置。

  • 相关阅读:
    CF1435E Solo mid Oracle(推柿子)
    CF1435C Perform Easily(Set)
    NC7501I (反向建图)
    NC7501D Router Mesh (去掉割点算连通快的变化)
    超全的Python第三方库
    字符串常见题目
    IDEA的常用设置大全
    IDEA的介绍与安装
    涨姿势啦(1)
    Torch常用的函数总结
  • 原文地址:https://www.cnblogs.com/cyberniuniu/p/8278884.html
Copyright © 2011-2022 走看看