Weblogic12与jsf1.2冲突解决

现象:

用JSF+spring做了一个应用系统,JSF1.2,Richfaces3.3.3,项目部署在weblogic11上没有问题,但是部署weblogic12上,就出现各种问题。

最后经过各种调试发现的规律是:

JSF页面js报错,

JSF页面调用bean中方法调不到,

JSF页面JSF方法、标签不生效、报错

由此怀疑是怀疑JSF1.2与weblogic12有冲突。

 

解决:

查找资料:

https://docs.oracle.com/middleware/1213/wls/WBAPP/configurejsfandjtsl.htm#WBAPP199

根据官网资料,jsf2.0与weblogic12无缝连接,但是为了向下兼容,jsf1.2部署在weblogic12上需要一些配置。详见官网资料。

官网提到的配置方式有两种,由于我们的应用中包含了JSF JARs ,所以我们在WebLogic .xml (.war)或WebLogic -application.xml (.ear)中配置一个过滤类加载器,配置内容如下:

<prefer-application-packages> 
   <package-name>javax.faces.*</package-name> 
   <package-name>com.sun.faces.*</package-name> 
   <package-name>com.bea.faces.*</package-name> 
   </prefer-application-packages> 
 
   <prefer-application-resources> 
   <resource-name>javax.faces.*</resource-name> 
   <resource-name>com.sun.faces.*</resource-name> 
   <resource-name>com.bea.faces.*</resource-name> 
 
<resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name>
<resource-name>META-INF/services/com.sun.faces.*</resource-name>
   </prefer-application-resources>

完整的weblogic.xml内容如下:

<weblogic-web-app
  xmlns="http://www.bea.com/ns/weblogic/90"
  xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd"> 
     <container-descriptor>
		 <prefer-application-packages> 
		   <package-name>javax.faces.*</package-name> 
		   <package-name>com.sun.faces.*</package-name> 
		   <package-name>com.bea.faces.*</package-name> 
		   </prefer-application-packages> 
		 
		   <prefer-application-resources> 
		   <resource-name>javax.faces.*</resource-name> 
		   <resource-name>com.sun.faces.*</resource-name> 
		   <resource-name>com.bea.faces.*</resource-name> 
		 
		<resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name>
		<resource-name>META-INF/services/com.sun.faces.*</resource-name>
		   </prefer-application-resources>
     </container-descriptor> 
</weblogic-web-app>

 

将weblogic.xml与web.xml放在同级目录下,并部署在weblogic12上运行即可。这样配置之后,JSF1.2可以正常使用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值