`

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核心类的工厂
 
 
分享到:
评论

相关推荐

    jsf配置文件

    jsf 的配置文件,需放在web-inf下。faces-config.xml

    JSF开发的入门以及关键文件face-config.xml的配置

    "#{userBean.login}"&gt;&lt;/h:commandButton&gt; &lt;/h:form&gt; 在 JSF(JavaServer Faces)开发中,我们通常会遇到一些核心概念和技术,包括JSF的基本架构、face-config.xml配置文件的作用以及如何利用JavaBeans(如UserLogin...

    jsf最新版本jar包跟richfaces4.0完美结合

    2. **配置web.xml**:更新`web.xml`文件,声明RichFaces的Filter和ContextParam,确保JSF和RichFaces的正常运行。 3. **使用组件**:在JSF的视图文件(通常是`.xhtml`)中,直接引入并使用RichFaces的组件。 4. **...

    JSF的HelloWorld与新手一起分享

    - **Context Param**:配置了JSF的配置文件路径为`\WEB-INF\faces-config.xml`。 - **Servlet**:配置了JSF的Servlet,它负责处理所有的JSF请求。 #### 四、登录流程 根据上述配置,登录流程如下: 1. 用户访问`...

    JSF环境的配置.rar

    6. **JSF配置文件**:每个JSF应用程序都需要一个`faces-config.xml`配置文件,用于声明 Managed Beans、Navigation Cases 和其他JSF特定的配置。 7. **Managed Beans**:Managed Beans是JSF中的核心组件,用于存储...

    简单的jsf登录

    综上所述,这个简单的JSF登录示例展示了如何配置`web.xml`和`faces-config.xml`,创建登录页面以及实现后端逻辑。通过学习这个案例,初学者可以理解JSF的基本工作原理,并逐步掌握更复杂的应用开发。

    JSF.rar_JSF_myfaces-all.j

    4. **配置文件**:如web.xml和faces-config.xml,这些是JSF项目的关键配置文件,用于设置应用的行为和组件映射。 5. **Maven或Gradle构建文件**:如果项目使用了这些构建工具,那么会有相关的配置文件帮助管理依赖和...

    jsf介绍和例子

    3. ** faces-config.xml** - 这是JSF应用的核心配置文件,用于定义导航规则、组件、转换器和验证器等。 4. ** Managed Beans** - JSF 中的主要业务对象,用于存储和管理应用程序的业务逻辑和状态。 5. **EL...

    JSF技术总结文档.doc

    JSF的配置文件默认为`faces-config.xml`,但可以通过在`web.xml`中设置`javax.faces.CONFIG_FILES`参数来自定义配置文件的位置和名称,如: ```xml &lt;web-app&gt; &lt;context-param&gt; &lt;param-name&gt;javax.faces.CONFIG_...

    JSF入门环境配置XML配置和标签使用详细介绍以及发布部.pptx

    在配置方面,JSF应用通常需要配置`faces-config.xml`和`web.xml`文件。`faces-config.xml`定义了导航规则、组件行为等,而`web.xml`则配置了Faces Servlet和应用的其他设置。在上述例子中,`faces-config.xml`包含了...

    jsf + spring结合所需jar包

    配置Spring的ApplicationContext XML文件,定义Bean,并在JSF的faces-config.xml中声明Spring管理的Bean。同时,还需要在web.xml中配置Spring MVC的DispatcherServlet和JSF的FacesServlet。 总的来说,"jsf + ...

    mojarra_web项目需要的包_jsf-impl.jar_

    JSF 2.0引入了许多增强特性,如 faces-config.xml 配置文件的简化、自定义标签的改进、CDI集成、以及异步请求处理等。在实际开发中,Mojarra与`jsf-api.jar` 一起使用,为开发者提供了一个完整的JSF 2.0运行环境。 ...

    JSF架构使用教程.rar

    4. 熟悉JSF的配置,包括web.xml和faces-config.xml文件。 5. 了解JSF与Java EE其他服务的整合,如JPA进行数据持久化。 6. 实践中练习创建和部署JSF应用,解决可能出现的问题。 通过阅读“JSF架构使用教程.doc”,你...

    JSF- Mastering JavaServer Faces.zip

    5. ** faces-config.xml**:这是JSF的配置文件,用来定义导航规则、组件、转换器和验证器等,使得配置更加灵活和可扩展。 6. **Facelets**:JSF 2.0引入了Facelets作为默认视图层技术,它是一种XML-based模板语言,...

    JSF入门实例

    其中,`faces-config.xml`文件用于配置JSF应用,`web.xml`是Web应用的基本配置文件。 #### 五、编写JSF页面示例 下面是一个简单的JSF页面示例`hello.jsp`: ```jsp &lt;!DOCTYPE ...

    jsf的配置信息大全

    JSF使用XML文档格式来定义配置资源,主要的配置文件是`faces-config.xml`。这个文件包含了注册对象、配置bean以及定义导航规则的信息。配置资源文件可以在以下位置被JSF实现查找: 1. 父类装载器中以及在`/WEB-INF/...

    jsf12-maven.zip

    在`pom.xml`文件中,我们需要添加JSF库,例如`javax.faces`和`myfaces-api`,确保它们的版本与JSF 1.2兼容。例如: ```xml &lt;groupId&gt;javax.faces &lt;artifactId&gt;jsf-api &lt;version&gt;1.2_13 &lt;scope&gt;compile ...

    jsf1.1.01lib

    1. **web-facesconfig_1_1.dtd** 和 **web-facesconfig_1_0.dtd**:这些是文档类型定义(DTD)文件,用于验证`faces-config.xml`配置文件的语法。`web-facesconfig_1_1.dtd`对应JSF 1.1规范,而`web-facesconfig_1_0...

    jsf+spring+hibernate 配置.pdf

    最后,你需要在JSF的`faces-config.xml`中配置Managed Beans,这些Beans可以注入Spring的服务,以便在JSF视图层和业务逻辑层之间进行交互。 通过以上步骤,你已经成功配置了一个基于JSF、Spring和Hibernate的Web...

Global site tag (gtag.js) - Google Analytics