分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

IDEA 2017.3 新版本中创建 JSF Web 应用程序缺少 web.xml 的解决办法

发布时间:2023-09-06 01:36责任编辑:赖小花关键词:Webxml

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> ???<welcome-file-list> ???<welcome-file>index.xhtml</welcome-file></welcome-file-list>

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

IDEA 2017.3 新版本中创建 JSF Web 应用程序缺少 web.xml 的解决办法

原文地址:https://www.cnblogs.com/cyberniuniu/p/8278884.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved