JBoss和GlassFish中部署RichFaces较容易成功

开发 后端
本文向您介绍JBoss部署RichFaces和GlassFish部署RichFaces的步骤,步骤比较简单,而且一次部署就成功

[size=medium]在MyEclipse6.0中部署到Tomcat的RichFaces项目太痛苦了,N多错误,到JBoss部署和GlassFish部署就不一样了,一次部署就成功!毕竟SUN的JSF参考实现使用的服务器就是GlassFish,而RichFaces是JBoss的开源框架!

1.解压下载的压缩包文件,复制其中的“richfaces-api-3.1.0.jar”,“richfaces-impl-3.1.0.jar”,“richfaces-ui-3.1.0.jar”文件到应用程序 "WEB-INF/lib" 目录下。

2.添加如下内容到应用程序“WEB-INF/web.xml”文件中。

 

  1.  <context-param>     
  2.  <param-name>org.richfaces.SKIN</param-name>     
  3.  <param-value>blueSky</param-value>     
  4.  </context-param>     
  5.  <filter>     
  6.  <display-name>RichFaces Filter</display-name>     
  7.  <filter-name>richfaces</filter-name>     
  8.  <filter-class>org.ajax4jsf.Filter</filter-class>     
  9.  </filter>     
  10.  <filter-mapping>     
  11.  <filter-name>richfaces</filter-name>     
  12.  <servlet-name>Faces Servlet</servlet-name>     
  13.  <dispatcher>REQUEST</dispatcher>     
  14.  <dispatcher>FORWARD</dispatcher>     
  15.  <dispatcher>INCLUDE</dispatcher>     
  16.  </filter-mapping>  

3.添加如下几行到应用程序 JSP 页面中:

 

  1.  <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>     
  2.  <%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>    

对于 XHTML 页面:

web.xml 中的 Richfaces 参数

I、初始化参数(<context-param>)
1.org.richfaces.SKIN
默认值:DEFAULT

其它八种预定义的皮肤:
DEFAULT
plain
emeraldTown
blueSky
wine
japanCherry
ruby
classic
deepMarine

其值为在应用中使用的皮肤的名字。其值可用一个精确(大小写)的字符串做为皮肤名字,或指向一个字符串属性的 EL 表达式(#{...}),或 org.richfaces.framework.skin 类型的一个属性。

2.org.ajax4jsf.LOGFILE
默认值:none

这是一个指向应用程序或容器日志文件的 URL (如果有日志文件的话)。如果设置了这个参数,那么日志文件的内容将会作为一个调试错误页面在框架(iframe)窗口中显示。

3.org.ajax4jsf.VIEW_HANDLERS
默认值:none

这是一个由逗号分隔的自定义 ViewHandler 实例的序列,用于插入到 Handlers 链路上。Handlers 按照给定的顺序被插入到 RichFaces viewhandlers 之前。例如,在 facelets 应用程序中,这个参数必须包含 com.sun.facelets.FaceletViewHandler,来代替在 faces-onfig.xml 文件中的声明。

4.org.ajax4jsf.CONTROL_COMPONENTS
默认值:none

这是一个逗号分隔的名字序列,用于将一个组件作为一个特殊的控制情形,例如资源文件加载器,别名(alias)bean 组件等等。这是一个从 COMPONENT_TYPE 静态属生反射得到的一个组件类型。对于这样类型组件的编码方法常常在呈现的 Ajax 响应中被调用,尽管这个组件不在被更新部分中。

5.org.ajax4jsf.ENCRYPT_RESOURCE_DATA
默认值:false

为了生成的资源,例如加密生成的数据,它会在资源的 URL 上被编码加密。例如,URL 指向一个由 mediaOutput 组件生成的图片,而 mediaOutput 组件包含一个生成方法的名字,那么对于一个黑客的攻击来说,他很可能创建一个对于任何 JSF baked beans 或其它属性的请求。为了避免这样的攻击,在重要的应用程序中设置这个参数为“true”(应用于 JRE > 1.4)。

6.org.ajax4jsf.ENCRYPT_PASSWORD
默认值:random

用于资源数据加密的一个密码。如果没有设置,将使用一个随机的密码。

7.org.ajax4jsf.COMPRESS_SCRIPT
默认值:true

不允许框架重新格式化 JavaScript 文件(使其不利于调试)

II、org.ajax4jsf.Filter 初始化参数
1.log4j-init-file

这是一个指向 log4j.xml 配置文件的路径(相对于应用程序上下文),log4j.xml 可用于创建每个应用程序的自定义日志信息。

2.enable-cache
默认值:true

启用框架所生成资源(JavaScript,CSS,images,等等)的缓存。为了调试开发自定义的 JavaScript 或 Style(css) 目的,应避免在浏览器中使用旧的缓存数据。

3.forceparser
默认值:true

通过一个 HTML 语法检查器强制解析每一个 JSF 页面。如果为“false”,只有 Ajax 响应才被语法检查器解析且被转换为规范的 XML。设置为“false”除了提高了性能,还为 Ajax 更新提供视觉的效果。


其他

因为本人现在使用的是 Myfaces,所以下面列出了有关 Myfaces 与 RichFaces 集成的问题:

问题在于 web.xml 文件中所定义的多个不同的过滤器之间存在冲突。为了避免这些问题,RichFaces 过滤器在配置文件中的位置必须被定义在其它过滤器之上。

当使用 MyFaces + Seam 时,还有其它问题。如果使用这个组合,那么应该在 <f:view> 标签内部使用 <a4j:page> 标签,然后再在 <a4j:page> 标签中包含其它内容,因为 Myfaces 中的 <f:view> 实现存在一些问题。

以上是JBoss部署RichFaces和GlassFish部署RichFaces的步骤

【编辑推荐】

  1. Sun发布基于GlassFish的开源网络平台
  2. 如何解决JBoss和log4j冲突
  3. 用RichFaces将桌面特性添加到浏览器应用程序中
  4. JBoss jBPM安装配置(Tomcat 6.0+MySQL 5.1)
  5. GlassFish v3 发布预发行版本
责任编辑:佚名 来源: JavaEye
相关推荐

2015-09-02 10:18:45

游戏开发开发团队

2016-01-15 14:30:27

七牛

2021-04-08 10:06:28

网络攻击智能工厂网络风险

2022-02-14 16:52:14

DDoS攻击网络安全

2009-06-10 15:14:00

2009-06-01 11:23:08

Glassfish部署Glassfish

2022-01-13 08:34:29

网络攻击黑客网络安全

2020-01-13 18:11:59

黑客网络安全新闻

2009-06-11 10:00:50

Glassfish安装GlassFish配置

2020-08-11 15:04:53

Windows 10Cortana微软

2009-06-24 13:22:27

Glassfish

2021-08-06 13:46:29

人工智能AI深度学习

2017-08-08 11:14:47

AzureKubernetes多容器应用程序

2021-01-18 09:08:44

树莓派Ceph开源

2009-06-11 11:54:00

GlassFishTomcat

2009-06-16 13:25:02

JBoss和JMS

2015-02-03 09:14:38

SDNWAN

2021-07-20 08:32:16

Kubernetes日志平台

2021-07-19 09:18:07

KubernetesELK Stackk8s
点赞
收藏

51CTO技术栈公众号