JSF环境搭建web.xml和faces-config.xml配置

转载:http://www.cnblogs.com/zxpgo/archive/2012/06/29/2570175.html

 

JSF提供的核心控制器是javax.faces.webapp.FacesServlet。

web.xml中的welcome-file-list标签作用:当用户在浏览器中输入的URL不包含某个servlet名或JSP页面时,welcome-file-list元素可指定显示的默认文件。 welcome-file子元素用于指定默认文件的名称。welcome-file-list元素可以包含一个或多个welcome-file子元素。如果在第一个welcome-file元素中没有找到指定的文件,Web容器就会尝试显示第二个,以此类推。

在web.xml中配置FacesServlet核心控制器:

    <!-- JSF的核心控制器 FacesServlet -->
    <servlet>
        <servlet-name>FacesServlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>FacesServlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

这里设置了拦截.jsf结尾的请求。

需要为JSF配置一些额外的参数,可以在web.xml中使用<context-param>元素进行配置。下面是常用的一些配置:


<!-- 配置JSF程序状态的保存位置,如果设置成server则保存在session中,
 如果保存在client中可以保证服务器重启应用状态也不会丢失 -->
    <context-param>
        <description>
            指示是在客户端(client)还是在服务器端(server)保存UI组件的状态和
            session信息, server表示保存到服务器端,client表示保存到客户端,
            默认为server。
        </description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <!-- 程序状态保存在客户端 -->
        <param-value>client</param-value>
    </context-param>

    <!-- 指定JSF映射资源时的默认后缀,默认为.jsp -->
    <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.jsp</param-value>
    </context-param>

    <!-- 指定JSF所管理的生命周期实例的标识符 -->
    <context-param>
        <description>
            当在这个应用中处理JSF请求时,
            所使用的生命周期实例的标识符.
            默认的生命周期模型(没看懂)
        </description>
        <param-name>javax.faces.LIFECYCLE_ID</param-name>
        <param-value></param-value>
    </context-param>

    <!-- 指定JSF配置文件的保存位置 -->
    <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-nav.xml</param-value>
    </context-param>

    <!-- 指定是否需要验证自定义组件 -->
    <context-param>
      <description>
            Set this flag to true if you want the JSF
            Reference Implementation to verify that all of the application
            objects you have configured (components, converters,
            renderers, and validators) can be successfully created.
            Default value is false.
        </description>
        <param-name>javax.faces.verifyObjects</param-name>
        <param-value>true</param-value>
    </context-param>

    <!-- 指定是否需要验证XML文件 -->
    <context-param>
           <description>
            Set this flag to true if you want the JavaServer Faces
            Reference Implementation to validate the XML in your
            faces-config.xml resources against the DTD. Default
            value is false.

           </description>
        <param-name>javax.faces.validateXml</param-name>
        <param-value>true</param-value>
    </context-param>

    <!-- 当设置在服务器端保存状态时,控制session保存的视图数量,-1表示没有限制 -->
    <context-param>
        <param-name>javax.faces.NUMBER_OF_VIEWS_IN_SESSION</param-name>
        <param-value>-1</param-value>
    </context-param>


JSF的配置文件faces-config.xml:

        最常用的两个配置元素:

       <managed-bean>:JSF应用中所有的托管Bean都放在该元素下

       

  <managed-bean>
       <managed-bean-name>user</managed-bean-name>
       <managed-bean-class>
       onlyfun.caterpillar.UserBean
       </managed-bean-class>
       <managed-bean-scope>session</managed-bean-scope>
   </managed-bean>

       <navigation-rule>:用于管理JSF应用的导航规则

      

   <navigation-rule>
       <from-view-id>/pages/index.jsp</from-view-id>
       <navigation-case>
         <from-outcome>success</from-outcome>
         <to-view-id>/pages/welcome.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
         <from-outcome>failure</from-outcome>
         <to-view-id>/pages/index.jsp</to-view-id>
       </navigation-case>
    </navigation-rule>

 

       其他的配置元素:
       应用管理相关配置:

       <application>:用于管理JSF应用相关配置
       <referenced-bean>:配置被引用Bean

       注册自定义组件的相关配置:

       <converter>:注册自定义转换器
       <validator>:注册自定义输入校验器
       <component>:注册自定义组件
       <render-kit>:注册自定义组件绘制器和绘制器包

       高级扩展配置:

       <phase-listener>:注册生命周期监听器
       <factory>:配置实例化JSF核心类的工厂

 

