﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-eagle</title><link>http://www.blogjava.net/eagle-daiq/</link><description> 学无止境,细节决定成败.</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 19:23:20 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 19:23:20 GMT</pubDate><ttl>60</ttl><item><title>jenkins 自动化发布实践整理</title><link>http://www.blogjava.net/eagle-daiq/archive/2018/11/08/433476.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Thu, 08 Nov 2018 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2018/11/08/433476.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/433476.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2018/11/08/433476.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/433476.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/433476.html</trackback:ping><description><![CDATA[最近实践Jenkins的自动化发布，即实现指定项目的编译-打包-上传-发布的持续集成发版过程。中途遇到不少问题，整理如下以备后忘。&nbsp;<br /><div><strong>1.Jenkins安装</strong><br /><div>Jenkins是开源软件，直接到官网下载最新版本安装。具体过程不再累述，网上资料很多。本文安装版本jenkins-2.138.2。</div><strong>2.Jenkins全局设置</strong><br /><div>打开Jenkins-全局工具配置 配置编译打包的工具，我使用的是maven，按具体环境配置好相应信息。若项目工程使用其他工具，如gradle在对应项配置信息即可。<br /><img src="http://www.blogjava.net/images/blogjava_net/eagle-daiq/gpz.png" width="1504" height="590" alt="" /></div><div><strong>3.publish over ssh</strong><br />Jenkins - 插件管理 可选插件tab页下安装publish over ssh插件。用于Jenkins服务器ssh传输文件到Linux服务器。<br />安装好publish over ssh插件后，到Jenkins - 配置中 publish over ssh项设置相关上传Linux服务器信息。<br /><ul><li>Passphrase&nbsp; - 默认上传服务器密码</li><li>Path to key&nbsp; - Jenkins服务器ssh key目录</li><li>key&nbsp; - Jenkins服务器ssh key内容，一般为~/.ssh目录下id_rsa.pub内容</li><li>SSH Servers - 上传服务器的配置</li></ul>Jenkins ssh key的生成网上有很多资料，不再过多介绍。我是使用的Passphrase, 登录验证key或者passphrase方式可以二选一，可根据具体情况选择。<br /><br />ssh server设置：<br />统一配置发布文件的Linux服务器，如下图。<br /><img src="http://www.blogjava.net/images/blogjava_net/eagle-daiq/server.png" width="1512" height="291" alt="" /><br />其中 remote directory 表示发布文件到服务器的默认目录。若为空默认为当前登录用户目录。<br /><br /><br /><strong>4.项目发布<br /></strong>本文以svn的订单order项目为例，通过Jenkins工具，经过编译-打包-上传-发布过程，动态的将java jar发布到两台服务器。<br />4.1 新建任务<br />Jenkins - 新建任务，创建order发布的一个任务。由于项目是基于maven的，所以选择'构建一个maven项目'进入配置页面。<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/eagle-daiq/task.png" width="1271" height="523" alt="" /><br /><br />配置svn代码库信息：<br /><div><img src="http://www.blogjava.net/images/blogjava_net/eagle-daiq/svn.png" width="1679" height="801" alt="" /></div>build配置：对应项目输入项目构建命令。<br /><img src="http://www.blogjava.net/images/blogjava_net/eagle-daiq/build.png" width="1458" height="230" alt="" /><span style="white-space: pre;">	<br /><br />p</span>ost steps：配置发布服务器的信息。如下图。<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/eagle-daiq/postcfg.png" width="1389" height="877" alt="" /><br />由于order订单服务是集群部署，分别设置了2台 ssh server。<br />source files 是指上传到服务器的发布文件。Jenkins默认编译后文件在workspace目录下，这里输入target/{发布jar文件}. 上传到发布服务器后，不需要target目录，所以 remove prefix中填target/。 <br />Remote directory可以为空，由于我们在第3步中已经设置了全局默认ssh server的remote directory ，所以这里可以不填，如这里设置将覆盖之前的全局配置目录。<br />exec command是文件上传到发布服务器后，需要执行的shell脚本指令，用于发布order jar包的启动备份命令。图中app-deploy.sh为应用jar文件的启动备份shell脚本文件，需放到发布服务器指定目录下。其中BUILD_ID=DONTKILLME是为了kill 老的运行jar时避免当前执行进程不被误杀。<br /><br />app-deploy.sh文件：<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#!/bin/sh<br />##&nbsp;java&nbsp;env<br />##&nbsp;service&nbsp;name<br />SERVICE_NAME=$1<br />SERVICE_DIR=/usr/service/<br />JAR_NAME=$SERVICE_NAME\.jar<br />PID=$SERVICE_NAME\.pid<br /><br />#function&nbsp;start<br />start(){<br />&nbsp;&nbsp;&nbsp;cd&nbsp;$SERVICE_DIR<br />&nbsp;&nbsp;&nbsp;source&nbsp;/etc/profile<br />&nbsp;&nbsp;&nbsp;##&nbsp;nohup&nbsp;java&nbsp;-Xms256m&nbsp;-Xmx512m&nbsp;-jar&nbsp;$JAR_NAME&nbsp;&gt;log/$SERVICE_NAME.out&nbsp;2&gt;&amp;1&nbsp;&amp;<br />&nbsp;&nbsp;&nbsp;nohup&nbsp;java&nbsp;-jar&nbsp;-Xms256m&nbsp;-Xmx256m&nbsp;$JAR_NAME&nbsp;&gt;/dev/<span style="color: #0000FF; ">null</span>&nbsp;2&gt;&amp;1&nbsp;&amp;<br />&nbsp;&nbsp;&nbsp;echo&nbsp;$!&nbsp;&gt;&nbsp;$SERVICE_DIR/$PID<br />&nbsp;&nbsp;&nbsp;echo&nbsp;"####&nbsp;start&nbsp;$SERVICE_NAME"<br />}<br /><br />#&nbsp;function&nbsp;stop<br />stop(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd&nbsp;$SERVICE_DIR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;[&nbsp;-f&nbsp;"$SERVICE_DIR/$PID"&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kill&nbsp;`cat&nbsp;$SERVICE_DIR/$PID`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rm&nbsp;-rf&nbsp;$SERVICE_DIR/$PID<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"####&nbsp;stop&nbsp;$SERVICE_NAME"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;sleep&nbsp;3<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;PROCESS=`ps&nbsp;-ef|grep&nbsp;$JAR_NAME&nbsp;|grep&nbsp;-v&nbsp;grep|grep&nbsp;-v&nbsp;PPID|awk&nbsp;'{&nbsp;print&nbsp;$2}'`<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;i&nbsp;in&nbsp;$PROCESS<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">do</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"Kill&nbsp;the&nbsp;$SERVICE_NAME&nbsp;process&nbsp;[&nbsp;$i&nbsp;]"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kill&nbsp;-9&nbsp;$i<br />&nbsp;&nbsp;&nbsp;&nbsp;done<br />}<br /><br />#&nbsp;function&nbsp;clean<br />clean(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"---start&nbsp;do&nbsp;do&nbsp;clean&nbsp;phase."<br />&nbsp;&nbsp;&nbsp;&nbsp;cd&nbsp;$SERVICE_DIR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;[&nbsp;!&nbsp;-d&nbsp;"lastDeploy"&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mkdir&nbsp;lastDeploy<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;[&nbsp;-f&nbsp;"$JAR_NAME"&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"backup&nbsp;$JAR_NAME"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mv&nbsp;$JAR_NAME&nbsp;lastDeploy/$JAR_NAME\_`date&nbsp;"+%Y%m%d%H%M%S"`<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;[&nbsp;-d&nbsp;"tmp"&nbsp;];&nbsp;then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mv&nbsp;-f&nbsp;tmp/$JAR_NAME&nbsp;./<br />&nbsp;&nbsp;&nbsp;&nbsp;fi<br />}<br /><br /><span style="color: #0000FF; ">case</span>&nbsp;"$2"&nbsp;in<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;start)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;stop)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;restart)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"####&nbsp;restart&nbsp;$SERVICE_NAME"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;clean)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clean<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"####&nbsp;clean&nbsp;$SERVICE_NAME"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;deploy)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clean<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;start<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"####&nbsp;deploy&nbsp;$SERVICE_NAME"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />esac<br />exit&nbsp;0</div>以上脚本发布逻辑如下：<br />1.先stop老的jar应用程序。先从记录的pid文件中找kill的进程，找不到通过ps指令查找当前运行jar文件，再kill -9 杀掉。<br />2.将老的jar程序移动到lastDeploy目录备份，并加上时间戳后缀。将待发布的新jar文件从tmp目录移动到发布目录。<br />3.启动新的jar程序文件。<br /><br /><br /><div></div></div></div><img src ="http://www.blogjava.net/eagle-daiq/aggbug/433476.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2018-11-08 11:53 <a href="http://www.blogjava.net/eagle-daiq/archive/2018/11/08/433476.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java加密算法实现（RSA,AES,DES,Hmac,MD5,Base64）</title><link>http://www.blogjava.net/eagle-daiq/archive/2017/05/28/432558.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Sun, 28 May 2017 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2017/05/28/432558.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/432558.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2017/05/28/432558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/432558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/432558.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: KeyAlgorithmEnuKeyAlgorithmEnuCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->&nbsp;1&nbsp;/**&nbsp;2&nbsp;&nbsp;*&nbsp;系统支持的加密算法&nbsp;3&nbsp;&nbsp;*/...&nbsp;&nbsp;<a href='http://www.blogjava.net/eagle-daiq/archive/2017/05/28/432558.html'>阅读全文</a><img src ="http://www.blogjava.net/eagle-daiq/aggbug/432558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2017-05-28 17:16 <a href="http://www.blogjava.net/eagle-daiq/archive/2017/05/28/432558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java可执行jar读取外部属性文件的方法</title><link>http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429717.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Fri, 18 Mar 2016 02:10:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429717.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/429717.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/429717.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/429717.html</trackback:ping><description><![CDATA[有一个可执行的exl2xsd.jar文件，在exl2xsd.jar中需要读取配置文件的config.properties信息。如下截图。<br /><img src="http://www.blogjava.net/images/blogjava_net/eagle-daiq/244C.tmp.jpg" width="781" height="279" alt="" /><br />读取jar包外的方法逻辑:通过获取类文件所在code source的路径来定位jar包路径。然后由"jar包路径+配置文件名"的方式取得对应属性文件。<br /><br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">/**</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;取类对应source源目录路径<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@param</span><span style="color: #008000; ">&nbsp;clazz<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@author</span><span style="color: #008000; ">&nbsp;qiang.dai<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@return</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">static</span>&nbsp;String&nbsp;getCodeSourcePath(Class&nbsp;clazz)&nbsp;{<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;URL&nbsp;url&nbsp;=&nbsp;clazz.getProtectionDomain().getCodeSource().getLocation();<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;path&nbsp;=&nbsp;url.getPath();<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">try</span>&nbsp;{<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(path.toUpperCase().endsWith(".JAR"))&nbsp;{<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;index&nbsp;=&nbsp;path.lastIndexOf("/");<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;=&nbsp;path.substring(0,&nbsp;index);<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;java.net.URLDecoder.decode(path,&nbsp;"UTF-8");<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">catch</span>&nbsp;(UnsupportedEncodingException&nbsp;e)&nbsp;{<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;"";<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div><br />读取配置文件:<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;ConfigManager()&nbsp;{<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">try</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;classPath&nbsp;=&nbsp;URLUtil.getCodeSourcePath(ConfigManager.<span style="color: #0000FF; ">class</span>);<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties&nbsp;prop&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;Properties();<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("path="+classPath+File.separator+CONFIG_FILE_NAME);</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prop.load(<span style="color: #0000FF; ">new</span>&nbsp;FileReader(<span style="color: #0000FF; ">new</span>&nbsp;File(<span style="color: #0000FF; ">new</span>&nbsp;File(classPath),CONFIG_FILE_NAME)));<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initConfigs(prop);<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">catch</span>&nbsp;(Exception&nbsp;e)&nbsp;{<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(String.format("******初始化配置文件失败,请检查文件[%s]在当前目录下存在******",&nbsp;CONFIG_FILE_NAME));<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">throw</span>&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;RuntimeException(e);<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div><img src ="http://www.blogjava.net/eagle-daiq/aggbug/429717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2016-03-18 10:10 <a href="http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>poi解析excel列子</title><link>http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429716.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Fri, 18 Mar 2016 01:51:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429716.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/429716.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429716.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/429716.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/429716.html</trackback:ping><description><![CDATA[工作中有时会用java程序分析excel文件内容。本文介绍使用poi解析excel&nbsp;2007及以上版本的方法，以备参考。<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">/**</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;poi解析excel&nbsp;&nbsp;&nbsp;&nbsp;sample<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;针对2007及以上版本&nbsp;使用XSSF解析<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@throws</span><span style="color: #008000; ">&nbsp;EncryptedDocumentException<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@throws</span><span style="color: #008000; ">&nbsp;InvalidFormatException<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080; ">@throws</span><span style="color: #008000; ">&nbsp;IOException<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">*/</span><br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;<span style="color: #0000FF; ">void</span>&nbsp;parseExcel()&nbsp;<span style="color: #0000FF; ">throws</span>&nbsp;EncryptedDocumentException,&nbsp;InvalidFormatException,&nbsp;IOException{<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;is&nbsp;=&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;FileInputStream("e:\\excel.xlsx");<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Workbook&nbsp;workbook&nbsp;=&nbsp;WorkbookFactory.create(is);&nbsp;&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sheet&nbsp;sheet&nbsp;=&nbsp;<span style="color: #0000FF; ">null</span>;<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;workbook.getNumberOfSheets();&nbsp;i++)&nbsp;{<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;获取每个Sheet表</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sheet&nbsp;=&nbsp;workbook.getSheetAt(i);<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;sheetName&nbsp;=&nbsp;sheet.getSheetName();<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(workbook.isSheetHidden(i)){<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">判断sheet页是否被隐藏</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("sheet="+sheetName+",&nbsp;is&nbsp;hidden.");<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span>;<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;sheet.getPhysicalNumberOfRows();&nbsp;j++)&nbsp;{<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;获取每行</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(j==0)&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">第一行title，不处理</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span>;<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Row&nbsp;row&nbsp;=&nbsp;sheet.getRow(j);<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(row&nbsp;==&nbsp;<span style="color: #0000FF; ">null</span>)<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span>;<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">处理每行数据</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">try</span>&nbsp;{<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>(row.getZeroHeight()){<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">行是否被隐藏</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("---Sheet表["+sheetName+"],第"&nbsp;+&nbsp;j&nbsp;+&nbsp;"行被隐藏，不处理---");<br /><span style="color: #008080; ">31</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">continue</span>;<br /><span style="color: #008080; ">32</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">33</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;columns&nbsp;=&nbsp;row.getPhysicalNumberOfCells();<br /><span style="color: #008080; ">34</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span>&nbsp;c=0;c&lt;columns;c++){<br /><span style="color: #008080; ">35</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cell&nbsp;cell&nbsp;=&nbsp;row.getCell(c);<br /><span style="color: #008080; ">36</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">TODO:&nbsp;busyness&nbsp;process<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span style="color: #008000; "><br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #008000; "></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">38</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">catch</span>&nbsp;(Exception&nbsp;e)&nbsp;{<br /><span style="color: #008080; ">39</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("---Sheet表["+sheetName+"],第"&nbsp;+&nbsp;j&nbsp;+&nbsp;"行处理出错<img src="http://www.blogjava.net/Images/dot.gif"  alt="" />.---");<br /><span style="color: #008080; ">40</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><span style="color: #008080; ">41</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">throw</span>&nbsp;<span style="color: #0000FF; ">new</span>&nbsp;RuntimeException(e);<br /><span style="color: #008080; ">42</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">43</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">44</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("---Sheet表["+sheetName+"],第"&nbsp;+&nbsp;j&nbsp;+&nbsp;"行处理完毕---");<br /><span style="color: #008080; ">45</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">46</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">47</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</div><img src ="http://www.blogjava.net/eagle-daiq/aggbug/429716.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2016-03-18 09:51 <a href="http://www.blogjava.net/eagle-daiq/archive/2016/03/18/429716.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>httpclient 实现java后台post xml请求</title><link>http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369018.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Mon, 30 Jan 2012 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369018.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/369018.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369018.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/369018.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/369018.html</trackback:ping><description><![CDATA[apache的httpClient工具包能实现http相关请求。以下是一个java后台包装xml参数请求服务的工具类。
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_0_217_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_217_Open_Text.style.display='none'; Codehighlighter1_0_217_Closed_Image.style.display='inline'; Codehighlighter1_0_217_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_0_217_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_0_217_Closed_Text.style.display='none'; Codehighlighter1_0_217_Open_Image.style.display='inline'; Codehighlighter1_0_217_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_0_217_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_0_217_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Post&nbsp;Http&nbsp;request&nbsp;with&nbsp;XML&nbsp;parameter<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;requestUrl&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;xmlData&nbsp;&nbsp;&nbsp;&nbsp;request&nbsp;xml&nbsp;parameter<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;contentType&nbsp;such&nbsp;as&nbsp;"application/xml"<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;charset&nbsp;such&nbsp;as&nbsp;"UTF-8"&nbsp;or&nbsp;"GBK"<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_337_1477_Open_Image" onclick="this.style.display='none'; Codehighlighter1_337_1477_Open_Text.style.display='none'; Codehighlighter1_337_1477_Closed_Image.style.display='inline'; Codehighlighter1_337_1477_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_337_1477_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_337_1477_Closed_Text.style.display='none'; Codehighlighter1_337_1477_Open_Image.style.display='inline'; Codehighlighter1_337_1477_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;HttpRespondResult&nbsp;postXmlRequest(String&nbsp;requestUrl,&nbsp;String&nbsp;xmlData,&nbsp;String&nbsp;contentType,&nbsp;String&nbsp;charset)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_337_1477_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_337_1477_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpRespondResult&nbsp;revObj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HttpRespondResult();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">init&nbsp;PostMethod&nbsp;object.</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PostMethod&nbsp;post&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;PostMethod(requestUrl);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img id="Codehighlighter1_478_1027_Open_Image" onclick="this.style.display='none'; Codehighlighter1_478_1027_Open_Text.style.display='none'; Codehighlighter1_478_1027_Closed_Image.style.display='inline'; Codehighlighter1_478_1027_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_478_1027_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_478_1027_Closed_Text.style.display='none'; Codehighlighter1_478_1027_Open_Image.style.display='inline'; Codehighlighter1_478_1027_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_478_1027_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_478_1027_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">wrape&nbsp;the&nbsp;request&nbsp;entity.</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RequestEntity&nbsp;requestEntity&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringRequestEntity(xmlData,&nbsp;contentType,&nbsp;charset);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;post.setRequestEntity(requestEntity);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpClient&nbsp;httpClient&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HttpClient();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;send&nbsp;the&nbsp;post&nbsp;http&nbsp;request&nbsp;and&nbsp;reture&nbsp;status&nbsp;code.</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;statusCode&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;httpClient.executeMethod(post);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;get&nbsp;reture&nbsp;content&nbsp;from&nbsp;server&nbsp;side.</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;bodyContent&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;post.getResponseBodyAsString();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;populate&nbsp;the&nbsp;reture&nbsp;values&nbsp;to&nbsp;vo.</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;revObj.setStatusCode(statusCode);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;revObj.setRespondbodyContent(bodyContent);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img id="Codehighlighter1_1068_1129_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1068_1129_Open_Text.style.display='none'; Codehighlighter1_1068_1129_Closed_Image.style.display='inline'; Codehighlighter1_1068_1129_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1068_1129_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1068_1129_Closed_Text.style.display='none'; Codehighlighter1_1068_1129_Open_Image.style.display='inline'; Codehighlighter1_1068_1129_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(UnsupportedEncodingException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1068_1129_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1068_1129_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;revObj.handleExceptionMsg(e);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img id="Codehighlighter1_1154_1215_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1154_1215_Open_Text.style.display='none'; Codehighlighter1_1154_1215_Closed_Image.style.display='inline'; Codehighlighter1_1154_1215_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1154_1215_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1154_1215_Closed_Text.style.display='none'; Codehighlighter1_1154_1215_Open_Image.style.display='inline'; Codehighlighter1_1154_1215_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(HttpException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1154_1215_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1154_1215_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;revObj.handleExceptionMsg(e);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img id="Codehighlighter1_1239_1300_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1239_1300_Open_Text.style.display='none'; Codehighlighter1_1239_1300_Closed_Image.style.display='inline'; Codehighlighter1_1239_1300_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1239_1300_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1239_1300_Closed_Text.style.display='none'; Codehighlighter1_1239_1300_Open_Image.style.display='inline'; Codehighlighter1_1239_1300_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IOException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1239_1300_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1239_1300_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;revObj.handleExceptionMsg(e);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img id="Codehighlighter1_1321_1382_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1321_1382_Open_Text.style.display='none'; Codehighlighter1_1321_1382_Closed_Image.style.display='inline'; Codehighlighter1_1321_1382_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1321_1382_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1321_1382_Closed_Text.style.display='none'; Codehighlighter1_1321_1382_Open_Image.style.display='inline'; Codehighlighter1_1321_1382_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1321_1382_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1321_1382_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;revObj.handleExceptionMsg(e);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img id="Codehighlighter1_1391_1451_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1391_1451_Open_Text.style.display='none'; Codehighlighter1_1391_1451_Closed_Image.style.display='inline'; Codehighlighter1_1391_1451_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1391_1451_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1391_1451_Closed_Text.style.display='none'; Codehighlighter1_1391_1451_Open_Image.style.display='inline'; Codehighlighter1_1391_1451_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff">finally</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1391_1451_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1391_1451_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">close&nbsp;the&nbsp;connection.</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;post.releaseConnection();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;revObj;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div><br /><br /><br /><br /><img src ="http://www.blogjava.net/eagle-daiq/aggbug/369018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2012-01-30 14:22 <a href="http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jaxb笔记</title><link>http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369016.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Mon, 30 Jan 2012 06:02:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369016.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/369016.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/369016.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/369016.html</trackback:ping><description><![CDATA[<p><span style="font-family: 宋体">最近项目原因，研究了下</span>jaxb<span style="font-family: 宋体">。</span>jaxb<span style="font-family: 宋体">是</span>Java api xml binding<span style="font-family: 宋体">的简称，是为实现</span>java<span style="font-family: 宋体">与</span>xml<span style="font-family: 宋体">数据的相互转换而定义的一个</span>api<span style="font-family: 宋体">标准。该标准以</span>annotation<span style="font-family: 宋体">的方式实现</span>xml<span style="font-family: 宋体">的转换。不用开发人员单独解析每个对象属性与</span>xml<span style="font-family: 宋体">元素的</span>mapping<span style="font-family: 宋体">关系，只需在</span>java bean<span style="font-family: 宋体">中注入简单的</span>java annotation<span style="font-family: 宋体">，其他的交给工具去处理。该工具包类能给xml数据处理带来极大方便。具体实现见下。</p>
<p><strong>Java bean</strong><strong><span style="font-family: 宋体">对象定义：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_0_847_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_847_Open_Text.style.display='none'; Codehighlighter1_0_847_Closed_Image.style.display='inline'; Codehighlighter1_0_847_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_0_847_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_0_847_Closed_Text.style.display='none'; Codehighlighter1_0_847_Open_Image.style.display='inline'; Codehighlighter1_0_847_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_0_847_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_0_847_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;促销xml对象类&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;daiqiang<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;对应xml文件内容如下：<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*&nbsp;&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"&nbsp;standalone="yes"?&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&lt;promotion&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;id&gt;promotionId&lt;/id&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;元旦促销&lt;/name&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;type&gt;CMS&lt;/type&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;typeDes&gt;CMS主推促销&lt;/typeDes&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;startTime&gt;2012-01-01&lt;/startTime&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;endTime&gt;2012-01-03&lt;/endTime&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;products&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;product&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;merchantId&gt;merchantid&lt;/merchantId&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;num&gt;500&lt;/num&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;productCode&gt;code1&lt;/productCode&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;productId&gt;111&lt;/productId&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;requestId&gt;codedata&lt;/requestId&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/product&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;product&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;merchantId&gt;merchantid2&lt;/merchantId&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;num&gt;800&lt;/num&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;productCode&gt;code2&lt;/productCode&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;productId&gt;2&lt;/productId&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;requestId&gt;codedata&lt;/requestId&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/product&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/products&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/promotion&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;*<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />@XmlRootElement(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">promotion</span><span style="color: #000000">"</span><span style="color: #000000">)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />@XmlAccessorType(XmlAccessType.FIELD)<br /><img id="Codehighlighter1_967_1389_Open_Image" onclick="this.style.display='none'; Codehighlighter1_967_1389_Open_Text.style.display='none'; Codehighlighter1_967_1389_Closed_Image.style.display='inline'; Codehighlighter1_967_1389_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_967_1389_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_967_1389_Closed_Text.style.display='none'; Codehighlighter1_967_1389_Open_Image.style.display='inline'; Codehighlighter1_967_1389_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Promotion&nbsp;</span><span style="color: #0000ff">implements</span><span style="color: #000000">&nbsp;Serializable</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_967_1389_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_967_1389_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">final</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;serialVersionUID&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">870036805093867083L</span><span style="color: #000000">;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;id;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;name;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;type;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;typeDes;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;startTime;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;endTime;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;@XmlElementWrapper(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">products</span><span style="color: #000000">"</span><span style="color: #000000">)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;@XmlElement(name</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">product</span><span style="color: #000000">"</span><span style="color: #000000">)<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;List</span><span style="color: #000000">&lt;</span><span style="color: #000000">Product</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;products;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;<br /><img id="Codehighlighter1_1284_1366_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1284_1366_Open_Text.style.display='none'; Codehighlighter1_1284_1366_Closed_Image.style.display='inline'; Codehighlighter1_1284_1366_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1284_1366_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1284_1366_Closed_Text.style.display='none'; Codehighlighter1_1284_1366_Open_Image.style.display='inline'; Codehighlighter1_1284_1366_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1284_1366_Closed_Text">/**/</span><span id="Codehighlighter1_1284_1366_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000">@XmlTransient<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;field&nbsp;is&nbsp;not&nbsp;binded&nbsp;to&nbsp;xml<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;String&nbsp;testHiddenFields;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">此处省略具体set&nbsp;get&nbsp;方法。<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /></span></div>
<p></span></span></strong></p>
<p><span style="font-family: 宋体; color: #3f7f5f; font-size: 10pt">说明：上文定义了一个促销对象类</span><span style="font-family: 'Courier New'; color: black; font-size: 10pt">Promotion. </span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt"></span></p>
<p><span style="font-family: 宋体; color: #3f7f5f; font-size: 10pt">类标注表示：</span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">@XmlRootElement</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">：用于定义该对象映射成</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">根节点元素名，默认与类名一致。可通过</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">@XmlRootElement</span><span style="font-family: 'Courier New'; color: black; font-size: 10pt">(name=</span><span style="font-family: 'Courier New'; color: #2a00ff; font-size: 10pt">"otherRootElement"</span><span style="font-family: 'Courier New'; color: black; font-size: 10pt">)</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">方式指定具体名称。</span></p>
<p align="left">&nbsp;</p>
<p align="left"><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">@XmlAccessorType: </span><span style="font-family: 宋体; color: #646464; font-size: 10pt">用于标识该</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">java</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">对象与</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">映射的访问方式。有如下属性值。</span></p>
<p align="left"><em><span style="font-family: 'Courier New'; color: #0000c0; font-size: 10pt">PROPERTY/FIELD/PUBLIC_MEMBER/NONE</span></em></p>
<p align="left"><em>&nbsp;</em></p>
<p align="left"><em><span style="font-family: 'Courier New'; color: #0000c0; font-size: 10pt">PROPERTY: </span></em><span style="font-family: 宋体; color: #646464; font-size: 10pt">所有</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">set/get</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">方法对将被映射为</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">元素</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">.</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">除非被</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">XmlTransient</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">标注例外</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">.</span></p>
<p align="left">&nbsp;</p>
<p align="left"><em><span style="font-family: 'Courier New'; color: #0000c0; font-size: 10pt">FIELD:</span></em><span style="font-family: 宋体; color: #646464; font-size: 10pt">所有对象属性将被映射为</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">元素。除非被</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">XmlTransient</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">标注例外</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">.</span></p>
<p align="left">&nbsp;</p>
<p align="left"><em><span style="font-family: 'Courier New'; color: #0000c0; font-size: 10pt">PUBLIC_MEMBER</span></em><em><span style="font-family: 宋体; color: #0000c0; font-size: 10pt">：</span></em><span style="font-family: 宋体; color: #646464; font-size: 10pt">每个</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">public</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">的</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">get/set</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">对方法或</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">public field</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">将被映射为</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">元素。除非被</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">XmlTransient</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">标注例外</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">.</span></p>
<p align="left">&nbsp;</p>
<p align="left"><em><span style="font-family: 'Courier New'; color: #0000c0; font-size: 10pt">NONE</span></em><em><span style="font-family: 宋体; color: #0000c0; font-size: 10pt">：</span></em><span style="font-family: 宋体; color: #646464; font-size: 10pt">没有</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">fields </span><span style="font-family: 宋体; color: #646464; font-size: 10pt">或</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt"> property</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">被映射，除非显示指定具体</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">fields</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">或</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">property</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">。</span></p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left"><span style="font-family: 宋体; color: #646464; font-size: 10pt">属性标注表示：</span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">@XmlTransient:</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">指对应属性不做</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">映射。</span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">@XmlElement(name="product")</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">：指定属性映射时对应</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">元素名称</span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">@XmlElementWrapper(name="products")</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">：在某些场景下，需要对映射的属性做包装处理。如例子中</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">products List</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">对象属性，在</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">xml</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">中我想在映射对所有的</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">product</span><span style="font-family: 宋体; color: #646464; font-size: 10pt">元素再做一个</span><span style="font-family: 'Courier New'; color: #646464; font-size: 10pt">products </span><span style="font-family: 宋体; color: #646464; font-size: 10pt">元素包装，如下所示，就可以按此种方式实现。</span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #7f7f9f; font-size: 10pt">&lt;products&gt;</span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #3f5fbf; font-size: 10pt">&nbsp;&nbsp;&nbsp; </span><span style="font-family: 'Courier New'; color: #7f7f9f; font-size: 10pt">&lt;product&gt; &#8230; &lt;/product&gt;</span></p>
<p align="left"><span style="font-family: 'Courier New'; font-size: 10pt">&nbsp;&nbsp;&nbsp; <span style="color: #7f7f9f">&lt;product&gt; &#8230; &lt;/product&gt;</span></span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #7f7f9f; font-size: 10pt">&nbsp;&nbsp;&nbsp; &#8230;</span></p>
<p align="left"><span style="font-family: 'Courier New'; color: #7f7f9f; font-size: 10pt">&lt;/products&gt;<br /><br /></span></p>
<p>&nbsp;</p>
<p align="left"><strong><span style="font-family: 'Courier New'; font-size: 10pt">Java</span></strong><strong><span style="font-family: 宋体; font-size: 10pt">与</span></strong><strong><span style="font-family: 'Courier New'; font-size: 10pt">xml</span></strong><strong><span style="font-family: 宋体; font-size: 10pt">映射方法</span></strong><strong><span style="font-family: 'Courier New'; font-size: 10pt"></span></strong></p>
<p align="left"><strong>&nbsp;</strong></p>
<p align="left"><strong><span style="font-family: 'Courier New'; font-size: 10pt">Java</span></strong><strong><span style="font-family: 宋体; font-size: 10pt">对象到</span></strong><strong><span style="font-family: 'Courier New'; font-size: 10pt">XML</span></strong></p>
<p>&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_0_352_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_352_Open_Text.style.display='none'; Codehighlighter1_0_352_Closed_Image.style.display='inline'; Codehighlighter1_0_352_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_0_352_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_0_352_Closed_Text.style.display='none'; Codehighlighter1_0_352_Open_Image.style.display='inline'; Codehighlighter1_0_352_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_0_352_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_0_352_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;convent&nbsp;java&nbsp;object&nbsp;to&nbsp;xml&nbsp;format&nbsp;String.<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;originalObj<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;xmlCharset<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;format&nbsp;of&nbsp;charset&nbsp;for&nbsp;xml.&nbsp;ie&nbsp;"UTF-8",&nbsp;"GBK"<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;isFragment<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;whether&nbsp;or&nbsp;not&nbsp;display&nbsp;the&nbsp;header&nbsp;for&nbsp;the&nbsp;generated&nbsp;xml.&nbsp;such<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;as&nbsp;&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"&nbsp;standalone="yes"?&gt;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;String&nbsp;convertJava2XmlStr(Object&nbsp;originalObj,<br /><img id="Codehighlighter1_457_1119_Open_Image" onclick="this.style.display='none'; Codehighlighter1_457_1119_Open_Text.style.display='none'; Codehighlighter1_457_1119_Closed_Image.style.display='inline'; Codehighlighter1_457_1119_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_457_1119_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_457_1119_Closed_Text.style.display='none'; Codehighlighter1_457_1119_Open_Image.style.display='inline'; Codehighlighter1_457_1119_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;xmlCharset,&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;isFragment)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_457_1119_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_457_1119_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;xmlStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">;<br /><img id="Codehighlighter1_487_937_Open_Image" onclick="this.style.display='none'; Codehighlighter1_487_937_Open_Text.style.display='none'; Codehighlighter1_487_937_Closed_Image.style.display='inline'; Codehighlighter1_487_937_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_487_937_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_487_937_Closed_Text.style.display='none'; Codehighlighter1_487_937_Open_Image.style.display='inline'; Codehighlighter1_487_937_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_487_937_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_487_937_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JAXBContext&nbsp;ctx&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JAXBContext.newInstance(originalObj.getClass());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Marshaller&nbsp;marshaller&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ctx.createMarshaller();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;marshaller.setProperty(Marshaller.JAXB_ENCODING,&nbsp;xmlCharset);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;marshaller.setProperty(Marshaller.JAXB_FRAGMENT,&nbsp;isFragment);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByteArrayOutputStream&nbsp;os&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ByteArrayOutputStream();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;marshaller.marshal(originalObj,&nbsp;os);<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xmlStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;os.toString();<br /><img id="Codehighlighter1_967_995_Open_Image" onclick="this.style.display='none'; Codehighlighter1_967_995_Open_Text.style.display='none'; Codehighlighter1_967_995_Closed_Image.style.display='inline'; Codehighlighter1_967_995_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_967_995_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_967_995_Closed_Text.style.display='none'; Codehighlighter1_967_995_Open_Image.style.display='inline'; Codehighlighter1_967_995_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(PropertyException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_967_995_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_967_995_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img id="Codehighlighter1_1021_1049_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1021_1049_Open_Text.style.display='none'; Codehighlighter1_1021_1049_Closed_Image.style.display='inline'; Codehighlighter1_1021_1049_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1021_1049_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1021_1049_Closed_Text.style.display='none'; Codehighlighter1_1021_1049_Open_Image.style.display='inline'; Codehighlighter1_1021_1049_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(JAXBException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1021_1049_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1021_1049_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img id="Codehighlighter1_1071_1099_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1071_1099_Open_Text.style.display='none'; Codehighlighter1_1071_1099_Closed_Image.style.display='inline'; Codehighlighter1_1071_1099_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_1071_1099_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_1071_1099_Closed_Text.style.display='none'; Codehighlighter1_1071_1099_Open_Image.style.display='inline'; Codehighlighter1_1071_1099_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_1071_1099_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1071_1099_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;xmlStr;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p>&nbsp;</p>
<p align="left"><strong><span style="font-family: 'Courier New'; color: black; font-size: 10pt">XML</span></strong><strong><span style="font-family: 宋体; color: black; font-size: 10pt">到</span></strong><strong><span style="font-family: 'Courier New'; color: black; font-size: 10pt">Java</span></strong><strong><span style="font-family: 宋体; color: black; font-size: 10pt">对象</span></strong><strong><span style="font-family: 'Courier New'; color: black; font-size: 10pt"></span></strong></p>
<p>&nbsp;</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_0_125_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_125_Open_Text.style.display='none'; Codehighlighter1_0_125_Closed_Image.style.display='inline'; Codehighlighter1_0_125_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_0_125_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_0_125_Closed_Text.style.display='none'; Codehighlighter1_0_125_Open_Image.style.display='inline'; Codehighlighter1_0_125_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_0_125_Closed_Text">/**&nbsp;*/</span><span id="Codehighlighter1_0_125_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;convert&nbsp;xml&nbsp;string&nbsp;to&nbsp;Java&nbsp;object&nbsp;by&nbsp;JAXB.<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;obj&nbsp;&nbsp;to&nbsp;convert&nbsp;java&nbsp;object.<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;xmlStr&nbsp;&nbsp;&nbsp;&nbsp;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_195_507_Open_Image" onclick="this.style.display='none'; Codehighlighter1_195_507_Open_Text.style.display='none'; Codehighlighter1_195_507_Closed_Image.style.display='inline'; Codehighlighter1_195_507_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_195_507_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_195_507_Closed_Text.style.display='none'; Codehighlighter1_195_507_Open_Image.style.display='inline'; Codehighlighter1_195_507_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Object&nbsp;convertXmlStr2Java(Object&nbsp;obj,&nbsp;String&nbsp;xmlStr)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_195_507_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_195_507_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_203_436_Open_Image" onclick="this.style.display='none'; Codehighlighter1_203_436_Open_Text.style.display='none'; Codehighlighter1_203_436_Closed_Image.style.display='inline'; Codehighlighter1_203_436_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_203_436_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_203_436_Closed_Text.style.display='none'; Codehighlighter1_203_436_Open_Image.style.display='inline'; Codehighlighter1_203_436_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_203_436_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_203_436_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JAXBContext&nbsp;ctx&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;JAXBContext.newInstance(obj.getClass());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;source&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ByteArrayInputStream(xmlStr.getBytes());<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unmarshaller&nbsp;unmarshaller&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ctx.createUnmarshaller();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;unmarshaller.unmarshal(source);<br /><img id="Codehighlighter1_462_490_Open_Image" onclick="this.style.display='none'; Codehighlighter1_462_490_Open_Text.style.display='none'; Codehighlighter1_462_490_Closed_Image.style.display='inline'; Codehighlighter1_462_490_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_462_490_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_462_490_Closed_Text.style.display='none'; Codehighlighter1_462_490_Open_Image.style.display='inline'; Codehighlighter1_462_490_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(JAXBException&nbsp;e)&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_462_490_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_462_490_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;obj;<br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p><br /><br /></span></p><img src ="http://www.blogjava.net/eagle-daiq/aggbug/369016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2012-01-30 14:02 <a href="http://www.blogjava.net/eagle-daiq/archive/2012/01/30/369016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CXF框架中 webService调用失效时间设置</title><link>http://www.blogjava.net/eagle-daiq/archive/2010/02/26/313992.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Fri, 26 Feb 2010 05:56:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2010/02/26/313992.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/313992.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2010/02/26/313992.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/313992.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/313992.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_135804" onclick="this.style.display='none'; Code_Closed_Text_135804.style.display='none'; Code_Open_Image_135804.style.display='inline'; Code_Open_Text_135804.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_135804" style="display: none" onclick="this.style.display='none'; Code_Open_Text_135804.style.display='none'; Code_Closed_Image_135804.style.display='inline'; Code_Closed_Text_135804.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_135804" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">调用方法</span><span id="Code_Open_Text_135804" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;创建一个webservice代理对象<br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;address&nbsp;webService访问地址<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;serviceClass&nbsp;&nbsp;接口服务类<br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@param</span><span style="color: #008000">&nbsp;timeout&nbsp;&nbsp;ws连接失效时间<br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="color: #808080">@return</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">*/</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;Object&nbsp;createWebServiceProxy(String&nbsp;address,Class&nbsp;serviceClass,</span><span style="color: #0000ff">long</span><span style="color: #000000">&nbsp;timeout){<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JaxWsProxyFactoryBean&nbsp;soapFactoryBean&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JaxWsProxyFactoryBean();<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #008000">//</span><span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soapFactoryBean.setAddress("</span><span style="color: #008000; text-decoration: underline">http://127.0.0.1</span><span style="color: #008000">:8080/helloService");</span><span style="color: #008000"><br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soapFactoryBean.setAddress(address);<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;soapFactoryBean.setServiceClass(serviceClass);<br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;o&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;soapFactoryBean.create();<br />
</span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client&nbsp;client&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;soapFactoryBean.getClientFactoryBean().getClient();<br />
</span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(client&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">){<br />
</span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTPConduit&nbsp;conduit&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(HTTPConduit)client.getConduit();<br />
</span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTTPClientPolicy&nbsp;policy&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;HTTPClientPolicy();&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;policy.setConnectionTimeout(timeout);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;policy.setReceiveTimeout(timeout);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conduit.setClient(policy);&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">23</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;o;<br />
</span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
该方法为客户端ws调用方法，返回一个访问ws接口服务对象（即传入参数中的serviceClass接口对象）。
<img src ="http://www.blogjava.net/eagle-daiq/aggbug/313992.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2010-02-26 13:56 <a href="http://www.blogjava.net/eagle-daiq/archive/2010/02/26/313992.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webIm中js总结</title><link>http://www.blogjava.net/eagle-daiq/archive/2009/08/27/292821.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Thu, 27 Aug 2009 06:57:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2009/08/27/292821.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/292821.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2009/08/27/292821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/292821.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/292821.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: webIm js总结&nbsp;&nbsp;<a href='http://www.blogjava.net/eagle-daiq/archive/2009/08/27/292821.html'>阅读全文</a><img src ="http://www.blogjava.net/eagle-daiq/aggbug/292821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2009-08-27 14:57 <a href="http://www.blogjava.net/eagle-daiq/archive/2009/08/27/292821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>extjs 面向对象实践</title><link>http://www.blogjava.net/eagle-daiq/archive/2009/07/17/287213.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Fri, 17 Jul 2009 15:31:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2009/07/17/287213.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/287213.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2009/07/17/287213.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/287213.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/287213.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: extjs 表单面向对象继承实现&nbsp;&nbsp;<a href='http://www.blogjava.net/eagle-daiq/archive/2009/07/17/287213.html'>阅读全文</a><img src ="http://www.blogjava.net/eagle-daiq/aggbug/287213.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2009-07-17 23:31 <a href="http://www.blogjava.net/eagle-daiq/archive/2009/07/17/287213.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate 实体字段延迟加载简单处理方式</title><link>http://www.blogjava.net/eagle-daiq/archive/2009/07/16/287007.html</link><dc:creator>月下孤城</dc:creator><author>月下孤城</author><pubDate>Thu, 16 Jul 2009 09:46:00 GMT</pubDate><guid>http://www.blogjava.net/eagle-daiq/archive/2009/07/16/287007.html</guid><wfw:comment>http://www.blogjava.net/eagle-daiq/comments/287007.html</wfw:comment><comments>http://www.blogjava.net/eagle-daiq/archive/2009/07/16/287007.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagle-daiq/comments/commentRss/287007.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagle-daiq/services/trackbacks/287007.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: hibernate 字段延迟加载的简易实现方式&nbsp;&nbsp;<a href='http://www.blogjava.net/eagle-daiq/archive/2009/07/16/287007.html'>阅读全文</a><img src ="http://www.blogjava.net/eagle-daiq/aggbug/287007.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagle-daiq/" target="_blank">月下孤城</a> 2009-07-16 17:46 <a href="http://www.blogjava.net/eagle-daiq/archive/2009/07/16/287007.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>