把《威博文件管理系统》从JSF1.2升级到JSF2的过程

随着JavaEE6规范的推出,计划把《威博文件管理系统》迁移到JavaEE6的基础架构上,在做完《威博文件管理系统》3.1.1版后,决定首先进行,JSF1.2到JSF2的升级迁移,下面就是具体过程:

 

1、首先确保web.xml的版本如下:

 

<web-app 
    version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

 

2、把JSF2的参考实现变更为majarra2.0.2,具体是把两个类库jsf-api.jar,jsf-impl.jar拷贝到/WEB-INF/lib目录下,同时删除原来JSF1.2的参考实现类库。

 

 

3、修改原来JSF1.2版本中faces-config.xml的版本号为JSF2要求的版本号如下:

<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">

 虽然在JSF2中可以通过注解可以大大减少xml文件的配置工作,但是在实际从JSF1.2迁移到JSF2时,有些配置还是必不可少的,特别是通过JSF提供的钩子,提供了自定义JSF框架行为时更是如此。

 

4、由于《威博文件管理系统》中使用了richfaces3.3.1增强库,所以应该进行相应的升级到richfaces3.3.3库,从Jboss网站下载richfaces3.3.3cr1版,拷贝三个文件richfaces-api-3.3.3.cr1.jar、richfaces-impl-jsf2-3.3.3.cr1.jar、richfaces-ui-3.3.3.cr1.jar到/WEB-INF/lib目录下。

 

5、由于目前richfaces3.3.3cr1版还不能支持JSF2内置的faceslet,所以在web.xml文件中设置参数,关闭faceslet,

具体参数如下:

    <context-param>
        <description>不使用JSF2内置的facelet视图处理器</description>
        <param-name>javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER</param-name>
        <param-value>true</param-value>
    </context-param>
 

6、修改完以上步骤后,重新生成《威博文件管理系统》的web部署归档包:webfile.war,把归档包投入到Tomcat6.0.20/webapps/目录下运行,一切正常。至此完成从JSF1.2到JSF2的迁移。

 

你可能感兴趣的:(Web,javaee,Richfaces,配置管理,JSF)