`
wunan
  • 浏览: 3087 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

weblogic8.1下xmlbean中CDATA问题小探

阅读更多
最近同事在weblogic8.1下使用xmlbean,中间出现个问题,有个节点存储的内容也是个xml,输出的时候要求用CDATA括起来。

总结下,在weblogic的xmlbean中和apache的xmlbean有几种情况

1)weblogic的xmlbean和apache的xmlbean-1.x:
根据内容的大小和特殊字符的个数有个算法来决定是用CDATA扩起来还是转义
具体的判断在com.bea.xbean.store.Saver$TextSaver和org.apache.xmlbeans.impl.store.Saver$TextSaver里面
if ((this._lastEmitCch > 32) && (count > 5) && (count * 100 / this._lastEmitCch > 1)){
	//用<![CDATA[
}else{
	//转义
}

其中_lastEmitCch应该是内容的总数量,count是 '<'和'&'的数量

2)在apache的xmlbean-2.x中,估计是意识到了该部分的不可控性,添加了SAVE_CDATA_ENTITY_COUNT_THRESHOLD 、SAVE_CDATA_LENGTH_THRESHOLD 、LOAD_SAVE_CDATA_BOOKMARKS 来控制输出 具体见http://xmlbeans.apache.org/docs/2.4.0/reference/index.html

判断条件也改成了
if (forceCData || (_lastEmitCch > _cdataLengthThreshold && count > _cdataEntityCountThreshold) )
{
	//用<![CDATA[
}else{
	//转义
}



自己想到的一种修改方式:patch Saver类,让他基本按照CDATA输出.
开始的时候尝试反编译Saver改完后再编译。但是各种内部类和jar的引用搞的焦头烂额,
最后采取patch bytecode的方式

原来的是
106:	getfield	#94; //Field _lastEmitCch:I
   109:	bipush	32
   111:	if_icmple	332
   114:	iload	4
   116:	iconst_5
   117:	if_icmple	332
   120:	iload	4
   122:	bipush	100
   124:	imul
   125:	aload_0
   126:	getfield	#94; //Field _lastEmitCch:I
   129:	idiv
   130:	iconst_1
   131:	if_icmple	332
   134:	aload_0
   135:	getfield	#99; //Field _buf:[C
   138:	iload_1
   139:	caload


最开始想吧131处的改成00,但是报错。。。最后决定改成if_icmple 134
然后把patch后的文件打进jar放到EAR里面。自己测试倒是通过了,但是不知道是否存在jar引用先后顺序的问题。。。。
分享到:
评论

相关推荐

    weblogic 8.1 plugin for Eclipse 3.4

    weblogic 8.1 plugin for Eclipse 3.4 weblogic 8.1 plugin for Eclipse 3.4 weblogic 8.1 plugin for Eclipse 3.4

    weblogic8.1安装包

    WebLogic Server 8.1是Oracle公司开发的一款企业级应用服务器,它在Java平台上提供了一个用于构建、部署和管理分布式应用程序的平台。WebLogic Server 8.1的安装过程是IT管理员和开发者需要掌握的关键技能之一,因为...

    Weblogic8.1使用说明

    - 对于在 Weblogic 8.1 下运行的应用程序,可能需要进行一些代码层面的调整来解决特定的问题。 - **公文表单显示乱码/出错:** - 修改 officeForm.java 文件中的第 1327 行,将字符集从 UTF-16 改为 GBK。 - **...

    配置weblogic 8.1

    在本文中,我们将深入探讨如何配置WebLogic 8.1,包括设置WebLogic Workshop IDE的字体、安装简体中文包、调整系统语言环境以及理解WebLogic Workshop 8.1在处理SOAP消息时的编码行为。 首先,我们来关注WebLogic ...

    weblogic 8.1pojiebao.zip

    在WebLogic 8.1中,以下几个核心知识点是值得深入理解的: 1. **J2EE 1.3支持**:WebLogic 8.1是基于J2EE 1.3标准的,这意味着它支持EJB(Enterprise JavaBeans)、Servlet、JSP(JavaServer Pages)、JMS(Java ...

    weblogic8.1安装和配置

    - **启动配置向导**:通过“开始”菜单选择【BEA WebLogic Platform 8.1】&gt;【Configuration Wizard】,在弹出的窗口中选择“创建一个新的WebLogic配置(Create a new WebLogic configuration)”并点击【Next】。...

    Weblogic 8.1的安装与配置

    在本文中,我们将详细探讨如何安装和配置WebLogic 8.1。 1. **软件获取与版权** 软件版权是开发人员应尊重的重要原则。尽管正版软件价格较高,但许多软件厂商已转向服务模式,提供更经济的方案供个人用户使用。...

    weblogic8.1版本_1

    weblogic8.1版本_1 BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、 网络应用和数据库应用的Java应用服务器。 这个版本很难找哦......

    Weblogic 8.1安装手册pdf

    WebLogic Server 8.1是Oracle公司开发的一款企业级Java应用服务器,它是基于Java EE(Java Platform, ...《Weblogic 8.1安装手册》PDF文件应该详细解释了每一步骤和可能遇到的问题,是安装过程中重要的参考资料。

    weblogic8.1sp5补丁包

    AIX下运行的weblogic8,weblogic8.1sp5补丁,修复该版本服务无故停止响应的问题

    Weblogic 8.1中配置JDBC

    在WebLogic 8.1中配置JDBC是一个关键步骤,因为JDBC(Java Database Connectivity)是Java应用程序与各种数据库之间通信的标准接口。本教程将详细解释如何在WebLogic服务器上设置JDBC连接池和数据源。 首先,启动...

    weblogic 8.1安装与设置

    在本篇文章中,我们将深入探讨WebLogic 8.1的基础知识,包括其安装和设置过程。 **一、WebLogic Server 8.1简介** WebLogic Server 8.1是WebLogic Server系列的一个重要版本,它提供了一个可扩展、高可用性的平台...

    weblogic8.1配置说明文件

    ### WebLogic 8.1 配置说明 #### 前言 WebLogic Server 是一款高性能、高可用性且易于管理的应用服务器,适用于构建大型企业级应用系统。本篇文章将根据给定的部分内容来详细解释如何进行 WebLogic 8.1 的安装与...

    weblogic8.1应用部署.docx

    本文档将详细介绍如何在Weblogic 8.1环境下进行应用部署的过程,包括启动Weblogic服务、配置数据源以及部署应用程序等关键步骤。 #### 二、启动Weblogic服务 首先,我们需要启动Weblogic服务。可以通过以下步骤...

    WEBLOGIC8.1详细安装及配置

    本文档详细介绍了 WebLogic 8.1 的安装和配置过程,包括安装前的准备、具体安装步骤、基本配置以及常见问题解决方法。通过本文档的学习,初学者应该能够顺利完成 WebLogic 的安装,并掌握基本的数据源配置技巧。如果...

    weblogic8.1配置部署文档

    在这个配置部署文档中,我们将深入探讨如何在WebLogic 8.1环境中配置JNDI(Java Naming and Directory Interface)、设置Oracle数据源以及部署应用程序。 1. **配置JNDI和Oracle数据源** JNDI 是Java平台的一个...

    视频--在weblogic8.1中创建域

    在"在weblogic8.1中创建域.avi"这个视频文件中,很可能是对上述步骤的可视化演示,观众可以通过观看视频更直观地了解每个步骤的操作过程。这在没有文字说明的情况下尤其有用,因为视频可以展示操作的细节,如鼠标...

    Weblogic 8.1 +SP2破解版

    Weblogic 8.1 +SP2破解版

    weblogic8.1服务器性能参数优化

    ### WebLogic 8.1 服务器性能参数优化详解 #### 一、概述 WebLogic 8.1 是一款成熟的企业级应用服务器,被广泛应用于构建高性能、高可用性的企业级应用。然而,为了确保WebLogic服务器能够高效稳定地运行,对其...

    Weblogic8.1安装和配置.docx

    在本文中,我们将详细讲解WebLogic Server 8.1的安装与配置步骤,这对于初学者了解和掌握这款服务器的使用至关重要。 **安装WebLogic 8.1** 1. **启动安装程序**: 首先,你需要运行WebLogic 8.1的安装程序。这个...

Global site tag (gtag.js) - Google Analytics