﻿<?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-e代剑客——温柔一刀-随笔分类-java相关</title><link>http://www.blogjava.net/ctguzhupan/category/13877.html</link><description>生活就像海洋，只有意志坚强的人，才能到达彼岸</description><language>zh-cn</language><lastBuildDate>Tue, 26 Feb 2008 16:28:50 GMT</lastBuildDate><pubDate>Tue, 26 Feb 2008 16:28:50 GMT</pubDate><ttl>60</ttl><item><title>德比软件(DerbySoft)诚聘java工程师（上海）</title><link>http://www.blogjava.net/ctguzhupan/archive/2007/12/30/171725.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Sun, 30 Dec 2007 08:52:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2007/12/30/171725.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/171725.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2007/12/30/171725.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/171725.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/171725.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 德比软件(DerbySoft),置力于构造新一代的旅游产品全球IT分销系统。 <br>公司获得两家知名风险投资商650万美元的投资，进入快速发展期。 <br>公司地址：浦东南路379号金穗大厦<br><br>公司特点： <br>1、宽松友善，弹性工作制，不强迫加班； <br>2、提倡学习，有时间研究你感兴趣的技术； <br>3、系统的敏捷开发培训和实践。前ThoughtWorks公司资深员工李超群加盟，在公司进行敏捷开发方式的管理和培训。&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2007/12/30/171725.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/171725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2007-12-30 16:52 <a href="http://www.blogjava.net/ctguzhupan/archive/2007/12/30/171725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> jpivot中输出pdf打印汉字、excel导出中文方法</title><link>http://www.blogjava.net/ctguzhupan/archive/2007/07/11/129680.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Wed, 11 Jul 2007 12:28:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2007/07/11/129680.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/129680.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2007/07/11/129680.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/129680.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/129680.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Arial">jpivot是目前用得最多得OLAP展现工具,pentaho,spagoBI,openi等都是用他来做展现,</font>
		</p>
		<p>
				<font face="Arial">jpivot中pdf打印输出中文</font>
		</p>
		<p>
				<font face="Arial">1.升级com.tonbeller.jpivot.print.PrintServlet文件到JPivot1.6.0以上，如果不想升级就修改PrintServlet</font>
		</p>
		<p>
				<font face="Arial">在init方法中增加以下语句.</font>
				<font face="Arial"> </font> <br /></p>
		<div class="dp-highlighter">
				<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
						<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
						<span style="color: rgb(0, 0, 0);"># </span>
						<span style="color: rgb(0, 0, 255);">public</span>
						<span style="color: rgb(0, 0, 0);"> </span>
						<span style="color: rgb(0, 0, 255);">void</span>
						<span style="color: rgb(0, 0, 0);"> init(ServletConfig config) </span>
						<span style="color: rgb(0, 0, 255);">throws</span>
						<span style="color: rgb(0, 0, 0);"> ServletException {   <br />#     </span>
						<span style="color: rgb(0, 0, 255);">super</span>
						<span style="color: rgb(0, 0, 0);">.init(config);   <br />#     </span>
						<span style="color: rgb(0, 0, 255);">try</span>
						<span style="color: rgb(0, 0, 0);"> {   <br />#       </span>
						<span style="color: rgb(0, 128, 0);">//</span>
						<span style="color: rgb(0, 128, 0);"> set base FOP FONT directory.  The font config  stuff will be looked for here   </span>
						<span style="color: rgb(0, 128, 0);">
								<br />
						</span>
						<span style="color: rgb(0, 0, 0);">#       Configuration.put(</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">fontBaseDir</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">, config.getServletContext().getRealPath(</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">/WEB-INF/jpivot/print/</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">));   <br />#       </span>
						<span style="color: rgb(0, 128, 0);">//</span>
						<span style="color: rgb(0, 128, 0);"> get the physical path for the config file   </span>
						<span style="color: rgb(0, 128, 0);">
								<br />
						</span>
						<span style="color: rgb(0, 0, 0);">#       String fopConfigPath </span>
						<span style="color: rgb(0, 0, 0);">=</span>
						<span style="color: rgb(0, 0, 0);"> config.getServletContext().getRealPath(</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">/WEB-INF/jpivot/print/userconfig.xml</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">);   <br />#       </span>
						<span style="color: rgb(0, 128, 0);">//</span>
						<span style="color: rgb(0, 128, 0);"> load the user proerties, contining the CustomFont font.   </span>
						<span style="color: rgb(0, 128, 0);">
								<br />
						</span>
						<span style="color: rgb(0, 0, 0);">#       </span>
						<span style="color: rgb(0, 0, 255);">new</span>
						<span style="color: rgb(0, 0, 0);"> Options(</span>
						<span style="color: rgb(0, 0, 255);">new</span>
						<span style="color: rgb(0, 0, 0);"> File(fopConfigPath));   <br />#   <br />#     } </span>
						<span style="color: rgb(0, 0, 255);">catch</span>
						<span style="color: rgb(0, 0, 0);"> (FOPException e) {   <br />#       e.printStackTrace();   <br />#       logger.info(</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">FOP user config file not loaded</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">);   <br />#     } </span>
						<span style="color: rgb(0, 0, 255);">catch</span>
						<span style="color: rgb(0, 0, 0);"> (Exception e) {   <br />#       e.printStackTrace();   <br />#       logger.info(</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">FOP user config file not loaded</span>
						<span style="color: rgb(0, 0, 0);">"</span>
						<span style="color: rgb(0, 0, 0);">);   <br />#     }   <br />#   }  </span>
				</div>
				<br />
		</div>
		<p>2．在WEB-INF\jpivot\print目录下建立userconfig.xml文件。内容如下：（仅配置黑体）<br /></p>
		<font face="Arial">
				<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
						<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
						<span style="color: rgb(0, 0, 0);"># </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">configuration</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">  <br />#   <br /># </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">fonts</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">  <br />#   <br /># </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">font </span>
						<span style="color: rgb(255, 0, 0);">metrics-file</span>
						<span style="color: rgb(0, 0, 255);">="simhei.xml"</span>
						<span style="color: rgb(255, 0, 0);"> kerning</span>
						<span style="color: rgb(0, 0, 255);">="yes"</span>
						<span style="color: rgb(255, 0, 0);"> embed-file</span>
						<span style="color: rgb(0, 0, 255);">="simhei.ttf"</span>
						<span style="color: rgb(0, 0, 255);">&gt;</span>
						<span style="color: rgb(0, 0, 0);">  <br />#   <br /># </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">font-triplet </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="SimHei"</span>
						<span style="color: rgb(255, 0, 0);"> style</span>
						<span style="color: rgb(0, 0, 255);">="normal"</span>
						<span style="color: rgb(255, 0, 0);"> weight</span>
						<span style="color: rgb(0, 0, 255);">="normal"</span>
						<span style="color: rgb(0, 0, 255);">/&gt;</span>
						<span style="color: rgb(0, 0, 0);">  <br />#   <br /># </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">font-triplet </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="SimHei"</span>
						<span style="color: rgb(255, 0, 0);"> style</span>
						<span style="color: rgb(0, 0, 255);">="normal"</span>
						<span style="color: rgb(255, 0, 0);"> weight</span>
						<span style="color: rgb(0, 0, 255);">="bold"</span>
						<span style="color: rgb(0, 0, 255);">/&gt;</span>
						<span style="color: rgb(0, 0, 0);">  <br />#   <br /># </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">font-triplet </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="SimHei"</span>
						<span style="color: rgb(255, 0, 0);"> style</span>
						<span style="color: rgb(0, 0, 255);">="italic"</span>
						<span style="color: rgb(255, 0, 0);"> weight</span>
						<span style="color: rgb(0, 0, 255);">="normal"</span>
						<span style="color: rgb(0, 0, 255);">/&gt;</span>
						<span style="color: rgb(0, 0, 0);">  <br />#   <br /># </span>
						<span style="color: rgb(0, 0, 255);">&lt;</span>
						<span style="color: rgb(128, 0, 0);">font-triplet </span>
						<span style="color: rgb(255, 0, 0);">name</span>
						<span style="color: rgb(0, 0, 255);">="SimHei"</span>
						<span style="color: rgb(255, 0, 0);"> style</span>
						<span style="color: rgb(0, 0, 255);">="italic"</span>
						<span style="color: rgb(255, 0, 0);"> weight</span>
						<span style="color: rgb(0, 0, 255);">="bold"</span>
						<span style="color: rgb(0, 0, 255);">/&gt;</span>
						<span style="color: rgb(0, 0, 0);">  <br />#   <br /># font&gt;  <br />#   <br /># fonts&gt;  <br />#   <br /># configuration&gt;   </span>
				</div>
				<p>3． 下载Apache的FOP包，解开fop-0.20.5.jar，启用cmd，并到它的目录中，执行：</p>
				<p>
						<font face="Arial">java org.apache.fop.fonts.apps.TTFReader -ttcname SimHei C:\WINDOWS\Fonts\simhei.ttf simhei.xml</font>
				</p>
				<p>
						<font face="Arial">然后就会生成需要的两个字体描述文件：simhei.xml</font>
				</p>
				<p>
						<font face="Arial">4． 将simhei.xml，以及simhei.ttf文件放到WEB-INF\jpivot\print目录下。</font>
				</p>
				<p>
						<font face="Arial">5． 修改WEB-INF\jpivot\table目录下的fo_mdxtable.xsl文件，把所有的font-family对应成SimHei</font>
				</p>
				<p> <font face="Arial">jpivot excel导出中文 </font></p>
				<p>
						<font face="Arial">Excel中不支持UTF-8, Excel输出对应的xsl文件是:../web-inf/jpivot/table目录下的xls_mdxtable.xsl</font>
				</p>
				<p>
						<font face="Arial">只要这个文件的encoding换为GBK就可以了.</font>
				</p>
		</font>
<img src ="http://www.blogjava.net/ctguzhupan/aggbug/129680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2007-07-11 20:28 <a href="http://www.blogjava.net/ctguzhupan/archive/2007/07/11/129680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> Ant+Tomcat自动部署的小问题</title><link>http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100005.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Thu, 15 Feb 2007 13:54:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100005.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/100005.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100005.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/100005.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/100005.html</trackback:ping><description><![CDATA[
		<p>今天用Ant对dms系统进行Tomcat的自动部署。</p>
		<p>通过ant undeploy把dms卸载。
<br />问题是，webapps目录下面，有一个dms目录的残骸，里面保留的目录是
<br />WEB-INF\lib
<br />有以下几个文件残留着：
<br />webwork-2.2.4.jar
<br />xwork.jar</p>
		<p>这时候dms目录也无法手工删除，必须停掉tomcat后才能删除。</p>
		<p>在Windows上才会有的问题， 解决方法：</p>
		<p>创建META-INF目录， 在目录里新建context.xml，加入如下内容 </p>
		<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt; 
<br />&lt;Context reloadable="true" antiResourceLocking="true"&gt; 
<br />&lt;/Context&gt; </p>
		<p>即可</p>
<img src ="http://www.blogjava.net/ctguzhupan/aggbug/100005.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2007-02-15 21:54 <a href="http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100005.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> FCKeditor-2.3在线编辑器，可以直接用的（java版）</title><link>http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100002.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Thu, 15 Feb 2007 13:48:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100002.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/100002.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100002.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/100002.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/100002.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:  FCKeditor-2.3在线编辑器，可以直接用的（java版）&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100002.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/100002.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2007-02-15 21:48 <a href="http://www.blogjava.net/ctguzhupan/archive/2007/02/15/100002.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse快捷键指南</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/11/11/80564.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Sat, 11 Nov 2006 04:27:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/11/11/80564.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/80564.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/11/11/80564.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/80564.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/80564.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Eclipse快捷键指南&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/11/11/80564.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/80564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-11-11 12:27 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/11/11/80564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java应用iText动态生成PDF文件</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/10/09/74090.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Mon, 09 Oct 2006 07:41:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/10/09/74090.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/74090.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/10/09/74090.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/74090.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/74090.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java应用iText动态生成PDF文件&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/10/09/74090.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/74090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-10-09 15:41 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/10/09/74090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>将Excel文件内容写入到数据库</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73629.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Sat, 07 Oct 2006 07:05:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73629.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/73629.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73629.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/73629.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/73629.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 将Excel文件内容写入到数据库&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73629.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/73629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-10-07 15:05 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JXL操作Excel</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73605.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Sat, 07 Oct 2006 03:04:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73605.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/73605.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73605.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/73605.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/73605.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JXL操作Excel&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73605.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/73605.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-10-07 11:04 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/10/07/73605.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>件上传组件commons-fileupload用户指南</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/18/64240.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Fri, 18 Aug 2006 00:31:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/18/64240.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/64240.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/18/64240.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/64240.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/64240.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 件上传组件commons-fileupload用户指南翻译+示例下载&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/18/64240.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/64240.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-18 08:31 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/18/64240.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>随机生成验证码</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/16/63853.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Wed, 16 Aug 2006 03:38:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/16/63853.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63853.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/16/63853.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63853.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63853.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 随机生成验证码&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/16/63853.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63853.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-16 11:38 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/16/63853.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Windows下配置CVSNT </title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/15/63643.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 15 Aug 2006 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/15/63643.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63643.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/15/63643.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63643.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Windows下配置CVSNT &nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/15/63643.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-15 11:45 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/15/63643.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java 范型编程</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/14/63404.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Mon, 14 Aug 2006 02:16:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/14/63404.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63404.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/14/63404.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63404.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: J2SE5.0新特性之范型编程 &nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/14/63404.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-14 10:16 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/14/63404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Log4j基本使用方法</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62778.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Thu, 10 Aug 2006 05:16:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62778.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62778.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62778.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62778.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62778.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Log4j由三个重要的组件构成：日志信息的优先级，日志信息的输出目的地，日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG，分别用来指定这条日志信息的重要程度；日志信息的输出目的地指定了日志将打印到控制台还是文件中；而输出格式则控制了日志信息的显示内容。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62778.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-10 13:16 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62778.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JfreeChart介绍</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62777.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Thu, 10 Aug 2006 05:13:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62777.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62777.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62777.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62777.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62777.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JFreeChart是一个用于图表处理的java类库，它本身是免费的，但是文档需要40美金才能获得。官方网站为http://www.jfree.org/<br><br>&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62777.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-10 13:13 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/10/62777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript获取客户端网卡MAC地址和IP地址和计算机名</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62436.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 08 Aug 2006 13:30:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62436.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62436.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62436.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62436.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62436.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在做B/S结构的系统时，我们常常需要获取客户端的一些信息，如IP和MAC，以结合身份验证。在ASP.NET中,要获取服务器端的MAC很容易，但是要获取客户端的MAC的地址确要花费一翻心思，通常的做法是调用Win32API或直接调用nbtstat命令，这样做有很多问题，而另一种方法就是直接用客户端脚本，我们这里用Javascript，这样做的好处是不需要服务器端进行处理，有客户端自行获取，传递到服务器端，且速度和可靠性都比在服务器端获取好。&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62436.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62436.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-08 21:30 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62436.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java 加密 </title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62432.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 08 Aug 2006 13:13:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62432.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62432.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62432.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62432.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62432.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java程序的源代码很容易被别人看到。只要有一个反编译器，任何人都可以分析别人的代码。本文讨论如何在不修改原有程序的情况下，通过加密技术保护源代码。&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62432.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-08 21:13 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62432.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>加密算法的java实现源码</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62422.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 08 Aug 2006 12:33:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62422.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62422.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62422.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62422.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62422.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 呵呵,我用来加密网卡的！核心加密用了MD5加密算法！&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62422.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62422.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-08 20:33 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62422.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java简单实现MD5算法</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62419.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 08 Aug 2006 12:25:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62419.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62419.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62419.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62419.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: java实现MD5算法&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62419.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-08 20:25 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA 的MD5加密算法简单实现</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62418.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 08 Aug 2006 12:21:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62418.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62418.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62418.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62418.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62418.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JAVA 的MD5加密算法源代码&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62418.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62418.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-08 20:21 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62418.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于Java的IDEA加密算法探讨</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62417.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 08 Aug 2006 12:07:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62417.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62417.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62417.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62417.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本文介绍了在JAVA环境下如何实现IDEA对称加密算法。由于电子商务和电子政务的普及，安全加密技术在其中应用非常广泛，对安全加密技术的要求也很高。目前在JAVA环境下实现IDEA加密具有很多的优势，因为JAVA是基于面向对象的编程语言,并且由于它的平台无关性能被大量应用于Internet的开发。&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62417.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-08 20:07 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java获取服务器端网卡地址</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62415.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 08 Aug 2006 11:43:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62415.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/62415.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62415.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/62415.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/62415.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: java获取服务器端网卡地址&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62415.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/62415.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-08-08 19:43 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/08/08/62415.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工厂模式</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63180.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Thu, 13 Jul 2006 14:30:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63180.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63180.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63180.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63180.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63180.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 工厂模式&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63180.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63180.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-07-13 22:30 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63180.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用java实现浮点数的精确计算</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63181.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Thu, 13 Jul 2006 14:28:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63181.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63181.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63181.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63181.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 用java实现浮点数的精确计算&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63181.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-07-13 22:28 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/07/13/63181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javaBean数据库连接池</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63173.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Sat, 08 Jul 2006 20:35:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63173.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63173.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63173.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63173.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63173.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: javaBean数据库连接池&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63173.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63173.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-07-09 04:35 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63173.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j的配置文件例子</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63174.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Sat, 08 Jul 2006 20:27:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63174.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63174.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63174.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63174.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63174.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: log4j的配置文件例子&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63174.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-07-09 04:27 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/07/09/63174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用smartupload进行文件的上传下载</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/06/07/63176.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Wed, 07 Jun 2006 15:30:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/06/07/63176.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63176.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/06/07/63176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63176.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63176.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用smartupload进行文件的上传下载&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/06/07/63176.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-06-07 23:30 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/06/07/63176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA对数字证书的常用操作 </title><link>http://www.blogjava.net/ctguzhupan/archive/2006/04/26/63177.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Wed, 26 Apr 2006 10:30:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/04/26/63177.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63177.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/04/26/63177.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63177.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63177.html</trackback:ping><description><![CDATA[
		<p>
				<font face="新宋体:sans-serif">
						<strong>
						</strong>
				</font>
		</p>
		<p>一：需要包含的包    </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.security.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.io.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.util.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.security.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.security.cert.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> sun.security.x509.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.security.cert.Certificate;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> java.security.cert.CertificateFactory;</span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>二：从文件中读取证书<br />    用keytool将.keystore中的证书写入文件中，然后从该文件中读取证书信息   </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> CertificateFactory cf</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">CertificateFactory.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">X.509</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileInputStream in</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">out.csr</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    Certificate c</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">cf.generateCertificate(in);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    String s</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">c.toString();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>三：从密钥库中直接读取证书<br />    </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">String pass</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">123456</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileInputStream in</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    KeyStore ks</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">KeyStore.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">JKS</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.load(in,pass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    java.security.cert.Certificate c</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ks.getCertificate(alias);</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">alias为条目的别名<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>四：JAVA程序中显示证书指定信息<br />   </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">输出证书信息:\n</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">c.toString());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">版本号:</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">t.getVersion());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">序列号:</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">t.getSerialNumber().toString(</span>
				<span style="COLOR: #000000">16</span>
				<span style="COLOR: #000000">));<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">主体名：</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">t.getSubjectDN());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">签发者：</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">t.getIssuerDN());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">有效期：</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">t.getNotBefore());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">签名算法：</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">t.getSigAlgName());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">byte</span>
				<span style="COLOR: #000000"> [] sig</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">t.getSignature();</span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">签名值 </span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">    PublicKey pk</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">t.getPublicKey();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">byte</span>
				<span style="COLOR: #000000"> [] pkenc</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">pk.getEncoded();  <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    System.out.println(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">公钥</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">for</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> i</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">;i</span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000">pkenc.length;i</span>
				<span style="COLOR: #000000">++</span>
				<span style="COLOR: #000000">)System.out.print(pkenc[i]</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>五：JAVA程序列出密钥库所有条目<br />    </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">String pass</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">123456</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileInputStream in</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    KeyStore ks</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">KeyStore.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">JKS</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.load(in,pass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    Enumeration e</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ks.aliases();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: #0000ff">while</span>
				<span style="COLOR: #000000">(e.hasMoreElements())<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    java.security.cert.Certificate c</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ks.getCertificate((String)e.nextElement());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>六：JAVA程序修改密钥库口令<br />    </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">String oldpass</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">123456</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    String newpass</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">654321</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileInputStream in</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    KeyStore ks</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">KeyStore.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">JKS</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.load(in,oldpass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    in.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileOutputStream output</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileOutputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.store(output,newpass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    output.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>七：JAVA程序修改密钥库条目的口令及添加条目    </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">FileInputStream in</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    KeyStore ks</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">KeyStore.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">JKS</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.load(in,storepass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    Certificate [] cchain</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ks.getCertificate(alias);获取别名对应条目的证书链<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    PrivateKey pk</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">(PrivateKey)ks.getKey(alias,oldkeypass.toCharArray());获取别名对应条目的私钥<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.setKeyEntry(alias,pk,newkeypass.toCharArray(),cchain);向密钥库中添加条目<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>    第一个参数指定所添加条目的别名，假如使用已存在别名将覆盖已存在条目，使用新别名将增加一个新条目，第二个参数为条目的私钥，第三个为设置的新口令，第四个为该私钥的公钥的证书链<br />    FileOutputStream output=new FileOutputStream("another");<br />    ks.store(output,storepass.toCharArray())将keystore对象内容写入新文件</p>
		<p>
				<font face="新宋体:sans-serif">
						<strong>八：JAVA程序检验别名和删除条目<br />   </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> FileInputStream in</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    KeyStore ks</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">KeyStore.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">JKS</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.load(in,storepass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.containsAlias(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">sage</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);检验条目是否在密钥库中，存在返回true<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.deleteEntry(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">sage</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);删除别名对应的条目<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileOutputStream output</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileOutputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.store(output,storepass.toCharArray())将keystore对象内容写入文件,条目删除成功<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>九：JAVA程序签发数字证书<br />   （1）从密钥库中读取CA的证书       </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> FileInputStream in</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.keystore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    KeyStore ks</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">KeyStore.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">JKS</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.load(in,storepass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    java.security.cert.Certificate c1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">ks.getCertificate(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">caroot</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>（2）从密钥库中读取CA的私钥<br />    </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">PrivateKey caprk</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">(PrivateKey)ks.getKey(alias,cakeypass.toCharArray());<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p> （3）从CA的证书中提取签发者的信息   </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">byte</span>
				<span style="COLOR: #000000">[] encod1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">c1.getEncoded();    提取CA证书的编码<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    X509CertImpl cimp1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> X509CertImpl(encod1);  用该编码创建X509CertImpl类型对象<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    X509CertInfo cinfo1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">(X509CertInfo)cimp1.get(X509CertImpl.NAME</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">X509CertImpl.INFO);  获取X509CertInfo对象<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    X500Name issuer</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">(X500Name)cinfo1.get(X509CertInfo.SUBJECT</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">CertificateIssuerName.DN_NAME); 获取X509Name类型的签发者信息<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>    （4）获取待签发的证书<br />   </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> CertificateFactory cf</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">CertificateFactory.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">X.509</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileInputStream in2</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">user.csr</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    java.security.cert.Certificate c2</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">cf.generateCertificate(in);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>    （5）从待签发的证书中提取证书信息<br />  </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">byte</span>
				<span style="COLOR: #000000"> [] encod2</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">c2.getEncoded();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    X509CertImpl cimp2</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> X509CertImpl(encod2);  用该编码创建X509CertImpl类型对象<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    X509CertInfo cinfo2</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">(X509CertInfo)cimp2.get(X509CertImpl.NAME</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">X509CertImpl.INFO);  获取X509CertInfo对象</span>
		</div>
		<p>
				<br />    （6）设置新证书有效期<br />   </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> Date begindate</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> Date(); 获取当前时间<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    Date enddate</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> Date(begindate.getTime()</span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000">3000</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">24</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">60</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">60</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">1000L</span>
				<span style="COLOR: #000000">); 有效期为3000天<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    CertificateValidity cv</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CertificateValidity(begindate,enddate); 创建对象<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    cinfo2.set(X509CertInfo.VALIDITY,cv);  设置有效期<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>    （7）设置新证书序列号<br />  </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">  </span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000"> sn</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">(</span>
				<span style="COLOR: #0000ff">int</span>
				<span style="COLOR: #000000">)(begindate.getTime()</span>
				<span style="COLOR: #000000">/</span>
				<span style="COLOR: #000000">1000</span>
				<span style="COLOR: #000000">);    以当前时间为序列号<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    CertificateSerialNumber csn</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> CertificateSerialNumber(sn);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    cinfo2.set(X509CertInfo.SERIAL_NUMBER,csn);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>    （8）设置新证书签发者<br />    cinfo2.set(X509CertInfo.ISSUER+"."+CertificateIssuerName.DN_NAME,issuer);应用第三步的结果<br />    （9）设置新证书签名算法信息<br />    AlgorithmId algorithm=new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);<br />    cinfo2.set(CertificateAlgorithmId.NAME+"."+CertificateAlgorithmId.ALGORITHM,algorithm);<br />    （10）创建证书并使用CA的私钥对其签名<br />    X509CertImpl newcert=new X509CertImpl(cinfo2);<br />    newcert.sign(caprk,"MD5WithRSA"); 使用CA私钥对其签名<br />    （11）将新证书写入密钥库 </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">   ks.setCertificateEntry(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">lf_signed</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">,newcert);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileOutputStream out</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileOutputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">newstore</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    ks.store(out,</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">newpass</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">.toCharArray());  这里是写入了新的密钥库，也可以使用第七条来增加条目<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>
				<font face="新宋体:sans-serif">
						<strong>十：数字证书的检验<br />    （1）验证证书的有效期<br /> （a）获取X509Certificate类型对象<br /> </strong>
				</font>
		</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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">CertificateFactory cf</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">CertificateFactory.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">X.509</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    FileInputStream in1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">aa.crt</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  java.security.cert.Certificate  c1</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">cf.generateCertificate(in1);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> X509Certificate t</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">(X509Certificate)c1;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  in2.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p>        （b）获取日期<br /> Date TimeNow=new Date();<br /> （c）检验有效性<br /> </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="Codehighlighter1_3_73_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3_73_Open_Text.style.display='none'; Codehighlighter1_3_73_Closed_Image.style.display='inline'; Codehighlighter1_3_73_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
				<img id="Codehighlighter1_3_73_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_3_73_Closed_Text.style.display='none'; Codehighlighter1_3_73_Open_Image.style.display='inline'; Codehighlighter1_3_73_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				<span style="COLOR: #0000ff">try</span>
				<span id="Codehighlighter1_3_73_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_3_73_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    t.checkValidity(TimeNow);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           System.out.println(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">OK</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">);<br /><img id="Codehighlighter1_110_194_Open_Image" onclick="this.style.display='none'; Codehighlighter1_110_194_Open_Text.style.display='none'; Codehighlighter1_110_194_Closed_Image.style.display='inline'; Codehighlighter1_110_194_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_110_194_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_110_194_Closed_Text.style.display='none'; Codehighlighter1_110_194_Open_Image.style.display='inline'; Codehighlighter1_110_194_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /> }</span>
				</span>
				<span style="COLOR: #0000ff">catch</span>
				<span style="COLOR: #000000">(CertificateExpiredException e)</span>
				<span id="Codehighlighter1_110_194_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_110_194_Open_Text">
						<span style="COLOR: #000000">{  </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">过期</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    System.out.println(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">Expired</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    System.out.println(e.getMessage());<br /><img id="Codehighlighter1_236_321_Open_Image" onclick="this.style.display='none'; Codehighlighter1_236_321_Open_Text.style.display='none'; Codehighlighter1_236_321_Closed_Image.style.display='inline'; Codehighlighter1_236_321_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_236_321_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_236_321_Closed_Text.style.display='none'; Codehighlighter1_236_321_Open_Image.style.display='inline'; Codehighlighter1_236_321_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /> }</span>
				</span>
				<span style="COLOR: #0000ff">catch</span>
				<span style="COLOR: #000000">((CertificateNotYetValidException e)</span>
				<span id="Codehighlighter1_236_321_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_236_321_Open_Text">
						<span style="COLOR: #000000">{ </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">尚未生效</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    System.out.println(</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">Too early</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    System.out.println(e.getMessage());}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
		<p>     （2）验证证书签名的有效性<br /> （a）获取CA证书<br />       </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">  CertificateFactory cf</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">CertificateFactory.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">X.509</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />     FileInputStream in2</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> FileInputStream(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">caroot.crt</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />   java.security.cert.Certificate  cac</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000">cf.generateCertificate(in2);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  in2.close();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p> （c）获取CA的公钥<br />  PublicKey pbk=cac.getPublicKey();<br /> （b）获取待检验的证书（上步已经获取了，就是C1）<br /> （c）检验证书<br />        </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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">boolean</span>
				<span style="COLOR: #000000"> pass</span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #0000ff">false</span>
				<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_33_90_Open_Image" onclick="this.style.display='none'; Codehighlighter1_33_90_Open_Text.style.display='none'; Codehighlighter1_33_90_Closed_Image.style.display='inline'; Codehighlighter1_33_90_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_33_90_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_33_90_Closed_Text.style.display='none'; Codehighlighter1_33_90_Open_Image.style.display='inline'; Codehighlighter1_33_90_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />         </span>
				<span style="COLOR: #0000ff">try</span>
				<span id="Codehighlighter1_33_90_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_33_90_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      c1.verify(pbk);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />             pass</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #0000ff">true</span>
						<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_109_174_Open_Image" onclick="this.style.display='none'; Codehighlighter1_109_174_Open_Text.style.display='none'; Codehighlighter1_109_174_Closed_Image.style.display='inline'; Codehighlighter1_109_174_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_109_174_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_109_174_Closed_Text.style.display='none'; Codehighlighter1_109_174_Open_Image.style.display='inline'; Codehighlighter1_109_174_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />         }</span>
				</span>
				<span style="COLOR: #0000ff">catch</span>
				<span style="COLOR: #000000">(Exception e)</span>
				<span id="Codehighlighter1_109_174_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_109_174_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />             pass</span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #0000ff">false</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />             System.out.println(e);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />  }</span>
				</span>
				<span style="COLOR: #000000"> </span>
		</div>
<img src ="http://www.blogjava.net/ctguzhupan/aggbug/63177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-04-26 18:30 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/04/26/63177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp查询实现分页</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63183.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 25 Apr 2006 12:15:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63183.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63183.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63183.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63183.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63183.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: jsp查询实现分页&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63183.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63183.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-04-25 20:15 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63183.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>调用存储过程</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63184.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 25 Apr 2006 10:18:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63184.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63184.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63184.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63184.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 调用存储过程&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63184.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-04-25 18:18 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63184.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>事务处理</title><link>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63185.html</link><dc:creator>温柔一刀</dc:creator><author>温柔一刀</author><pubDate>Tue, 25 Apr 2006 10:17:00 GMT</pubDate><guid>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63185.html</guid><wfw:comment>http://www.blogjava.net/ctguzhupan/comments/63185.html</wfw:comment><comments>http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63185.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ctguzhupan/comments/commentRss/63185.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ctguzhupan/services/trackbacks/63185.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 事务处理&nbsp;&nbsp;<a href='http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63185.html'>阅读全文</a><img src ="http://www.blogjava.net/ctguzhupan/aggbug/63185.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ctguzhupan/" target="_blank">温柔一刀</a> 2006-04-25 18:17 <a href="http://www.blogjava.net/ctguzhupan/archive/2006/04/25/63185.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>