JSF web.xml的各类参数属性配置

出处:http://www.cnblogs.com/zxpgo/articles/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/202857

时间: 2024-08-02 17:48:00

JSF web.xml的各类参数属性配置的相关文章

web.xml的初始化参数

web.xml的初始化参数 ---------首先声明,这里所介绍的是web中context-param,init-param参数的初始化配置---------- --------------------------------------------------------------------------------------------------- 一.初始化参数 web.xml里面可以定义两种参数: (1)application范围内的参数,存放在servletcontext中,在

web.xml的作用及基本配置

web工程中的web.xml文件有什么作用呢?它是每个web.xml工程都必须的吗? 一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的.那什么时候需要,什么时候可以不需要呢?要想回答上面的问题,得先了解web.xml文件使用来干什么的.web.xml文件是用来配置:欢迎页.servlet.filter等的.当你的web工程没用到这些时,你可以不用web.xml文件来配置你的web工程. 那么web.xml能做的所有事情都有那些? 其实,web.xml

怎样获得(读取)web.xml配置文件的参数

参考代码如下: com.atguigu.struts2.app.converters.DateConverter.java public DateFormat getDateFormat(){ if(dateFormat == null){ //获取当前 WEB 应用的初始化参数 pattern(该参数在WEB-INF下的web.xml文件中) //第一次用的时候获取,并加载相关的信息 //这种方法是使用/struts2-6/src/xwork-conversion.properties配置文件

【spring in action 学习--springMVC搭建】在不使用web.xml的情况下,配置Srping MVC工程

一.Spring MVC 简介 DispatcherServlet是Spring MVC的核心,他负责将请求路由到其他的组件中. 在servlet3.0 之前,传统的搭建Spring MVC工程时,像DispatcherServlet这样Servlet都会配置在web.xml文件中. 在servlet3.0 中对功能进行了增强, 所以不需要将DispatcherServlet配置在web.xml中. 二. 相关代码 1.webconfig---> 这个文件中主要是用来几个功能:a.启用 Spri

servlet获取并存储web.xml中context-param参数

在web.xml中定义了context-param,一般不会随意改动,所以在监听器中做一次处理,容器启动时读取并存储在Properties中,方便以后取值. SysProperties 类用于存储 context 键值: SystemListener 监听器类,处理 context-param 参数. /** * 用于存储参数键值 */ public final class SysProperties { private static SysProperties instance; privat

web.xml中contextConfigLocation参数的作用

<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/applicationContext-hibernate.xml, /WEB-INF/classes/applicationContext-service.xml, /WEB-INF/applicationContext-acegi-security.xml /WEB-IN

servlet的web.xml文件的几种配置方式

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http

用init-param如何从web.xml中获得参数?

1.用init-param获取:(视频下载) (全部书籍) 例:1.1.1 ServletHello1.java: package com;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;impor

Web.xml 错误或异常页面配置

     <error-page>          <error-code>404</error-code>          <location>/error/hello?i=1</location>      </error-page>      <error-page>          <error-code>500</error-code>          <location&g