﻿<?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-世界因你而精彩-随笔分类-学习园地</title><link>http://www.blogjava.net/etlan/category/21942.html</link><description>Good Good Study, Day Day Up&lt;br&gt;
&lt;td vAlign="top" width="135"&gt;&lt;span id="ymd"&gt;&lt;/span&gt;&lt;/td&gt;
&amp;nbsp;&amp;nbsp;
&lt;td vAlign="top" width="135"&gt;&lt;span id="week_date"&gt;&lt;/span&gt;&lt;/td&gt;&lt;br&gt;
&lt;td vAlign="top" width="135"&gt;您在此逗留了：
&lt;span id="stay_time"&gt;&lt;/span&gt;&lt;/td&gt;
&lt;br&gt;
&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "ca-pub-1944176156128447";
/* blogjava 468 60 */
google_ad_slot = "8768033947";
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;</description><language>zh-cn</language><lastBuildDate>Wed, 19 Nov 2014 14:46:30 GMT</lastBuildDate><pubDate>Wed, 19 Nov 2014 14:46:30 GMT</pubDate><ttl>60</ttl><item><title>Linux 使用pid文件结束nginx</title><link>http://www.blogjava.net/etlan/archive/2014/11/19/420307.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Wed, 19 Nov 2014 09:22:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2014/11/19/420307.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/420307.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2014/11/19/420307.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/420307.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/420307.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: nginx的结束重启一般是通过下面命令来实现的：1kill&nbsp;-QUIT&nbsp;26000其中26000是nginx的主进程号。每次都需要通过ps命令来查询nginx的主进程号，非常麻烦。 在《实战nginx：取代Apache的高性能Web服务器》一书中提到了使用pid文件的方法，不巧的是给的命令漏了些东西，这里给出完整的指令。什么是pid文件pid文件就是一个纯文本文件，里面记录的是...&nbsp;&nbsp;<a href='http://www.blogjava.net/etlan/archive/2014/11/19/420307.html'>阅读全文</a><img src ="http://www.blogjava.net/etlan/aggbug/420307.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2014-11-19 17:22 <a href="http://www.blogjava.net/etlan/archive/2014/11/19/420307.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转：把桌面、我的文档、IE收藏夹设置到其他位置</title><link>http://www.blogjava.net/etlan/archive/2009/05/13/270353.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Wed, 13 May 2009 02:17:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2009/05/13/270353.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/270353.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2009/05/13/270353.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/270353.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/270353.html</trackback:ping><description><![CDATA[<p style="text-indent: 2em"><font color="#ff0000" size="4"><strong>IE收藏夹</strong></font></p>
<p style="text-indent: 2em"><strong>1.备份收藏夹的方法：</strong></p>
<p style="text-indent: 2em">方法1.依次打开 我的电脑-&gt;系统盘(c盘)-&gt;Documents and Settings-&gt;你的用户名-&gt;收藏夹(Favorites) 将这个文件夹复制备份 </p>
<p style="text-indent: 2em">重装系统后按照上面的路径 覆盖 收藏夹 文件 就可 </p>
<p style="text-indent: 2em">方法2.打开IE浏览器 点击 文件-&gt;导入与导出...-&gt;下一步-&gt;选者"导出收藏夹"-&gt;下一步-&gt;选者存放路径 完成备份 注意不要存在系统盘里否者重装系统后将被覆盖 </p>
<p style="text-indent: 2em">备份好后-&gt;重装完系统后 </p>
<p style="text-indent: 2em">打开IE浏览器-&gt;文件&gt;导入与导出...&gt;下一步&gt;选者'导入收藏夹'&gt;一直到完成就可 </p>
<p style="text-indent: 2em"><strong>2.移动收藏夹的办法：</strong> </p>
<p style="text-indent: 2em">1.先用左键单击&#8220;C:"Documents and Settings"用户名&#8221;下的收藏夹文件夹，然后在窗口左边的任务栏点&#8220;移动这个文件夹&#8221;，选要移动到的位置。如：D盘。</p>
<p style="text-indent: 2em">2.从屏幕左下角依次点[开始]-[运行]，出现对话框后，在&#8220;打开&#8221;中键入regedit，点[确定]进入注册表编辑器窗口； </p>
<p style="text-indent: 2em">依次打开文件夹 </p>
<p style="text-indent: 2em">HKEY_CURRENT_USER"Software"Microsoft"Windows"CurrentVersion"Explorer"UserShellFolders；</p>
<p style="text-indent: 2em">HKEY_LOCAL_MACHINE"Software"Microsoft"Windows"CurrentVersion"Explorer"UserShellFolders</p>
<p style="text-indent: 2em">3.在最后打开的UserShellFolders文件夹内容(右侧窗口)中的Favorites项可以看到当前IE收藏夹的位置，双击Favorites左边的图标(标有红色的&#8220;ab&#8221;)，在打开的对话框&#8220;数值数据(V)&#8221;栏，将&#8220;%USERPROFILE%&#8221;改成自己定的位置，例如，定在F盘根目录下，改完后&#8220;数值数据(V)&#8221;栏中的全部内容应为&#8220;F:"Favorites&#8221;，然后点[确定]完成修改； </p>
<p style="text-indent: 2em">说明：系统默认IE收藏夹的位置是%USERPROFILE%"Favorites，其中&#8220;%USERPROFILE%&#8221;是系统的特殊标记，实际上指C盘上系统默认位置，即C:"DocumentsandSettings"Owner(用资源管理器便可找到)。 </p>
<p style="text-indent: 2em">4.关闭注册表编辑器窗口，点[开始]-[注销]重装入一下XP或重启一下电脑，使新的设置生效。 </p>
<p style="text-indent: 2em">(注意：如果想要验证是否修改成功，可以在收藏菜单上点击整理收藏夹。)</p>
<p style="text-indent: 2em"><font color="#ff0000" size="4"><strong>我的文档</strong></font></p>
<p style="text-indent: 2em">在Windows XP系统中默认的&#8220;我的文档&#8221;存放位置是在系统盘中,把&#8220;我的文档&#8221;存放到另外一个分区，那样就不用怕重装系统时会失去资料了。那如何移动呢？</p>
<p style="text-indent: 2em">在Windows桌面上右键点击&#8220;我的文档&#8221;－＞属性－＞在&#8220;目标文件夹&#8221;选项卡里点击&#8220;移动&#8221;－＞选择自己喜欢的文件夹即可。</p>
<p style="text-indent: 2em">首先在&#8220;开始&#8221;菜单或桌面的&#8220;我的文档&#8221;图标上点击右键，在弹出的菜单中选择&#8220;属性&#8221;。弹出如图1所示的对话框。</p>
<p style="text-indent: 2em"><a href="http://img.blog.163.com/photo/G7nNAkMJrC38ZHgWFAbIUw==/2860630188311541603.jpg" target="_blank"><img title="把桌面、我的文档、IE收藏夹设置到其他位置 - banny_z - 失忆の城" alt="把桌面、我的文档、IE收藏夹设置到其他位置 - banny_z - 失忆の城" src="http://img.blog.163.com/photo/G7nNAkMJrC38ZHgWFAbIUw==/2860630188311541603.jpg" /></a>图1 属性对话框</p>
<p style="text-indent: 2em">在图1所示页面中选择：&#8220;Find Target&#8221;为&#8220;我的文档&#8221;选择目标文件夹，即可完成把&#8220;我的文档&#8221;的存放位置放置到你自己选定的文件夹中。点击&#8220;Move&#8221;按钮即可完成&#8220;我的文档&#8221;文件夹中内容的移动。用这种方法不仅可以实现把&#8220;我的文档&#8221;移动到其他位置的目的，还可以作为网络备份&#8220;我的文档&#8221;的一种方法。</p>
<p style="text-indent: 2em"><font color="#ff0000" size="4"><strong>[高级]桌面,我的文档,IE收藏夹设置</strong></font></p>
<p style="text-indent: 2em"><strong>用注册表编辑方法</strong></p>
<p style="text-indent: 2em">首先要在&#8220;开始&#8221;——&#8220;运行&#8221;内输入&#8220;regedit&#8221;打开注册表编辑器，然后要在&#8220;文件&#8221;下拉菜单中的&#8220;导出&#8221;功能备份好注册表，以防万一，接着在左侧窗口依次打开： <br />
HKEY_CURRENT_USER"Software"Microsoft"Windows"CurrentVersion"Explorer"Shell Folders <br />
在右侧窗口里，你看到的&#8220;名称&#8221;就代表那些特殊的文件夹，&#8220;数据&#8221;就是它们所对应的默认存储路径。修改默认的路径就可以让你的桌面文件夹移动了,下面是所有的.</p>
<p><br />
下面介绍一下各个&#8220;名称&#8221;所代表的文件夹 <br />
<span style="font-size: 10.5pt; font-family: 宋体">名称</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">含义</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">默认路径</span><span style="font-size: 10.5pt; font-family: Arial"><br clear="all" />
AppData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">应用程序数据目录</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;C:"Documents and Settings"User name"Application Data<br clear="all" />
Cookies Cookies&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">路径</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:"Documents and Settings"User name"Cookies<br clear="all" />
Desktop &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">桌面路径</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:"Documents and Settings"User name"</span><span style="font-size: 10.5pt; font-family: 宋体">桌面</span><span style="font-size: 10.5pt; font-family: Arial"><br clear="all" />
Favorites&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">收藏夹</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:"Documents and Settings"User name"Favorites<br clear="all" />
Personal&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">我的文档</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; C:"Documents and Settings"User name"My Documents<br clear="all" />
NetHood NetHood&nbsp;&nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">路径</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:"Documents and Settings"User name"NetHood<br clear="all" />
PrintHood&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">打印</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;C:"Documents and Settings"User name"PrintHood<br clear="all" />
Recent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">文档项路径</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;C:"Documents and Settings"User name"Recent<br clear="all" />
SendTo SendTo&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">路径</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; C:"Documents and Settings"User name"SendTo<br clear="all" />
Start Menu&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">开始菜单路径</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; C:"Documents and Settings"User name"</span><span style="font-size: 10.5pt; font-family: 宋体">「开始」菜单</span><span style="font-size: 10.5pt; font-family: Arial"><br clear="all" />
Templates&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">新</span><span style="font-size: 10.5pt; font-family: 宋体">建文件目录</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; C:"Documents and Settings"User name"Templates<br clear="all" />
Programs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">程序菜单路径</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:"Documents and Settings"User name"</span><span style="font-size: 10.5pt; font-family: 宋体">「开始」菜单</span><span style="font-size: 10.5pt; font-family: Arial">"</span><span style="font-size: 10.5pt; font-family: 宋体">程序</span><span style="font-size: 10.5pt; font-family: Arial"><br clear="all" />
Startup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">启动路径</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;C:"Documents and Settings"User name"</span><span style="font-size: 10.5pt; font-family: 宋体">「开始」菜单</span><span style="font-size: 10.5pt; font-family: Arial">"</span><span style="font-size: 10.5pt; font-family: 宋体">程序</span><span style="font-size: 10.5pt; font-family: Arial">"</span><span style="font-size: 10.5pt; font-family: 宋体">启动</span><span style="font-size: 10.5pt; font-family: Arial"><br clear="all" />
History &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">网页历史记录</span><span style="font-size: 10.5pt; font-family: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:"Documents and Settings" User name "Local Settings"History<br clear="all" />
My Pictures&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">图片收藏</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; C:"Documents and Settings"User name"My Documents"My Pictures<br clear="all" />
My Music &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</span><span style="font-size: 10.5pt; font-family: 宋体">我的音乐</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; C:"Documents and Settings"User name"My Documents"My Music<br clear="all" />
My Video&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">我的视频</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; C:"Documents and Settings"User name"My Documents"My Videos<br clear="all" />
Cache Internet&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10.5pt; font-family: 宋体">临时文件夹</span><span style="font-size: 10.5pt; font-family: Arial"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:" Documents and Settings"User name "Temporary Internet Files<br clear="all" />
</span>这些文件夹称为Shell文件夹 <br />
其中&#8220;User name&#8221;为当前用户的名称 <br />
了解了对应的文件夹，就可以根据自己的需要去更改对应的路径了。（千万不要在这儿改啊，那样可就瞎忙乎了，系统重起后它会恢复成原来的路径） <br />
在同一层中你可以看到一个&#8220;User Shell Folders&#8221;的子键，即在HKEY_CURRENT_USER"Software"Microsoft"Windows"CurrentVersion"Explorer" User Shell Folders <br />
这里包括了用户定制的所有Shell文件夹的值项。只要通过修改&#8220;数据&#8221;，就可以改变它们的存储路径。双击需要修改的名称，在弹出的&#8220;编辑字符串&#8221;的&#8220;数值数据&#8221;里填上你要更改的完整路径，按下&#8220;确定&#8221;就完成了。如果没有你需要的，可以在右边窗口单击鼠标右键，选择&#8220;新建&#8221;菜单中的&#8220;字符串值&#8221;命令，对应上表，添加一个用于Shell文件夹的字符串值。 <br />
在上面的文件夹中，并没有outlook的通讯簿和邮件存放路径，它们分别在 <br />
通讯簿路径： <br />
HKEY_CURRENT_USER"Software"Microsoft"WAB"WAB4"Wab File Name主键下，将&#8220;默认&#8221;键值改为你需要的路径。 <br />
邮件存放路径： <br />
HKEY_CURRENT_USER"Identities"{8150FA22-A51C-4993-8A96-DC4B9A6B4C55}"Software"Microsoft"Outlook Express"5.0下，将 &#8220;Store Root&#8221;键值改为你需要的路径。</p>
<p>将修改好的这部分注册表导出保存，以便重装系统后可以直接导入而无须再次修改。</p>
<p style="text-indent: 2em"><strong>用文件重定向设置桌面、我的文档和IE收藏夹</strong></p>
<p style="text-indent: 2em">建一个.inf文件，如MyWinData.inf&nbsp;&nbsp; 复制下列内容。然后，右键点击&#8220;安装&#8221;即可。<br clear="all" />
[Version]<br clear="all" />
Signature="$CHICAGO$"<br clear="all" />
[DefaultInstall] <br clear="all" />
AddReg=Shell Folders_AddReg<br clear="all" />
[Shell Folders_AddReg] <br clear="all" />
HKCU, "%User_Shell_Folders%","Cache",0x00020000, "D:"MyWinData"Temporary Internet Files"<br clear="all" />
HKCU, "%User_Shell_Folders%","Favorites",0x00020000, "D:"MyWinData"收藏夹"<br clear="all" />
HKCU, "%User_Shell_Folders%","Personal",0x00020000, "D:"MyWinData"我的文档"<br clear="all" />
HKCU, "%User_Shell_Folders%","Cookies",0x00020000, "D:"MyWinData"Cookies"<br clear="all" />
HKCU, "%User_Shell_Folders%","History",0x00020000, "D:"MyWinData"History"<br clear="all" />
HKCU, "%User_Shell_Folders%","Desktop",0x00020000, "D:"MyWinData"桌面"<br clear="all" />
HKCU, "%User_Shell_Folders%","Templates",0x00020000, "D:"MyWinData"Templates"<br clear="all" />
HKCU, "%User_Shell_Folders%","My Pictures",0x00020000, "D:"MyWinData"我的文档"图片收藏"<br clear="all" />
HKCU, "%User_Shell_Folders%","My Music",0x00020000, "D:"MyWinData"我的文档"我的音乐"<br clear="all" />
[Strings] <br clear="all" />
User_Shell_Folders="Software"Microsoft"Windows"CurrentVersion"Explorer"User Shell Folders"</p>
<p style="text-indent: 2em"><strong>用</strong>Regsnap<strong>重定向设置桌面、我的文档和IE收藏夹</strong></p>
<p style="text-indent: 2em">借用Regsnap(<font size="2">我的文档的更改路径-点击移动</font>)摸索出设置在注册表中的真实路径。</p>
<p style="text-indent: 2em">下面以xp系统，ie浏览器为例，介绍将收藏夹、桌面和我的文档备份到E:"backup"的相应文件夹内，详细步骤如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.打开记事本，将以下内容复制进去，注意第二行一定要留一行空格。<br />
Windows Registry Editor Version 5.00</p>
<p>[HKEY_CURRENT_USER"Software"Microsoft"Windows"CurrentVersion"Explorer"User Shell Folders]<br />
"Desktop"=hex(2):65,00,3a,00,5c,00,62,00,61,00,63,00,6b,00,75,00,70,00,5c,00,"<br />
4c,68,62,97,00,00<br />
"Favorites"=hex(2):65,00,3a,00,5c,00,62,00,61,00,63,00,6b,00,75,00,70,00,5c,00,"<br />
46,00,61,00,76,00,6f,00,72,00,69,00,74,00,65,00,73,00,00,00<br />
"Personal"=hex(2):65,00,3a,00,5c,00,62,00,61,00,63,00,6b,00,75,00,70,00,5c,00,"<br />
4d,00,79,00,20,00,44,00,6f,00,63,00,75,00,6d,00,65,00,6e,00,74,00,73,00,00,"<br />
00<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.将其保存为.reg文件，然后双击合并进注册表。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.调出任务管理器将Explorer.exe结束掉，等桌面出来之后它的默认位置已经转移到E盘backup文件夹下了。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.重启ie，这时收藏夹也转移到 E盘backup文件夹下了。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意：源路径中的文件不会转移，需手动剪切过去。<br />
<br />
<br />
顺便记下：<br />
cuteftp保存session：C:\Documents and Settings\Administrator\Application Data\GlobalSCAPE\CuteFTP Pro\3.0\SM.dat<br />
secureCTR保存log路径：D:\Documents and Settings\Administrator\Application Data\VanDyke\Config\Session</p><img src ="http://www.blogjava.net/etlan/aggbug/270353.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2009-05-13 10:17 <a href="http://www.blogjava.net/etlan/archive/2009/05/13/270353.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转：Java keytool工具的作用及使用方法</title><link>http://www.blogjava.net/etlan/archive/2008/11/05/238823.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Wed, 05 Nov 2008 07:11:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2008/11/05/238823.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/238823.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2008/11/05/238823.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/238823.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/238823.html</trackback:ping><description><![CDATA[<div id="art" style="margin: 15px" twffan="done"><font size="3">Keytool 是安全钥匙与证书的管理工具。它管理一个存储了私有钥匙和验证相应公共钥匙的与它们相关联的X.509 证书链的keystore(相当一个数据库)。<br />
Keytool 是一个有效的安全钥匙和证书的管理工具。它能够使用户使用数字签名来管理他们自己的私有/公共钥匙对,管理用来作自我鉴定的相关的证书,管理数据完整性和鉴定服务。它还能使用户在通信时缓存它们的公共钥匙.<br />
一个证书是某一实体(个人,公司等)的数字签名，指出其他实体的公共钥匙(或其他信息)的详细的值.当数据被签名后,这个签名信息被用来检验数据的完整性和真实性.完整性指数据没有被修改和篡改,真实性指数据从任何产生和签名的一方真正的传输到达。<br />
Keytool 把钥匙和证书储存到一个keystore.默任的实现keystore的是一个文件。它用一个密码保护钥匙。而另外的一个工具jarsigner用keystore中的信息产生或检验Java aRchive(jar文件)中的数字签名。<br />
Keystore有两个不同的入口:<br />
1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 钥匙入口:保存了非常敏感的加密的钥匙信息,并且是用一个保护的格式存储以防止未被授权的访问.以这种形式存储的钥匙是秘密钥匙,或是一个对应证书链中公有钥匙的私有钥匙.<br />
2.&nbsp;&nbsp;&nbsp; 信任证书入口:包含一个属于其他部分的单一公共钥匙证书.它之所以被称为"信任证书",是因为keystore信任的证书中的公共钥匙真正属于证书所有者的身份识别.<br />
&nbsp;<br />
Keystore的别名:<br />
所有的keystore入口(钥匙和信任证书入口)是通过唯一的别名访问.别名是不区分大小写的。如别名Hugo和hugo指向同一个keystore入口.<br />
可以在加一个入口到keystore的时候使用-genkey参数来产生一个钥匙对(公共钥匙和私有钥匙)时指定别名.也可以用-import参数加一个证书或证书链到信任证书。<br />
&nbsp;<br />
如：keytool -genkey -alias duke -keypass dukekeypasswd<br />
&nbsp;<br />
其中duke为别名,dukekeypasswd为duke别名的密码。这行命令的作用是产生一个新的公共/私有钥匙对. 其中duke为别名,dukekeypasswd为duke别名的密码.这行命令的作用是产生一个新的公共/私有钥匙对.<br />
假如你想修改密码,可以用：<br />
keytool -keypasswd -alias duke -keypass dukekeypasswd -new newpass<br />
将旧密码dukekeypasswd改为newpass.<br />
&nbsp;<br />
Keystore的产生:<br />
1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当使用-genkey 或-import或-identitydb命令添加数据到一个keystore,而当这个keystore不存在时,产生一个keystore.默认名是.keystore,存放到user-home目录.<br />
2.&nbsp;&nbsp;&nbsp; 当用-keystore指定时,将产生指定的keystore.<br />
&nbsp;<br />
Keystore的实现:<br />
Keytool 类位于java.security包下,提供一个非常好的接口去取得和修改一个keystore中的信息. 目前有两个命令行:keytool和jarsinger,一个GUI工具Policy 可以实现keystore.由于keystore是公开的,用户可以用它写一些额外的安全应用程序。<br />
Keystore还有一个sun公司提供的內在实现.它把keystore作为一个文件来实现.利用了一个keystore类型(格式)"JKS".它用单独的密码保护每一个私有钥匙.也用可能不同的密码保护整个keystore的完整性.<br />
&nbsp;<br />
支持的算法和钥匙大小:<br />
keytool允许用户指定钥匙对和注册密码服务供应者所提供的签名算法.缺省的钥匙对产生算法是"DSA"。假如私有钥匙是"DSA"类型，缺省签名算法是"SHA1withDSA"，假如私有钥匙是"RSA"类型,缺省算法是"MD5withRSA".<br />
当产生一个DSA钥匙对,钥匙必须在512-1024位之间.对任何算法的缺省钥匙大小是1024位.<br />
&nbsp;<br />
1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 证书：一个证书是一个实体的数字签名,指出其他实体的公共钥匙有明确的值。<br />
2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 公共钥匙：是同一个详细的实体的数字关联,并有意让所有想同这个实体发生信任关系的其他实体知道，公共钥匙用来检验签名;<br />
3.&nbsp;&nbsp;&nbsp; 数字签名:假如数据已被签名,并用身份存储在一个实体中,一个签名能够证明这个实体知道这个数据.这个数据用实体私有钥匙签名并递交;<br />
4.&nbsp;&nbsp;&nbsp; 身份:知道实体的方法.在一些系统中身份是公共钥匙,其他系统中可以是从一个X.509名字的邮件地址的Unix UID来的任何东西;<br />
5.&nbsp;&nbsp;&nbsp; 签名:一个签名用实体私有钥匙来计算某些加密数据;<br />
6.&nbsp;&nbsp;&nbsp; 私有钥匙:是一些数字,每一个私有钥匙只能被特定的拥有该私有钥匙的实体知道.私有和公共钥匙存在所有用公共钥匙加密的系统的钥匙对中.一个公共钥匙加密(如DSA),一个私有钥匙与一个正确的公共钥匙通信.私有钥匙用来计算签名。<br />
7.&nbsp;&nbsp;&nbsp; 实体:一个实体可以是一个人,一个组织,一个程序,一台计算机,一个商业,一个银行,或其他你想信任的东西.<br />
&nbsp;<br />
Keytool应用实例:<br />
&nbsp;<br />
1.产生一个keystore:<br />
&nbsp;<br />
keytool -genkey -alias User(keystore的别名) -keyalg RSA -validity 7 -keystore keystore(指定keystore).<br />
&nbsp;<br />
运行这个命令,系统提示:<br />
Enter keystore password:yourpassword(输入密码)<br />
&nbsp;<br />
What is your first and last name?<br />
[Unknown]: your name(输入你的名字)<br />
&nbsp;<br />
What is the name of your organizational unit?<br />
[Unknown]:your organizational(输入你所在组织单位的名字)<br />
&nbsp;<br />
What is the name of your organization?<br />
[Unknown]:your organization name (输入你所在组织的名字)<br />
&nbsp;<br />
What is the name of your City or Locality?<br />
[Unknown]:your city name(输入所在城市的名字)<br />
&nbsp;<br />
What is the name of your State or Province?<br />
[Unknown]:your provice name(输入所在省份名字)<br />
&nbsp;<br />
What is the two-letter country code for this unit?<br />
[Unknown]:cn(输入国家名字)<br />
Is CN=your name, OU=your organizaion, O="your organization name",L=your city name, ST=your province name, C=cn correct?<br />
[no]: yes<br />
&nbsp;<br />
3.&nbsp;&nbsp;&nbsp; 检查一个keystore:<br />
keytool -list -v -keystore keystore<br />
Enter keystore password:your password(输入密码)<br />
&nbsp;<br />
将显示keystore內容如:<br />
Keystore type: jks<br />
Keystore provider: SUN<br />
&nbsp;<br />
Your keystore contains 1 entry<br />
Alias name: yourname<br />
Creation date: Dec 20, 2001<br />
Entry type: keyEntry<br />
Certificate chain length: 1<br />
Certificate[1]:<br />
Owner: CN=yourname, OU=your organization, O="your organization name",<br />
L=your city name, ST=your province name, C=CN<br />
Issuer: CN=Duke, OU=Java Software, O="Sun Microsystems, Inc.", L=Palo Alto, ST=CA, C=US<br />
Serial number: 3c22adc1<br />
Valid from: Thu Dec 20 19:34:25 PST 2001 until: Thu Dec 27 19:34:25 PST 2001<br />
Certificate fingerprints:<br />
MD5: F1:5B:9B:A1:F7:16:CF:25:CF:F4:FF:35:3F:4C:9C:F0<br />
SHA1: B2:00:50:DD:B6:CC:35:66:21:45:0F:96:AA:AF:6A:3D:E4:03:7C:74<br />
&nbsp;<br />
3．输出keystore到一个文件:testkey:<br />
keytool -export -alias duke -keystore keystore -rfc -file testkey<br />
系统输出：Enter keystore password:your password(输入密码)<br />
Certificate stored in file <testkey>&lt; td&gt;<br />
&nbsp;<br />
4．输入证书到一个新的truststore:<br />
keytool -import -alias dukecert -file testkey -keystore truststore <br />
Enter keystore password:your new password.(输入truststore新密码)<br />
&nbsp;<br />
&nbsp;<br />
5．检查truststore:<br />
keytool -list -v -keystore truststore <br />
系统将显示truststore的信息.<br />
&nbsp;<br />
现在可以用适当的keystore运行你的应用程序.如: <br />
java -Djavax.net.ssl.keyStore = keystore <br />
-Djavax.net.ssl.keyStorePassword=password Server<br />
&nbsp;<br />
和:<br />
&nbsp;java -Djavax.net.ssl.trustStore=truststore<br />
-Djavax.net.ssl.trustStorePassword=trustword Client</testkey></font> </div><img src ="http://www.blogjava.net/etlan/aggbug/238823.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2008-11-05 15:11 <a href="http://www.blogjava.net/etlan/archive/2008/11/05/238823.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转：四个汉字八种姓：张口就错</title><link>http://www.blogjava.net/etlan/archive/2007/12/13/167398.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Thu, 13 Dec 2007 02:04:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2007/12/13/167398.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/167398.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2007/12/13/167398.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/167398.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/167398.html</trackback:ping><description><![CDATA[<p style="text-indent: 24pt"><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">多年以前见到一位姓&#8220;<strong>覃</strong>&#8221;的人士，我接过名片脱口而出念作&#8220;</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">tan</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">&#8221;某某，旁边一位朋友赶紧纠正说：&#8220;不对，这个字念</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">qin</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">。&#8221;我扎扎实实地记住了它的发音，心想以后再也不会犯此错误。</span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">前不久又一次见到一位姓&#8220;<strong>覃</strong>&#8221;的人士，我接过名片一看，很得意于自己早就认死了这个字，脱口而出念作&#8220;</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">qin</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">&#8221;某某，这位女士马上给我纠正说：&#8220;不对不对，我姓</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">tan</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">，不姓</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">qin</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">。&#8221;我当时只感到有点恐惧，一时不敢开口。后来翻找工具书，还真的两种念法都有，吓出一身冷汗。</span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">读书识字几十年，竟然无法念对朋友的姓氏，究竟是我太弱智，还是因为汉语太复杂？</span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">愿意承认自己弱智的人毕竟很少，那就只好认定汉语太复杂了。当然，汉语中的姓氏尤其复杂。有些姓氏因为极为少见，大家固然不知道怎么读法。有些姓氏虽然很常见，读音却跟平时所念不一样，也很容易出差错。有的姓氏看起来是一个字，实际上是两个姓，更是让人莫衷一是，似乎有意给我们难堪。</span></p>
<p style="text-indent: 24pt"><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">这里列出八种最容易念错的姓氏，之所以最容易念错，是因为八个姓氏却共用四个汉字。名列第一的自然是刚刚提到的&#8220;<strong>覃</strong>&#8221;字。</span></p>
<p style="text-indent: 24.1pt"><strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">覃</span></strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">（</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">qin</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">二声，</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">tan</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">二声），这字难就难在是两个不同的姓氏，面对这个汉字时，我们如何判断他究竟是姓</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">qin</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">，还是姓</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">tan</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">，恐怕只好问问他本人。</span></p>
<p style="text-indent: 24.1pt"><strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">郇</span></strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">（</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">huan</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">二声，</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">xun</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">二声），这个字也是两个不同的姓氏，也得问过姓者本人才敢念出声来，否则可能张口就错。</span></p>
<p style="text-indent: 24.1pt"><strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">贲</span></strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">（</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">ben</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">一声，</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">fei</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">二声），汉字这么多，干吗两家不同的姓氏要挤死在一个字上？这不有意给咱们识字少的人难堪吗？下回遇到这些人士，我只好先念几声&#8220;</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">ben</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">乎？</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">fei</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">乎？&#8221;以便及时得到该人士的指点，唯有如此才可避免犯错误。</span></p>
<p style="text-indent: 24.1pt"><strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">隗</span></strong><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">（</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">kui</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">二声，</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">wei</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">三声），我想建议每个汉字只读一个音，这样就不会因为读错别人的姓氏而受责了。可是马上明白这姓氏的书写和发音关系到对人家氏族血缘的描述和确认，还关系到祭祀哪家祖先的问题。如果我们将</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">kui</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">姓改为</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">wei</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">姓，就等于逼着</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">kui</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">家人祭祀</span><span style="font-size: 12pt; color: black" twffan="done" xml:lang="EN-US">wei</span><span style="font-size: 12pt; color: black; font-family: 宋体" twffan="done">家人的祖先。所以，在祖先崇拜的社会，姓氏问题实际上是个宗教问题，万万不可马虎。我们既然生活在这个社会，就有责任尊重同胞们的宗教，从而有责任把同胞们的姓氏念对来。这就不得不为此下一番功夫了。<br />
<br />
补充：<br />
郗，有两个读音，xi和chi，均为阴平声<br />
翟（zhai二声，di二声）<br />
mou,二声，另一部分姓，mu，四声<br />
</span></p><img src ="http://www.blogjava.net/etlan/aggbug/167398.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2007-12-13 10:04 <a href="http://www.blogjava.net/etlan/archive/2007/12/13/167398.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载：限制特定IP访问数据库</title><link>http://www.blogjava.net/etlan/archive/2007/11/08/159014.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Thu, 08 Nov 2007 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2007/11/08/159014.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/159014.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2007/11/08/159014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/159014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/159014.html</trackback:ping><description><![CDATA[限制特定IP访问Oracle数据库<br />
以前有文档说增加或修改protocol.ora文件， <br />
在9i中真正起作用的是sqlnet.ora文件，我们修改sqlnet.ora其实是最好最快的方法。 <br />
&nbsp;&nbsp;<br />
在sqlnet.ora中增加如下部分 <br />
----------------------------- <br />
#### 来自 protocol.ora 的属性 #### <br />
&nbsp;&nbsp;<br />
tcp.validnode_checking=yes&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
#允许访问的IP <br />
tcp.invited_nodes=(ip1,ip2&#8230;&#8230;)&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
#禁止访问的IP <br />
tcp.excluded_nodes=(ip1,ip2&#8230;&#8230;) <br />
&nbsp;&nbsp;<br />
之后重新启动监听器即可 <br />
&nbsp;&nbsp;<br />
需要注意的地方： <br />
1、tcp.invited_nodes与tcp.excluded_nodes都存在，以tcp.invited_nodes为主 <br />
2、一定要许可或不要禁止服务器本机的IP地址，否则通过lsnrctl将不能启动或停止监听，因为该过程监听程序会通过本机的IP访问监听器，而该IP被禁止了，但是通过服务启动或关闭则不影响。 <br />
3、修改之后，一定要重起监听才能生效，而不需要重新启动数据库 <br />
4、任何平台都可以，但是只适用于TCP/IP协议<br /><img src ="http://www.blogjava.net/etlan/aggbug/159014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2007-11-08 09:59 <a href="http://www.blogjava.net/etlan/archive/2007/11/08/159014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TOMCAT出错:java.lang.OutOfMemoryError: Java heap space</title><link>http://www.blogjava.net/etlan/archive/2007/04/29/114575.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Sun, 29 Apr 2007 07:05:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2007/04/29/114575.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/114575.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2007/04/29/114575.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/114575.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/114575.html</trackback:ping><description><![CDATA[<div class=content twffan="done">遇到TOMCAT出错：java.lang.OutOfMemoryError: Java heap space，于是查了资料，找到了解决方法：<br><br>If Java runs out of memory, the following error occurs:<br><br>Exception in thread "main" java.lang.OutOfMemoryError: Java heap space<br>Java heap size can be increased as follows:<br><br>java -Xms&lt;initial heap size&gt; -Xmx&lt;maximum heap size&gt;<br>Defaults are:<br>java -Xms32m -Xmx128m<br><br>如果你用win<br>/tomcat/bin/catalina.bat 加上下面的命令:<br>set JAVA_OPTS=-Xms32m -Xmx256m<br><br>如果你用unix/linux<br>/tomcat/bin/catalina.sh 加上下面的命令:<br>JAVA_OPTS="-Xms32m -Xmx256m"</div><img src ="http://www.blogjava.net/etlan/aggbug/114575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2007-04-29 15:05 <a href="http://www.blogjava.net/etlan/archive/2007/04/29/114575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>复制代码javascript</title><link>http://www.blogjava.net/etlan/archive/2007/04/03/108170.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Tue, 03 Apr 2007 03:59:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2007/04/03/108170.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/108170.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2007/04/03/108170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/108170.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/108170.html</trackback:ping><description><![CDATA[<div class=code twffan="done">
<div class=title twffan="done">
<div style="LEFT: 70px; FLOAT: left; POSITION: relative; TOP: -30px" twffan="done"><input onclick="return CopyCode(this);" type=button value=复制代码 name=CopyButton></div>
</div>
<div class=content twffan="done">
<p>&lt;script language="javascript"&gt;<br>function CopyCode(key)<br>{<br>&nbsp; var divElements = document.getElementsByTagName("div");<br>&nbsp; var i;<br>&nbsp; occur = 0;&nbsp; <br>&nbsp; for(i = 0; i &lt; divElements.length; ++i)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; if(key.parentElement.parentElement.parentElement == divElements[i].parentElement)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(occur == 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(navigator.appName.indexOf('Microsoft') != -1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copyToClipboard(divElements[i].innerText);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copyToClipboard(Html2Txt(divElements[i].innerHTML));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; occur++;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }<br>}<br>function Html2Txt(htmlText)<br>{<br>&nbsp; str = htmlText.replace(/\r\n/g, " ");<br>&nbsp; str = str.replace(/\r/g, " "); <br>&nbsp; str = str.replace(/\n/g, " "); <br>&nbsp; str = str.replace(/\t/g, "");<br>&nbsp; str = str.replace(/&lt;BR&gt;/gi,"\r\n");<br>&nbsp; str = str.replace(/&lt;[^&gt;]+?&gt;/g,"");<br>&nbsp; str = str.replace(/&amp;nbsp;/g, " ");<br>&nbsp; str = str.replace(/&amp;gt;/g, "&gt;");<br>&nbsp; str = str.replace(/&amp;lt;/g, "&lt;");<br>&nbsp; str = str.replace(/&amp;amp;/g, "&amp;");<br>&nbsp; return str;<br>}</p>
<p>function copyToClipboard(txt)<br>{<br>&nbsp;if(window.clipboardData) <br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; window.clipboardData.clearData();<br>&nbsp;&nbsp;&nbsp; window.clipboardData.setData("Text", txt);<br>&nbsp; }<br>&nbsp; else if(navigator.userAgent.indexOf("Opera") != -1) <br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; window.location = txt;<br>&nbsp; } <br>&nbsp; else if (window.netscape) <br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; try <br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");<br>&nbsp;&nbsp;&nbsp; } <br>&nbsp;&nbsp;&nbsp; catch (e) <br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("您的firefox安全限制限制您进行剪贴板操作，请在地址栏中输入&#8220;about:config&#8221;将&#8220;signed.applets.codebase_principal_support&#8221;设置为&#8220;true&#8221;之后重试");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);<br>&nbsp;&nbsp;&nbsp; if (!clip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);<br>&nbsp;&nbsp;&nbsp; if (!trans)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; trans.addDataFlavor('text/unicode');<br>&nbsp;&nbsp;&nbsp; var str = new Object();<br>&nbsp;&nbsp;&nbsp; var len = new Object();<br>&nbsp;&nbsp;&nbsp; var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);<br>&nbsp;&nbsp;&nbsp; var copytext = txt;<br>&nbsp;&nbsp;&nbsp; str.data = copytext;<br>&nbsp;&nbsp;&nbsp; trans.setTransferData("text/unicode",str,copytext.length*2);<br>&nbsp;&nbsp;&nbsp; var clipid = Components.interfaces.nsIClipboard;<br>&nbsp;&nbsp;&nbsp; if (!clip)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp; clip.setData(trans,null,clipid.kGlobalClipboard);<br>&nbsp; }<br>} <br>&lt;/script&gt;</p>
</div>
</div><img src ="http://www.blogjava.net/etlan/aggbug/108170.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2007-04-03 11:59 <a href="http://www.blogjava.net/etlan/archive/2007/04/03/108170.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tomcat数据库连接池设置</title><link>http://www.blogjava.net/etlan/archive/2006/06/22/54497.html</link><dc:creator>张秀兰</dc:creator><author>张秀兰</author><pubDate>Thu, 22 Jun 2006 07:18:00 GMT</pubDate><guid>http://www.blogjava.net/etlan/archive/2006/06/22/54497.html</guid><wfw:comment>http://www.blogjava.net/etlan/comments/54497.html</wfw:comment><comments>http://www.blogjava.net/etlan/archive/2006/06/22/54497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/etlan/comments/commentRss/54497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/etlan/services/trackbacks/54497.html</trackback:ping><description><![CDATA[<p>以下是转帖:<br></p>
<table class=buttomBorder cellSpacing=3 cellPadding=3 width="100%" border=0>
    <tbody>
        <tr>
            <td class=contentTitle align=middle>
            <p align=justify>Tomcat 的数据库连接池设置与应用 </p>
            </td>
        </tr>
        <tr>
            <td align=middle>
            <p align=justify>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td class=content vAlign=top align=left>
            <p>1．将数据库驱动程序的JAR文件放在Tomcat的&nbsp;common/lib&nbsp;中；<br><br>2．在server.xml中设置数据源，以MySQL数据库为例，如下：<br>在&lt;GlobalNamingResources&gt;&nbsp;&lt;/GlobalNamingResources&gt;节点中加入，<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Resource<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name="jdbc/DBPool"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type="javax.sql.DataSource"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password="root"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driverClassName="com.mysql.jdbc.Driver"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxIdle="2"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxWait="5000"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;username="root"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url="jdbc:mysql://127.0.0.1:3306/test"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxActive="4"/&gt;<br>&nbsp;&nbsp;&nbsp;属性说明：name，数据源名称，通常取&#8221;jdbc/XXX&#8221;的格式；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type，&#8221;javax.sql.DataSource&#8221;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password，数据库用户密码；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driveClassName，数据库驱动；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxIdle，最大空闲数，数据库连接的最大空闲时间。超过空闲时间，数据库连<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接将被标记为不可用，然后被释放。设为0表示无限制。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MaxActive，连接池的最大数据库连接数。设为0表示无限制。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxWait&nbsp;，最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无限制。<br><br>3．在你的web应用程序的web.xml中设置数据源参考，如下：<br>&nbsp;&nbsp;在&lt;web-app&gt;&lt;/web-app&gt;节点中加入，<br>&nbsp;&nbsp;&lt;resource-ref&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;MySQL&nbsp;DB&nbsp;Connection&nbsp;Pool&lt;/description&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;res-ref-name&gt;jdbc/DBPool&lt;/res-ref-name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;res-auth&gt;Container&lt;/res-auth&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;res-sharing-scope&gt;Shareable&lt;/res-sharing-scope&gt;<br>&nbsp;&lt;/resource-ref&gt;<br>&nbsp;&nbsp;子节点说明：&nbsp;description，描述信息；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res-ref-name，参考数据源名字，同上一步的属性name；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res-type，资源类型，&#8221;javax.sql.DataSource&#8221;；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res-auth，&#8221;Container&#8221;；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res-sharing-scope，&#8221;Shareable&#8221;；<br><br>4．在web应用程序的context.xml中设置数据源链接，如下：<br>&nbsp;&nbsp;在&lt;Context&gt;&lt;/Context&gt;节点中加入，<br>&nbsp;&nbsp;&lt;ResourceLink<br>&nbsp;&nbsp;&nbsp;name="jdbc/DBPool"&nbsp;<br>&nbsp;&nbsp;&nbsp;type="javax.sql.DataSource"&nbsp;<br>&nbsp;&nbsp;&nbsp;global="jdbc/DBPool"/&gt;<br>&nbsp;&nbsp;&nbsp;属性说明：name，同第2步和第3步的属性name值，和子节点res-ref-name值；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type，同样取&#8221;javax.sql.DataSource&#8221;；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global，同name值。<br>&nbsp;<br>至此，设置完成，下面是如何使用数据库连接池。<br>1．建立一个连接池类，DBPool.java，用来创建连接池，代码如下：<br>import&nbsp;javax.naming.Context;<br>import&nbsp;javax.naming.InitialContext;<br>import&nbsp;javax.naming.NamingException;<br>import&nbsp;javax.sql.DataSource;<br><br>public&nbsp;class&nbsp;DBPool&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;DataSource&nbsp;pool;<br>&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Context&nbsp;env&nbsp;=&nbsp;null;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;env&nbsp;=&nbsp;(Context)&nbsp;new&nbsp;InitialContext().lookup("java:comp/env");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pool&nbsp;=&nbsp;(DataSource)env.lookup("jdbc/DBPool");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(pool==null)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.err.println("'DBPool'&nbsp;is&nbsp;an&nbsp;unknown&nbsp;DataSource");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;catch(NamingException&nbsp;ne)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ne.printStackTrace();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;DataSource&nbsp;getPool()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;pool;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}<br><br>2．在要用到数据库操作的类或jsp页面中，用DBPool.getPool().getConnection()，<br>获得一个Connection对象，就可以进行数据库操作，<br>最后别忘了对Connection对象调用close()方法，<br>注意：这里不会关闭这个Connection，而是将这个Connection放回数据库连接池。<br><br>也是可以直接连的：<br>如连接oracle<br>public class ConnectionProvider<br>{<br>&nbsp;public static DataSource ds;</p>
            <p>&nbsp;static <br>&nbsp;{<br>&nbsp;&nbsp;DriverAdapterCPDS cpds = new DriverAdapterCPDS();</p>
            <p>&nbsp;&nbsp;try<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;cpds.setDriver("oracle.jdbc.driver.OracleDriver");<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;catch (ClassNotFoundException e)<br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;String msg = "Could not find driver in the classpath ";<br>&nbsp;&nbsp;&nbsp;System.out.println(msg);<br>&nbsp;&nbsp;&nbsp;throw new RuntimeException(msg);<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;cpds.setUrl("jdbc:oracle:thin:@192.168.0.167:1521:epcora");<br>&nbsp;&nbsp;cpds.setUser("71c");<br>&nbsp;&nbsp;cpds.setPassword("123456");</p>
            <p>&nbsp;&nbsp;Jdbc2PoolDataSource tds = new Jdbc2PoolDataSource();<br>&nbsp;&nbsp;tds.setConnectionPoolDataSource(cpds);<br>&nbsp;&nbsp;tds.setDefaultMaxActive(20);<br>&nbsp;&nbsp;tds.setDefaultMaxWait(50);<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;ds = tds;<br>&nbsp;}<br>}<br>这样就不用在server.xml,web.xml设置了。<br><br>还是若用eclipse跟踪bug，设置连接数据库则须在&#8220;Java构建路径&#8221;－&#8220;库&#8221;里添加上<br>数据库驱动程序的JAR文件即可。<br></p>
            </td>
        </tr>
    </tbody>
</table><img src ="http://www.blogjava.net/etlan/aggbug/54497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/etlan/" target="_blank">张秀兰</a> 2006-06-22 15:18 <a href="http://www.blogjava.net/etlan/archive/2006/06/22/54497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>