参考:http://www.itzhai.com/jsf-notes-jsf-configuration-file-configuration-instructions-and-common-elements.html

        http://baike.baidu.com/view/1002819.htm

        http://javaee.blog.51cto.com/941919/20285

 

时间: 2025-01-29 08:15:55

JSF环境搭建web.xml和faces-config.xml配置的相关文章

Windows环境搭建Web自动化测试框架Watir(基于Ruby)

web自动化测试一直是一个比较迫切的问题 图1-1 需要安装的工具 http://railsinstaller.org/ 因为安装Ruby还需要用到其他的一些开发工具集,所以建议从网站http://railsinstaller.org/ 下载,而且使用该安装包的话,它会帮你把环境变量也设置完毕,我使用的版本是:railsinstaller-2.2.4.exe,建议下载最新版本. 开始安装RailsInstaller工具包,安装到默认位置即可. 这个对勾建议打上,它会帮你配置git和ssh,安装过

阿里云服务器LAMP环境搭建及Let’s Encrypt数字证书配置

阿里云服务器LAMP环境搭建及Let's Encrypt数字证书配置 云主机供应商:阿里云服务器ESC 云数据库供应商:阿里云RDS 服务器系统:Ubuntu 16.04 64位 服务器登录软件:WinSCP 服务器管理终端(SSH):Xshell 5(此工具可以复制.粘贴需要的代码) 因使用了阿里云便于管理数据的云数据库,本实例仅仅安装Apache.PHP. 1.通过SSH终端登录服务器并安装Apache $ sudo apt-get update(更新系统安装源) $ sudo apt-ge

myeclipse web xml-com.sun.faces.config.ConfigurationException: no web.xml present

问题描述 com.sun.faces.config.ConfigurationException: no web.xml present 我用的是MyEclipse web.xml文件存在也没有问题(以前用的时候没问题最近才出现这个问题),在我下载了一个tomcat8.0之后就出现了这问题!!!

Intellij IDEA 14.1.4 Scala开发环境搭建

主要内容 Intellij IDEA开发环境简介 Intellij IDEA Scala开发环境搭建 Intellij IDEA常见问题及解决方案 Intellij IDEA常用快捷键 1. Intellij IDEA开发环境简介 具体介绍请参见:http://baike.baidu.com/link?url=SBY93H3SPkmcmIOmZ8H60O1k4iVLgOmdqoKdGp9xHtU-Pbdsq2cpn75ZPZPWAJxeUlwr0ravraQzOckh777beq Intelli

多重环境下web.config配置管理解决方案

面临的问题 在大型web应用开发中,为了保证应用的质量,保证用户 体验,我们开发时总要经历从开发,测试,beta到最终上线的过程. 因为不同的测试运行环境的参数都不同,所以在实际开发中我们可以 编写多个web.config,每个web.config特定用于某个测试运行环境.这一切看上 去似乎顺理成章,但随着你的应用越做越大,web.config也会越来越大,而麻烦 也会随之而来. 复杂的web.config是很难进行维护的,而且牵一发动全 身.比如你开发时有一个配置节要进行修改,那所有环境下的w

SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

 要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中pom.xml中的内容如下,其中${ip}为ip地址: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

Grails+Xfire 搭建Web Service环境

Grails 加上Xfire plugin 搭建web Service 环境.总体上来说还是比较方便的.没有直接使用j2ee+xfire那么多的繁琐xml配置.Grails再一次体现了敏捷开发的便捷性.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />     首先要给自己的Grails Application 应用工程装上Xfire 的插件.可以选择先下载zip包再安装也

搭建Web服务器 绿色PHP环境套件e2php

e2php是Windows下的Apache + PHP + MySQL + Zend + eAccelerator + PhpMyAdmin的绿色环境套件,免安装,几秒钟即可搭建Web服务器. 如何使用e2php: 1.先点击下载e2php解压包,解压到任意目录(不要含中文路径). 2.运行目录内的e2php.exe执行文件,在电脑桌面右下方(系统托盘)处可看到该程序图标. 3.鼠标左键单击该程序图标,将会出现菜单选项. 启动Apache,仅启动Apache服务,重启,停止略,启动MySQL,仅

web环境搭建--梳理思路

LAMP LNMP   LAMP(Linux Apche Mysql PHP) LNMP(Linux Nginx Mysql PHP) 版本 基础 标准 高级 基础 标准 高级 APC √ √ √ √ √ √ XCache √ √ √ √ √ √ eAccelerator √ √ √ √ √ √ Vsftpd √ √ √ √ Zend Optimizer Runtime for PHP 5.2 and earlier √ √ Zend Guard Loader Runtime for PHP 5