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 中最基本的通用配置。

  • 相关阅读:
    [APUE]第十章 信号
    [APUE]第十一章 线程
    android 音乐播放器中播放模式的设计
    php socket 发送HTTP请求 POST json
    php 扫描url死链接 \033[31m ANSI Linux终端输出带颜色
    Redis学习——Redis持久化之RDB备份方式保存数据
    exit与return的区别
    MQ入门总结(一)消息队列概念和使用场景
    微软放缓.NET动态语言开发计划,徐汇区网站设计 狼人:
    构建高性能ASP.NET站点 网站优化需要考虑的方面,徐汇区网站设计 狼人:
  • 原文地址:https://www.cnblogs.com/cyberniuniu/p/8278884.html
Copyright © 2011-2022 走看看