﻿<?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/shmily432685/category/4278.html</link><description>http://www.eshoo.com.cn &lt;a title="欢迎来到异客中国" href="http://www.eshoo.com.cn"&gt;欢迎来到异客中国&lt;/a&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 12 Jul 2011 22:07:32 GMT</lastBuildDate><pubDate>Tue, 12 Jul 2011 22:07:32 GMT</pubDate><ttl>60</ttl><item><title>SVN服务器配置</title><link>http://www.blogjava.net/shmily432685/archive/2011/07/12/354203.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Tue, 12 Jul 2011 14:19:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2011/07/12/354203.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/354203.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2011/07/12/354203.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/354203.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/354203.html</trackback:ping><description><![CDATA[<div>
<div>
<div>
<h3 pre=""  fs1"="">原文出处：http://blog.163.com/air-blue55/blog/static/9708657020105612454398/<br />
</h3>
<font  size="3"><strong><br />
</strong></font></div>
</div>
</div>
<div></div>
<div fc05="" fc11="" nbw-blog="" ztag=""  js-fs2"="">
<p>有两种方案：<br />
<br />
<strong>* VisualSVN Server，安装更简单、更直观：</strong><font color="#0060bf">http://www.visualsvn.com/server/download/</font><strong><br />
<br />
*&nbsp;</strong><strong>传统的Subversion&nbsp;服务器程序：<br />
</strong>一、准备工作<br />
<br />
1、获取<strong>&nbsp;Subversion&nbsp;</strong>服务器程序<br />
<br />
到官方网站（http://subversion.tigris.org/）下载最新的服务器安装程序。目前最新的是1.5版本，具体下载地址在：<font color="#0060bf">http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&amp;expandFolder=8100&amp;folderID=91</font><br />
<br />
<br />
2、获取&nbsp;<strong>TortoiseSVN&nbsp;</strong>客户端程序<br />
<br />
从官方网站&nbsp;<font color="#0060bf">http://tortoisesvn.net/downloads</font>&nbsp;获取最新的&nbsp;TortoiseSVN&nbsp;。TortoiseSVN&nbsp;是一个客户端程序，用来与&nbsp;subvers&nbsp;服务器端通讯。Subversion&nbsp;自带一个客户端程序&nbsp;svn.exe ,但&nbsp;TortoiseSVN&nbsp;更好操作，提高效率。<br />
<br />
<br />
二、安装服务器端和客户端<br />
<br />
安装&nbsp;Subversion（以下简称SVN）的服务器端和客户端。下载下来的服务器端是个&nbsp;zip&nbsp;压缩包，直接解压缩即可，比如我解压到E:\subversion&nbsp;。客户端安装文件是个&nbsp;exe&nbsp;可执行文件，直接运行按提示安装即可，客户端安装完成后提示重启。<br />
<br />
<br />
三、建立版本库（Repository）<br />
<br />
运行Subversion服务器需要首先要建立一个版本库（Repository）。版本库可以看作是服务器上集中存放和管理数据的地方。<br />
<br />
开始建立版本库。首先建立&nbsp;e:\svn&nbsp;空文件夹作为所有版本库的根目录。然后，<strong>进入命令行并切换到</strong><strong>subversion的bin目录。输入如下命令：</strong><br />
<br />
<strong>svnadmin create E:\svn\repos1</strong><br />
<br />
此命令在&nbsp;E:\svn&nbsp;下建立一个版本库&nbsp;repos1&nbsp;。repos1&nbsp;下面会自动生成一些文件夹和文件。<br />
<br />
我们也可以使用&nbsp;TortoiseSVN&nbsp;图形化的完成这一步：<br />
<br />
先建立空目录&nbsp;E:\svn\repos1&nbsp;，注意一定是要空的。然后在&nbsp;repos1&nbsp;文件夹上&#8220;<strong>右键-&gt;TortoiseSVN-&gt;Create Repository here</strong>...&#8221;，然后可以选择版本库模式，这里使用默认的FSFS即可，然后就创建了一系列文件夹和文件，同命令行建立的一样。<br />
<br />
<br />
<br />
四、运行独立服务器<br />
<br />
此时&nbsp;subversion&nbsp;服务还没有开始，只是通过它的命令建立了版本库。继续在刚才的命令窗口输入：<br />
<br />
svnserve.exe --daemon<br />
<br />
svnserve&nbsp;将会在端口&nbsp;3690&nbsp;等待请求，--daemon（两个短横线）选项告诉&nbsp;svnserve&nbsp;以守护进程方式运行，这样在手动终止之前不会退出。注意不要关闭命令行窗口，关闭窗口会把&nbsp;svnserve&nbsp;停止。<br />
<br />
为了验证svnserve正常工作，使用TortoiseSVN -&gt; Repo-browser&nbsp;来查看版本库。在弹出的&nbsp;URL&nbsp;对话框中输入：<br />
<br />
svn://localhost/svn/repos1<br />
<br />
点&nbsp;OK&nbsp;按钮后就可以看见&nbsp;repos1&nbsp;版本库的目录树结构了，只不过这时&nbsp;repos1&nbsp;是个空库。<br />
<br />
你也可以使用--root选项设置根位置来限制服务器的访问目录，从而增加安全性和节约输入svnserve URL的时间：<br />
<br />
<strong>svnserve.exe --daemon --root drive:\path\to\repository</strong><br />
<br />
以前面的测试作为例，svnserve&nbsp;将会运行为：<br />
eg:<br />
<strong>svnserve.exe --daemon --root e:\svn</strong><br />
<br />
然后TortoiseSVN中的版本库浏览器URL缩减为：<br />
<br />
<u>svn://localhost/repos1</u></p>
<p><u></u>&nbsp;</p>
<p><u></u>&nbsp;</p>
<p><font color="#000000">==svn开机自启动=====================<o p=""></o></font></p>
<p><font color="#000000">创建autoRunSVN.bat文件，内容是：<o p=""></o></font></p>
<p><o p=""><font color="#000000">&nbsp;</font></o></p>
<p><font color="#000000">Cpp代码<o p=""></o></font></p>
<p><font color="#000000">sc create MySVNServer binpath= "\"C:\Program Files\Subversion\svnserve\svnserve\" --service -r H:\homerepos" displayname= "SVNService" depend= Tcpip start= auto&nbsp;&nbsp;<o p=""></o></font></p>
<p><font color="#000000">pause&nbsp;<o p=""></o></font></p>
<p><strong>sc create MySVNServer binpath= "\"J:\java\Subversion\bin\svnserve.exe" --service -r \"G:\svn repository\"" displayname= "SVNService" depend= Tcpip start= auto<o p=""></o></strong></p>
<p><font color="#000000">pause<strong><o p=""></o></strong></font></p>
<p><font color="#000000">&nbsp;注意之处：<o p=""></o></font></p>
<p><font color="#000000">（1）sc是windows自带的服务配置程序，MySVNServer&nbsp;是服务的名称，似乎没什么用。<o p=""></o></font></p>
<p><o p=""><font color="#000000">&nbsp;</font></o></p>
<p><font color="#000000">（2）参数binPath表示svnserve可执行文件的安装路径，由于路径中的"Program Files"带有空格，因此整个路径需要用双引号引起来。而双引号本身是个特殊字符，需要进行转义，因此在路径前后的两个双引号都需要写成\"&nbsp;。<o p=""></o></font></p>
<p><font color="#000000">（3）--service参数表示以windows服务的形式运行，--r指明svn repository的位置，service参数与r参数都作为binPath的一部分，因此与svnserve.exe的路径一起被包含在一对双引号当中，而这对双引号不需要进行转义。<o p=""></o></font></p>
<p><o p=""><font color="#000000">&nbsp;</font></o></p>
<p><font color="#000000">（4）displayname表示在windows服务列表中显示的名字，&nbsp;depend =Tcpip&nbsp;表示svnserve服务的运行需要tcpip服务，start=auto表示开机后自动运行。安装服务后，svnserve要等下次开机时才会自动运行。&nbsp;（5）binPath的等号前面无空格，等号后面有空格&nbsp;displayname depend start也都一样<o p=""></o></font></p>
<p><font color="#000000">service前面是--，不是-&nbsp;，而r前面是-<o p=""></o></font></p>
<p><font color="#000000">（6）若要卸载svn服务，则执行&nbsp;sc delete svnserve&nbsp;即可。&nbsp;<o p=""></o></font></p>
<p><o p=""><font color="#000000">&nbsp;</font></o></p>
<p><font color="#000000">（7）从&#8220;sc&#8221;到&#8220;auto&#8221;是在同一个命令sc，必须写在同一行。<o p=""></o></font></p>
<p><o p=""><font color="#000000">&nbsp;</font></o></p>
<p><font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建成功后，可以在运行中键入service.msc察看系统服务，找到SVNService项，查看这项服务的属性，可以使用Windows提供的界面操作SVNService服务了。</font><o p=""></o></p>
<p>&nbsp;</p>
<p><strong>P.S. 经本人实验，以上的SVN开机自启动方法一直无法实现，由于不会写批处理语句，也不知道是哪里错，但网上很多地方都是用这种方法去实现&nbsp; 开机自启动。最后，只能重新找了一种新方法，虽然无法开机自启动，但可以较方便实现多个服务进程和管理多个文件夹，请各位自行选择。</strong></p>
<p><font color="#000000">创建SVNService.bat文件，内容如下（尊重作者版权，请勿删除作者信息）：</font></p>
<font color="#000000"></font>
<p>&nbsp;</p>
<p>@ECHO OFF<br />
::======================================================================<br />
::作者&nbsp;&nbsp;&nbsp;&nbsp; : Zealic<br />
::版本&nbsp;&nbsp;&nbsp;&nbsp; : 1.05<br />
::功能&nbsp;&nbsp;&nbsp;&nbsp; : 通过简便快捷的方式安装 Subversion.<br />
::最后更新 : 2007-12-28<br />
::======================================================================<br />
::初始化环境<br />
::======================================================================</p>
<p>&nbsp;</p>
<p>ECHO *** 安装 Subversion 服务 ***</p>
<p>::======================================================================<br />
::======================================================================<br />
::创建服务<br />
::======================================================================<br />
ECHO +++ 创建资源库服务 +++<br />
ECHO 创建系统服务，这需要输入一些信息...</p>
<p>:INPUT_SVC_NAME<br />
SET /P svc_name=请输入服务名&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;<br />
::服务名不能为空值<br />
if "%svc_name%" == "" (<br />
&nbsp; ECHO 服务名不能为空，请重新输入。<br />
&nbsp; GOTO INPUT_SVC_NAME<br />
)<br />
::查询服务是否存在，通过查找输出是否存在错误，"1060:"是发生错误是时输出的错误代码。<br />
SC QUERY "%svc_name%" | find "1060:" &gt;&gt; NUL<br />
IF %errorlevel% == 1 (<br />
&nbsp; ECHO 服务 "%svc_name%" 已经存在！请重新输入服务名。<br />
&nbsp; GOTO INPUT_SVC_NAME<br />
)<br />
ECHO.</p>
<p>::输入资源库信息<br />
:INPUT_REPOS<br />
SET /P&nbsp;&nbsp;&nbsp; repos=请输入资源库路径 :&nbsp;<br />
ECHO.</p>
<p>::创建服务<br />
ECHO 您使用以下信息创建 Subversion 服务 :&nbsp;<br />
ECHO 服务名称&nbsp;&nbsp; : "%svc_name%"<br />
ECHO 资源库路径 : "%repos%"<br />
ECHO 正在创建服务...<br />
SC create %svc_name% binPath= "\"E:\Subversion\bin\svnserve.exe\" --service -r \"%repos%\"" depend= Tcpip start= auto| find "1060:" &gt;&gt; NUL<br />
ECHO.<br />
IF %errorlevel% == 0 GOTO SC_ERROR<br />
ECHO --- 创建服务成功! ---<br />
ECHO.<br />
ECHO.</p>
<p>::======================================================================<br />
::生成操作批处理文件<br />
::======================================================================<br />
ECHO +++ 生成服务操作批处理 +++<br />
ECHO 服务操作批处理文件可以帮助您快速操作服务。<br />
SET bat_delete=DELETE_%svc_name%.BAT<br />
SET bat_start=START_%svc_name%.BAT<br />
SET bat_stop=STOP_%svc_name%.BAT<br />
ECHO 生成删除服务批处理 "%bat_delete%" ...<br />
::bat_delete<br />
ECHO @ECHO OFF&gt; %bat_delete%<br />
ECHO NET STOP %svc_name%&gt;&gt; %bat_delete%<br />
ECHO SC delete %svc_name%&gt;&gt; %bat_delete%<br />
ECHO DEL %bat_start%&gt;&gt; %bat_delete%<br />
ECHO DEL %bat_stop%&gt;&gt; %bat_delete%<br />
ECHO DEL %bat_delete%&gt;&gt; %bat_delete%<br />
ECHO PAUSE&gt;&gt; %bat_delete%<br />
::bat_start<br />
ECHO 生成运行服务批处理 "%bat_start%" ...<br />
ECHO @ECHO OFF&gt; %bat_start%<br />
ECHO NET START %svc_name%&gt;&gt; %bat_start%<br />
ECHO PAUSE&gt;&gt; %bat_start%<br />
::bat_stop<br />
ECHO 生成停止服务批处理 "%bat_stop%" ...<br />
ECHO @ECHO OFF&gt; %bat_stop%<br />
ECHO NET STOP %svc_name%&gt;&gt; %bat_stop%<br />
ECHO PAUSE&gt;&gt; %bat_stop%<br />
ECHO.<br />
ECHO --- 生成服务操作批处理成功! ---<br />
ECHO.<br />
ECHO.</p>
<p>::======================================================================<br />
::Finish<br />
::======================================================================<br />
ECHO ### 所有操作成功! ###<br />
GOTO END</p>
<p>::======================================================================<br />
::错误段<br />
::======================================================================<br />
:ENV_ERROR<br />
ECHO --- 设置环境变量失败! ---<br />
GOTO END</p>
<p>:SC_ERROR<br />
ECHO --- 创建服务失败! ---<br />
GOTO END</p>
<p>:SC_INV_PORT<br />
ECHO 无效的端口号，请重新输入。<br />
GOTO INPUT_SVC_PORT</p>
<p>:END<br />
PAUSE</p>
<p><font color="#000000">其中<font color="#ff0000">SC create %svc_name% binPath= "\"E:\Subversion\bin\svnserve.exe\" --service -r \"%repos%\"" depend= Tcpip start= auto| find "1060:" &gt;&gt; NUL</font><font color="#000000">需要将binpath改为svnserve.exe所在路径，之后就可以运行服务了。</font></font></p>
<p><font color="#000000"></font>&nbsp;</p>
<font color="#000000">
<p>五、配置用户和权限<br />
<br />
用文本编辑器打开E:\svn\repos1\conf目录，修改<strong>svnserve.conf</strong>：<br />
<br />
将：<br />
<br />
# password-db = passwd<br />
<br />
改为：<br />
<br />
password-db = passwd<br />
<br />
<strong>即去掉前面的</strong><strong>&nbsp;#&nbsp;</strong><strong>注释符，注意前面不能有空格。</strong><br />
<br />
然后修改同目录的<strong>passwd</strong>文件，增加一个帐号：<br />
<br />
将：<br />
<br />
[users]<br />
# harry = harryssecret<br />
# sally = sallyssecret<br />
<br />
<strong>增加帐号：</strong><strong><br />
</strong><br />
[users]<br />
#harry = harryssecret<br />
#sally = sallyssecret<br />
test = test<br />
<br />
<br />
六、初始化导入<br />
<br />
下面就是将我们的数据（项目）导入到这个版本库，以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来，甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。<br />
<br />
比如，我在&nbsp;d:\wwwroot&nbsp;下有个&nbsp;guestbook&nbsp;文件夹，里面存放的是我编写的留言簿程序。在此文件夹上&#8220;右键&nbsp;-&gt; TortoiseSVN -&gt; Import...&#8221;&nbsp;，在弹出对话框的&#8220;URL of repository&#8221;输入&#8220;svn://localhost/repos1/guestbook&#8221;。在&#8220;Import message&#8221;输入&#8220;导入整个留言簿&#8221;作为注释。<br />
点&nbsp;OK&nbsp;后要求输入帐号。我们在用户名和密码处都输入&nbsp;test&nbsp;。完成后&nbsp;guestbook&nbsp;中的内容全部导入到了&nbsp;svn://localhost/svn/repos1/guestbook&nbsp;。<br />
<br />
我们看到在&nbsp;e:\svn\repos1&nbsp;没有任何变化，连个&nbsp;guestbook&nbsp;文件夹都没有建立，唯一的变化就是e:\svn\repos1容量变大了。实际上我们源guestbook中的内容已经导入&nbsp;repos1&nbsp;版本库了，源&nbsp;guestbook&nbsp;文件夹可以删除了。<br />
<br />
需要注意的是，这一步操作可以完全在另一台安装了&nbsp;TortoiseSVN&nbsp;的客户机上进行。例如运行svnserve的主机的IP是133.96.121.22，则URL部分输入的内容就是&#8220;svn://133.96.<st1 tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="121.22" unitname="&#8221;" wst="on" chmetcnv="">121.22&#8221;&nbsp;</st1>。<br />
<br />
<br />
七、基本操作流程<br />
<br />
1、取出（check out）<br />
<br />
取出版本库到一个工作拷贝：<br />
<br />
来到任意空目录下，比如在f分区建立一个空文件夹&nbsp;f:\work&nbsp;。&#8220;右键&nbsp;-&gt; SVN Checkout&#8221;。在&#8220;URL of repository&#8221;中输入&#8220;svn://localhost/svn/repos1/guestbook&#8221;，这样我们就得到了一份&nbsp;guestbook&nbsp;中内容的工作拷贝。<br />
<br />
2、存入（check in）/提交（commit）<br />
<br />
在工作拷贝中作出修改并提交：<br />
<br />
在&nbsp;guestbook&nbsp;工作拷贝中随便打开一个文件，作出修改，然后&#8220;右键&nbsp;-&gt; SVN Commit... &#8221;。这样我们就把修改提交到了版本库，版本库根据情况存储我们提交的数据。<br />
<br />
在修改过的文件上&#8220;右键&nbsp;-&gt; TortoiseSVN -&gt; Show Log&#8221;&nbsp;，可以看到对这个文件所有的提交。在不同的&nbsp;revision&nbsp;条目上&#8220;右键&nbsp;-&gt; Compare with working copy&#8221;，我们可以比较工作拷贝的文件和所选&nbsp;revision&nbsp;版本的区别。</p>
</font></div>
@import url(http://www.blogjava.net/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.blogjava.net/shmily432685/aggbug/354203.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2011-07-12 22:19 <a href="http://www.blogjava.net/shmily432685/archive/2011/07/12/354203.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>产品介绍，煤矿专用虹膜考勤机</title><link>http://www.blogjava.net/shmily432685/archive/2010/10/21/335800.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Thu, 21 Oct 2010 08:42:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2010/10/21/335800.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/335800.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2010/10/21/335800.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/335800.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/335800.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p><span style="font-family: simsun"><span style="font-size: 14pt"><span style="color: #ff6600"><strong>一、矿用考勤普遍存在的问题</strong></span></span></span></p>
<ul>
    <li><span style="font-size: 12pt">您是否还在为井下人员数量不准确而发愁吗？</span>
    <li><span style="font-size: 12pt">您是否还在为考勤代打卡而发愁吗？</span>
    <li><span style="font-size: 12pt">您是否还在为考勤受外界环境的影响而发愁吗？</span></li>
</ul>
<p><span style="font-size: 14pt"><span style="color: #ff6600"><strong><span style="font-family: simsun">二、艾特永益矿用虹膜考勤机简介</span></strong></span></span></p>
<p><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp; 艾特永益矿用虹膜考勤机为您解决一切烦恼，目前市场上广泛采用的磁卡，IC卡，射频卡等问题无法解决替代性问题，而指纹、人脸识别等生物识别技术，也因为识别精度不够，指纹容易损伤、先天指纹不清、下井人员面部因素、设备维护困难等问题不能满足需要。<br />
&nbsp;&nbsp;&nbsp; 而虹膜识别考勤系统可以从根本上杜绝公司考勤时有人替打卡现象，手指和人脸因矿井的外在因素影响，而且识别率很高。<br />
&nbsp;&nbsp;&nbsp; 并且虹膜考勤系统有着以下几方面的优点：<br />
&nbsp;&nbsp;&nbsp; 1、 虹膜识别技术免接触，不可以篡改，安全性高，<br />
&nbsp;&nbsp;&nbsp; 2、 正常状态下的虹膜识别速度在1秒左右。<br />
&nbsp;&nbsp;&nbsp; 3、 统计虹膜识别考勤数据快捷，不需人工统计。<br />
&nbsp;&nbsp;&nbsp; 4、 产品先进，虹膜身份识别技术是目前所有生物识别技术里安全性，唯一性最高的人体生物识别技术。使用上已经非常方便可靠，所以投资一步到位，操作简单，使用寿命长。</span></p>
<p><span style="font-size: 12pt">&nbsp;我们为您提供最优质的服务，根据您的具体要求，与各种其他系统结合（比如智能卡），完全实现订制。</span></p>
<p><span style="font-family: simsun"><span style="font-size: 14pt"><span style="color: #ff6600"><strong>三、配套考勤软件</strong></span></span></span></p>
<p><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp; 考勤系统的目的是为实现员工考勤数据采集、数据统计和信息查询过程的自动化，完善人事管理现代化，方便员工上班报到，方便管理人员统计、考核员工出勤情况，方便管理部门查询、考核各部门出勤率；准确地掌握员工出勤情况，有效地管理、掌握人员流动情况，适用于机关﹑金融和各企事业单位。<br />
&nbsp;&nbsp;&nbsp; 考勤基本功能<br />
&nbsp;&nbsp;&nbsp; 1. 员工上下班的数据，经考勤软件从门禁数据库采集，为原始考勤数据的来源。<br />
&nbsp;&nbsp;&nbsp; 2. 统计：统计系统将个人的信息进行过滤处理，只保留每天考勤记录，然后按员工姓名、日期或其他分类方式进行统计，生成各类报表。<br />
&nbsp;&nbsp;&nbsp; 3. 查询：可根据需要随时在查询系统查询各员工的上下班、出勤缺勤等情况，并可随时打印出来。<br />
&nbsp;&nbsp;&nbsp; 4. 考勤管理：系统允许系统管理员进行系统设置。设置包括每次采集的有效时间段设置，迟到、早退、旷工的时间设置等。如提前多少时间上班有效，早退多少时间是旷工等。用户可以根据自己的实际情况，进行设置。可根据公司的制度设定迟到、早退、旷工的条件。<br />
&nbsp;&nbsp;&nbsp; 5. 员工管理：每位员工都有较详细的信息，包括员工编号、部门、职位等。<br />
&nbsp;&nbsp;&nbsp; 6. 无人值守考勤：记录任何非法出入信息及图像，及时记录于机器硬盘上，断电仍可保证记录安全储存。</span></p>
<p><span style="font-size: 12pt"><br class="img-brk" />
<br class="img-brk" />
<img style="width: 724px; height: 981px; visibility: visible" alt="" src="http://i00.c.aliimg.com/img/ibank/2010/798/240/191042897_802525787.jpg" /><br class="img-brk" />
<br class="img-brk" />
<span style="font-size: 12pt"><img style="width: 724px; height: 981px; visibility: visible" alt="" src="http://i00.c.aliimg.com/img/ibank/2010/667/240/191042766_802525787.jpg" /></span></span></p><img src ="http://www.blogjava.net/shmily432685/aggbug/335800.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2010-10-21 16:42 <a href="http://www.blogjava.net/shmily432685/archive/2010/10/21/335800.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典网摘</title><link>http://www.blogjava.net/shmily432685/archive/2007/04/23/112931.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Mon, 23 Apr 2007 05:29:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2007/04/23/112931.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/112931.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2007/04/23/112931.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/112931.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/112931.html</trackback:ping><description><![CDATA[<p>人=吃饭+睡觉+上班+玩,<br>猪=吃饭+ 睡觉,<br>代入:人=猪+上班+玩,<br>即:人-玩=猪+上班.<br>结论:不懂玩的人=会上班的猪&nbsp;&nbsp; </p>
<p>男人=吃饭+ 睡觉+挣钱<br>猪=吃饭+ 睡觉<br>男人=猪+挣钱<br>猪=男人-挣钱<br>所以男人不挣钱等于猪。</p>
<p>女人=吃饭+ 睡觉+花钱。<br>猪&nbsp; =吃饭+ 睡觉。代入上式得：<br>女人=猪+花钱。移项得：<br>女人-花钱=猪。<br>结论：女人不花钱的都是猪。</p>
<p>综上：<br>男人为了让女人不变成猪而挣钱！<br>女人为了让男人不变成猪而花钱 </p>
<p>&nbsp;</p>
<p>写字楼里写字间，写字间中程序员<br>程序人员写程序，又将程序换酒钱<br>酒醒只在屏前坐，酒醉还来屏下眠<br>酒醉酒醒日复日，屏前屏下年复年<br>但愿老死电脑间，不愿鞠躬老板前<br>奔驰宝马贵者趣，公交自行程序员<br>别人笑我太疯癫，我笑自己命太贱<br>但见满街漂亮妹，哪个归得程序员</p><img src ="http://www.blogjava.net/shmily432685/aggbug/112931.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2007-04-23 13:29 <a href="http://www.blogjava.net/shmily432685/archive/2007/04/23/112931.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用js控制功能收集(待续)</title><link>http://www.blogjava.net/shmily432685/archive/2007/03/09/102760.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Fri, 09 Mar 2007 02:55:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2007/03/09/102760.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/102760.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2007/03/09/102760.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/102760.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/102760.html</trackback:ping><description><![CDATA[【弹出的窗口之定时关闭控制】     <br />  下面我们再对弹出窗口进行一些控制，效果就更好了。如果我们再将一小段代码加入弹出的页面（注意是加入到page.html的HTML中，可不是主页面中，否则…），让它在10秒钟后<b style="COLOR: black; BACKGROUND-COLOR: #ff66ff">自动关闭</b>是不是更酷了？     <br />  首先，将如下代码加入page.html文件的&lt;head&gt;区：     <br />  &lt;script   language="javascript"&gt;     <br />  function   closeit()   {     <br />  setTimeout("self.close()",10000)   //毫秒     <br />  }     <br />  &lt;/script&gt;     <br />  然后，再用&lt;body   onload="closeit()"&gt;这一句话代替page.html中原有的&lt;BODY&gt;这一句就可以了。（这一句话千万不要忘记写啊！这一句的作用是调用关闭窗口的代码，10秒钟后就自行关闭该窗口。）     <br /><img src ="http://www.blogjava.net/shmily432685/aggbug/102760.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2007-03-09 10:55 <a href="http://www.blogjava.net/shmily432685/archive/2007/03/09/102760.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails</title><link>http://www.blogjava.net/shmily432685/archive/2007/01/15/93939.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Mon, 15 Jan 2007 05:23:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2007/01/15/93939.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/93939.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2007/01/15/93939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/93939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/93939.html</trackback:ping><description><![CDATA[<div>摘自:<a href="http://www.javaeye.com/topic/43290">http://www.javaeye.com/topic/43290</a><br />一、安装Ruby、rails、mongrel和Apache2.2</div>
		<div> </div>
		<div>从rubyforge网站下载One-Click Ruby Install，运行安装程序，就安装好了ruby和rubygems。</div>
		<div> </div>
		<div>运行命令：</div>
		<div>
				<font 230,="" 230);?="">gem install rails –y</font>
		</div>
		<div>
				<font 230,="" 230);?="">gem install mongrel –y</font>
		</div>
		<div>
				<font 230,="" 230);?="">gem install mongrel_service -y</font>
		</div>
		<div>安装好了rails和mongrel</div>
		<div> </div>
		<div>从Apache网站下载Windows版本的Apache2.2，运行安装程序，就安装好了Apache2.2。</div>
		<div> </div>
		<div>二、把Mongrel作为Services启动</div>
		<div> </div>
		<div>
				<font 230,="" 230);?="">mongrel_rails service::install -N depot -c d:\Rubyproject\depot -p 3000 –e production</font>
		</div>
		<div>-N指明服务名称，-d指明rails应用的目录，-p是mongrel监听的tcp端口，-e是启动模式为生产模式</div>
		<div> </div>
		<div>这样打开控制面版|管理工具|服务，就可以发现增加了一项名为“depot”的服务，就可以通过控制面版来管理服务了。如果需要命令行启动和关闭该服务，那么：</div>
		<div>
				<font 230,="" 230);?="">mongrel_rails service::start -N depot</font>
		</div>
		<div>
				<font 230,="" 230);?="">mongrel_rails service::stop -N depot</font>
		</div>
		<div> </div>
		<div>如果需要从服务中注销该项服务，那么：</div>
		<div>
				<font 230,="" 230);?="">mongrel_rails service::remove -N depot</font>
		</div>
		<div> </div>
		<div>如果需要安装多个mongrel实例，那么可以这样：</div>
		<div>
				<font 230,="" 230);?="">mongrel_rails service::install -N depot0 -c d:\Rubyproject\depot -p 3000 –e production</font>
		</div>
		<div>
				<font 230,="" 230);?="">mongrel_rails service::install -N depot1 -c d:\Rubyproject\depot -p 3001 –e production</font>
		</div>
		<div>诸如此类。</div>
		<div> </div>
		<div>三、配置Apache2.2</div>
		<div> </div>
		<div>用编辑工具打开Apache2.2目录下面的conf/httpd.conf，需要取消如下模块的注释：</div>
		<div>
				<font 230,="" 230);?="">LoadModule proxy_module modules/mod_proxy.so</font>
		</div>
		<div>
				<font 230,="" 230);?="">LoadModule proxy_balancer_module modules/mod_proxy_balancer.so</font>
		</div>
		<div>
				<font 230,="" 230);?="">LoadModule proxy_http_module modules/mod_proxy_http.so</font>
		</div>
		<div>如果你希望对页面输出使用压缩，也需要取消如下模块的注释：</div>
		<div>
				<font 230,="" 230);?="">LoadModule deflate_module modules/mod_deflate.so</font>
		</div>
		<div> </div>
		<div>然后按如下内容配置基于HTTP代理的负载均衡：</div>
		<div>
				<div>
						<font 230,="" 230);?="">
						</font>
				</div>
				<font 230,="" 230);?="">
						<div class="code_title">xml 代码</div>
						<div class="dp-highlighter">
								<div class="bar"> </div>
								<ol class="dp-xml">
										<li class="alt">
												<span>
														<span>ProxyRequests Off   </span>
												</span>
										</li>
										<li class="">
												<span>
												</span>
												<span class="tag">&lt;</span>
												<span class="tag-name">Proxy</span>
												<span> balancer://myCluster</span>
												<span class="tag">&gt;</span>
												<span>  </span>
										</li>
										<li class="alt">
												<span>  BalancerMember http://localhost:3000   </span>
										</li>
										<li class="">
												<span>  BalancerMember http://localhost:3001   </span>
										</li>
										<li class="alt">
												<span>
												</span>
												<span class="tag">
														<span class="tag-name">
														</span>
														<span class="tag">&gt;</span>
														<span>  </span>
												</span>
										</li>
										<li class="">
												<span>  </span>
										</li>
										<li class="alt">
												<span>
												</span>
												<span class="tag">&lt;</span>
												<span class="tag-name">VirtualHost</span>
												<span> *:80</span>
												<span class="tag">&gt;</span>
												<span>  </span>
										</li>
										<li class="">
												<span>  ServerName www.xxx.com   </span>
										</li>
										<li class="alt">
												<span>  DocumentRoot d:/rubyproject/depot/public   </span>
										</li>
										<li class="">
												<span>  ProxyPass /images !   </span>
										</li>
										<li class="alt">
												<span>  ProxyPass /stylesheets !   </span>
										</li>
										<li class="">
												<span>  ProxyPass /javascripts !   </span>
										</li>
										<li class="alt">
												<span>  ProxyPass / balancer://myCluster/   </span>
										</li>
										<li class="">
												<span>  ProxyPassReverse / balancer://myCluster/   </span>
										</li>
										<li class="alt">
												<span>  ProxyPreserveHost on   </span>
										</li>
										<li class="">
												<span>
												</span>
												<span class="tag">
														<span class="tag-name">
														</span>
														<span class="tag">&gt;</span>
														<span>  </span>
												</span>
										</li>
								</ol>
						</div>
				</font>
		</div>
		<div> </div>
		<div>myCluster定义了群集中的每个mongrel应用服务器节点。ProxyPass /images !指明该URL开始的请求不代理给Mongrel群集，而由Apache自己处理。重起Apache，然后打开浏览器访问<a href="http://www.xxx.com/">www.xxx.com</a>，检查配置是否正确。</div>
		<div> </div>
		<div>至此，在Windows Server上面一个具备良好稳定性和性能的Ruby on rails生产环境就搭建好了。</div>
		<div> </div>
		<div>对于页面输出，还可以使用mod_deflate进行输出内容压缩，以提高页面下载速度，这个就留给大家自己配置了。<br /><br /><br /><p>关闭标记被Rich Editor过滤掉了，重新用bbcode贴一下：</p><p></p><div class="code_title">代码</div><div class="code_div"><div class="dp-highlighter"><div class="bar"></div><ol class="dp-xml"><li class="alt"><span><span>ProxyRequests Off       </span></span></li><li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">Proxy</span><span> balancer://myCluster</span><span class="tag">&gt;</span><span>      </span></li><li class="alt"><span>  BalancerMember http://localhost:3000       </span></li><li class=""><span>  BalancerMember http://localhost:3001       </span></li><li class="alt"><span></span><span class="tag">&lt;/</span><span class="tag-name">Proxy</span><span class="tag">&gt;</span><span>      </span></li><li class=""><span>      </span></li><li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">VirtualHost</span><span> *:80</span><span class="tag">&gt;</span><span>      </span></li><li class=""><span>  ServerName www.xxx.com       </span></li><li class="alt"><span>  DocumentRoot d:/rubyproject/depot/public       </span></li><li class=""><span>  ProxyPass /images !       </span></li><li class="alt"><span>  ProxyPass /stylesheets !       </span></li><li class=""><span>  ProxyPass /javascripts !       </span></li><li class="alt"><span>  ProxyPass / balancer://myCluster/       </span></li><li class=""><span>  ProxyPassReverse / balancer://myCluster/       </span></li><li class="alt"><span>  ProxyPreserveHost on       </span></li><li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">VirtualHost</span><span class="tag">&gt;</span><span>    </span></li></ol></div></div><script><![CDATA[ender_code();]]&gt;</script><p></p><p>cluster的作用不是加速单个请求的，是提高整体的负载能力的。</p></div><img src ="http://www.blogjava.net/shmily432685/aggbug/93939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2007-01-15 13:23 <a href="http://www.blogjava.net/shmily432685/archive/2007/01/15/93939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我个人认为做好Project Manager，需要具备的能力</title><link>http://www.blogjava.net/shmily432685/archive/2006/11/24/83327.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Fri, 24 Nov 2006 09:40:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/11/24/83327.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/83327.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/11/24/83327.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/83327.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/83327.html</trackback:ping><description><![CDATA[<br />要有承担责任的勇气！任何事情，到你这一级为止。不要把责任推给这个推给那个，怨天尤人。 
<p>要有敢于拼命的勇气！不会的技术，难解的问题，都需要你用各种办法不择手段的去完成，去偷也好，去抢也好。要准备好若干天熬通宵。累掉十斤八斤是正常的。</p><p>要有灵活处理的能力！对手下要宽严结合，技术上严，生活上宽。对上要把任务量适当夸大，给自己留有余地；对客户要大事化小，小事化无，尽可能少接任务。<br /><br />要有统观全局的能力！掌握手下工作人员的各方面能力，根据项目开发紧张合理分配手下工作任务，确定充分的工作时间，严格检查工作完成情况。<br /><br />要有制定纪律的实力！没有规矩，不成方圆，根据项目开发组的实际情况，合理制定项目组的开发纪律，而不能盲目的根据想象，不结合实际制定不符合实际的纪律，反而会造成团队不合，以及难以实施的情况。</p><img src ="http://www.blogjava.net/shmily432685/aggbug/83327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-11-24 17:40 <a href="http://www.blogjava.net/shmily432685/archive/2006/11/24/83327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ruby on Rails 学习：解决中文乱码问题</title><link>http://www.blogjava.net/shmily432685/archive/2006/09/27/72261.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Wed, 27 Sep 2006 03:55:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/09/27/72261.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/72261.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/09/27/72261.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/72261.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/72261.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Ruby on Rails 学习：解决中文乱码问题<br>       1、页面无法显示中文，产生中文乱码<br>       2、Mysql数据库采用utf8后，页面采用utf8，数据库保存是乱码，但页面显示正常。<br>       3、时间格式在页面上的中文显示产生乱码。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/shmily432685/archive/2006/09/27/72261.html'>阅读全文</a><img src ="http://www.blogjava.net/shmily432685/aggbug/72261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-09-27 11:55 <a href="http://www.blogjava.net/shmily432685/archive/2006/09/27/72261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 常用快捷键收集(中文)</title><link>http://www.blogjava.net/shmily432685/archive/2006/09/11/68981.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Mon, 11 Sep 2006 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/09/11/68981.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/68981.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/09/11/68981.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/68981.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/68981.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/shmily432685/archive/2006/09/11/68981.html'>阅读全文</a><img src ="http://www.blogjava.net/shmily432685/aggbug/68981.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-09-11 16:20 <a href="http://www.blogjava.net/shmily432685/archive/2006/09/11/68981.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse结合perforce进行开发及部分插件</title><link>http://www.blogjava.net/shmily432685/archive/2006/09/11/68971.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Mon, 11 Sep 2006 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/09/11/68971.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/68971.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/09/11/68971.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/68971.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/68971.html</trackback:ping><description><![CDATA[<p>
				<font color="#000000" size="2">1、适应了新的工作，进入了开发工作，但是公司对文件管理采用的是perforce，项目开发也没有通过cvs进行版本控制，项目组开发通常是来回拷贝代码进行开发。<br />暂时不去讨论那种开发方式的好坏，为了适应新的工作，只得在eclipse中安装perforce插件进行开发工作。<br />具体安装步骤：<br />1、打开eclipse后，打开菜单help进入SoftWare Updates---find and installs后，在弹出的对话框中选择：Search for new features to install后点下一步。<br />2、再选择New Remote site ，通过网上进行安装插件。点击之后，在弹出的页面提示框中的URL中输入： <a href="http://www.perforce.com/downloads/http/p4-wsad/install/"><strong><font color="#014982">http://www.perforce.com/downloads/http/p4-wsad/install/</font></strong></a>然后输入你想要起的名字。<br />3、确定后,eclipse会提示安装，一路默认后，安装完成，eclipse会自动重新启动。<br />4、启动成功后，在eclipse视图中会有perforce的视图。<br />这样，perfoce插件在eclipse上就安装成功了。<br />2、在开发过程中，经常会打开很多文件进行编写，但eclipse一般会把打开的文件隐藏起来，只能通过点击查看，很是不方便。不过，editorlist插件正好解决了这个问题，可以把打开的文件展开在视图中列表显示并可以进行排序。<br />       安装步骤：同上安装perforce一样，只不过URL中输入的地址变为：<a href="http://editorlist.sourceforge.net/site">http://editorlist.sourceforge.net/site</a>即可。然后自动下载安装。<br />      完成，eclipse重新启动后，还不会editorlist列表，需要打开windows---show views---other,在弹出的对话框中选择Basic---选择EditorList即可显示。</font>
				<br />3、插件的安装不再重复：velocity插件的URL地址：<a href="http://propsorter.sourceforge.net/veloeclipse"><font face="宋体,sans-serif" size="2">http://propsorter.sourceforge.net/veloeclipse</font></a></p><img src ="http://www.blogjava.net/shmily432685/aggbug/68971.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-09-11 15:30 <a href="http://www.blogjava.net/shmily432685/archive/2006/09/11/68971.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一段在b/s架构中显示右键功能的代码</title><link>http://www.blogjava.net/shmily432685/archive/2006/09/05/67847.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Tue, 05 Sep 2006 09:08:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/09/05/67847.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/67847.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/09/05/67847.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/67847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/67847.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1 &lt;style type="text/css"&gt;  2     3   body           {font-size: 9pt;}  4   table          {font-size: 9pt; cursor: default; margin: 0;}  5   tr             {height: 20;}  6   tr.over        {fon...&nbsp;&nbsp;<a href='http://www.blogjava.net/shmily432685/archive/2006/09/05/67847.html'>阅读全文</a><img src ="http://www.blogjava.net/shmily432685/aggbug/67847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-09-05 17:08 <a href="http://www.blogjava.net/shmily432685/archive/2006/09/05/67847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过程序进行控制图片显示幻灯片效果</title><link>http://www.blogjava.net/shmily432685/archive/2006/09/05/67845.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Tue, 05 Sep 2006 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/09/05/67845.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/67845.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/09/05/67845.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/67845.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/67845.html</trackback:ping><description><![CDATA[<p>首要条件：添加vbscript脚本代码，如下：</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">
				<span style="COLOR: #008080"> 1</span> <span style="COLOR: #000000"> </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">SCRIPT language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">VBScript</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000">Dim FileList,FileListArr,TxtList,TxtListArr,LinkList,LinkArr<br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000">FileList </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">图片1.jpg,图片2.jpg,图片3.jpg</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000">LinkList </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">链接地址1,链接地址2,链接地址3</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000">TxtList </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">水印文字1;水印文字2,水印文字3</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000">FileListArr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Split(FileList,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">LinkArr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Split(LinkList,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000">TxtListArr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Split(TxtList,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">Dim CanPlay<br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">CanPlay </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> CInt(Split(Split(navigator.appVersion,</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">1</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">2</span><span style="COLOR: #000000">))</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">Dim FilterStr<br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000">FilterStr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">RevealTrans(duration=2,transition=23)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">FilterStr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FilterStr </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;BlendTrans(duration=2)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000">If CanPlay Then<br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000">FilterStr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FilterStr </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;progid:DXImageTransform.Microsoft.Fade(duration=2,overlap=0)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000">FilterStr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FilterStr </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;progid:DXImageTransform.Microsoft.Wipe(duration=3,gradientsize=0.25,motion=reverse)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000">Else<br /></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000">Msgbox </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">幻灯片播放具有多种动态图片切换效果，但此功能需要您的浏览器为IE5.5或以上版本，否则您将只能看到部分的切换效果。</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">64</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">19</span> <span style="COLOR: #000000">End If<br /></span><span style="COLOR: #008080">20</span> <span style="COLOR: #000000">Dim FilterArr<br /></span><span style="COLOR: #008080">21</span> <span style="COLOR: #000000">FilterArr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Split(FilterStr,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080">22</span> <span style="COLOR: #000000">Dim PlayImg_M<br /></span><span style="COLOR: #008080">23</span> <span style="COLOR: #000000">PlayImg_M </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">5</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">  <br /></span><span style="COLOR: #008080">24</span> <span style="COLOR: #000000">Dim I<br /></span><span style="COLOR: #008080">25</span> <span style="COLOR: #000000">I </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">26</span> <span style="COLOR: #000000">Sub ChangeImg<br /></span><span style="COLOR: #008080">27</span> <span style="COLOR: #000000">Do While FileListArr(I)</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">28</span> <span style="COLOR: #000000">I </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> I </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">29</span> <span style="COLOR: #000000">If I</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">UBound(FileListArr) Then I </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">30</span> <span style="COLOR: #000000">Loop<br /></span><span style="COLOR: #008080">31</span> <span style="COLOR: #000000">Dim J<br /></span><span style="COLOR: #008080">32</span> <span style="COLOR: #000000">If I</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">UBound(FileListArr) Then I </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">33</span> <span style="COLOR: #000000">Randomize<br /></span><span style="COLOR: #008080">34</span> <span style="COLOR: #000000">J </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Int(Rnd </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> (UBound(FilterArr)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">))<br /></span><span style="COLOR: #008080">35</span> <span style="COLOR: #000000">Img.style.filter </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FilterArr(J)<br /></span><span style="COLOR: #008080">36</span> <span style="COLOR: #000000">Img.filters(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">).Apply<br /></span><span style="COLOR: #008080">37</span> <span style="COLOR: #000000">Img.Src </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FileListArr(I)<br /></span><span style="COLOR: #008080">38</span> <span style="COLOR: #000000">Img.filters(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">).play<br /></span><span style="COLOR: #008080">39</span> <span style="COLOR: #000000">Link.Href </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> LinkArr(I)<br /></span><span style="COLOR: #008080">40</span> <span style="COLOR: #000000">I </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> I </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">41</span> <span style="COLOR: #000000">If I</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">UBound(FileListArr) Then I </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">42</span> <span style="COLOR: #000000">TempImg.Src </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FileListArr(I)<br /></span><span style="COLOR: #008080">43</span> <span style="COLOR: #000000">TempLink.Href </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> LinkArr(I)<br /></span><span style="COLOR: #008080">44</span> <span style="COLOR: #000000">SetTimeout </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChangeImg</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, PlayImg_M,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">VBScript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">45</span> <span style="COLOR: #000000">End Sub<br /></span><span style="COLOR: #008080">46</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">SCRIPT</span><span style="COLOR: #000000">&gt;</span></div>
		<br />其次需要在页面中进行如下代码：<br /><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"><span style="COLOR: #008080"> 1</span> <span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TABLE height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">100%</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> cellSpacing</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> cellPadding</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> width</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">100%</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000">            border</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000">              </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TBODY</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000">              </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TR id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">NoScript</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000">                </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TD style</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">COLOR: white</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000">                  align</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">middle</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">对不起，图片浏览功能需脚本支持，但您的浏览器已经设置了禁止脚本运行。请您在浏览器设置中调整有关安全选项。</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">TD</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TR</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000">              </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TR id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">CanRunScript style</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">DISPLAY: none</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000">                </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TD vAlign</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">center align</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">middle height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">100%</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;&lt;</span><span style="COLOR: #000000">A id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Link <br /></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000">                  target</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">_blank"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">?&gt;&lt;</span><span style="COLOR: #000000">IMG id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">Img height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">219</span><span style="COLOR: #000000"> width</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">429</span><span style="COLOR: #000000"> <br /></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000">                  border</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TD</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TR</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000">              </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TR style</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">DISPLAY: none</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000">                </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">TD</span><span style="COLOR: #000000">&gt;&lt;</span><span style="COLOR: #000000">A id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">TempLink target</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">_blank"</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">?&gt;&lt;</span><span style="COLOR: #000000">IMG id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">TempImg <br /></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000">                  border</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">A</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TD</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TR</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TBODY</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TABLE</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000">            </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">SCRIPT language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">VBScript</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000">NoScript.Style.Display </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">none</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000">CanRunScript.Style.Display </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">""</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000">Img.Src </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FileListArr(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000">Link.Href </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> LinkArr(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br /></span><span style="COLOR: #008080">19</span> <span style="COLOR: #000000">SetTimeout </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ChangeImg</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, PlayImg_M,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">VBScript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">20</span> <span style="COLOR: #000000"></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">SCRIPT</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #008080">21</span> <span style="COLOR: #000000">            </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">P</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TD</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TR</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TBODY</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">TABLE</span><span style="COLOR: #000000">&gt;</span></div>显示出来的效果图，会如flash制作一样的效果图，有各种各样的幻灯片效果<img src ="http://www.blogjava.net/shmily432685/aggbug/67845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-09-05 17:02 <a href="http://www.blogjava.net/shmily432685/archive/2006/09/05/67845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深思:企业坚决不用的十三种人</title><link>http://www.blogjava.net/shmily432685/archive/2006/08/02/61316.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Wed, 02 Aug 2006 03:29:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/08/02/61316.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/61316.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/08/02/61316.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/61316.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/61316.html</trackback:ping><description><![CDATA[<strong>
				<font color="#000099">出处：hc360慧聪网<br /><font color="#000000"><br />坚决不用的第一种人——没有创意的鹦鹉</font><p>　　鹦鹉华丽而聪明。但这种华丽只是温室里的华丽，聪明只是哗众取宠的聪明，鹦鹉鲜艳的羽毛只是为了博人欢心，，他最大的能耐就是重复别人的口舌。像鹦鹉一样的人，只会模仿和抄袭；他们……</p><p>　　<strong>坚决不用的第二种人——无法与人合作的荒野之狼</strong></p><p>　　荒野之狼凭借自己的敏捷凶猛常常单独行动，它们无视同类的意见而离群索居，尤其是在捕猎和分享食物时更是如此。行为象“荒野之狼”的人，没有丝毫的团队精神，他们……</p><p>　　<strong>坚决不用的第三种人——缺乏适应力的恐龙</strong></p><p>　　恐龙庞大而凶猛，曾经统治着整个地球，但恐龙却有一个致命的弱点——缺乏适应力。面对新的环境，恐龙不知所措、无法适应，最终只能走向灭绝。职场中的“恐龙人”，一有变化就惊慌失措，他们无法适应……</p><p><strong>　　坚决不用的第四种人——浪费金钱的人</strong></p><p>　　涓涓细流，固然能汇成大江，哗哗流水，同样能流走你海一样的财富。像流水一样花公司钱的员工，成本意识极差，他们总是……</p><p>　<strong>　坚决不用的第五种人——不愿沟通的贝类</strong></p><p>　　贝类总是紧闭着嘴巴、沉默不语，他们冷漠、孤独、自我封闭，“贝类人”相信沉默是金，他们紧闭双唇、不愿沟通，狭隘而平庸……</p><p>　　<strong>坚决不用的第六种人——不注重资讯汇集的白纸</strong></p><p>　　白纸白白净净，很是可爱，但它却不能给你提供任何信息、给你任何帮助。像白纸一样的人脑子里一片空白，他们对外界信息无动于衷，他们……</p><p>　　<strong>坚决不用的第七种人——没有礼貌的海盗</strong></p><p>　　规则对于海盗来说就如一纸空文，霸道、野蛮、粗鲁和散漫是他们的专利；不守时，不尊重他人，说话带刺是她们的家常便饭，他们常凭自己心情的好恶任意而为，根本不在乎他人的喜怒及尊严。<br /><br />坚决不用的第八种人——只会嫉妒的孤猿</p><p>　　孤猿两眼腥红，生活在内心狭小的天地里，既孤僻寂寞，又嫉妒成性。“孤猿人”与“狼人”的相比，不仅缺少“自如”，而且缺少“自信”，他们总是害怕别人优于自己。因此，他们……</p><p>　<strong>　坚决不用的第九种人——没有知识的小孩</strong></p><p>　　职场“小孩”满足于现状，对待生活、工作不思进取。处处需要他人的照顾，很少阅读书籍及参加各种活动，懒散地龟缩在自己狭小的天地里。</p><p>　<strong>　坚决不用的第十种人——不重视健康的幽灵</strong></p><p>　　幽灵阴森恐怖，来去匆匆，它的出现绝不是好事，因为厄运是它的“私生子”。职场中的“幽灵人”，一天到晚只知道工作，忙忙碌碌。他们阴沉沉的脸上……</p><p>　<strong>　坚决不用的第十一种人——过于慎重消极的岩石</strong></p><p>　　岩石沉重而冷漠，孤傲且悲观。像岩石一样的人，必定是些悲观消极的人，他们在工作中缺乏热情，总是消极和被动，很难抓住机会，同时，他们……</p><p>　　<strong>坚决不用的第十二种人——摇摆不定的墙头草</strong></p><p>　　墙头草生长在墙上，左顾右盼，摇摆不定，像墙头草一样的人从来没有自己的主见，永远只会附和别人，尤其当企业内出现纷争、产生歧义时，哪些势力大他们就倒向哪一边，并煽风点火，一旦这方失势，他们又会马上倒向另一边。</p><p>　　<strong>坚决不用的第十三种人——自我设限的家畜</strong></p><p>　　循规蹈矩的家畜，亦步亦趋，不赶越雷池一步，因为它们为自己的一生预定了太多的“不可能”，自我设限的人就像这些家畜一样，他们画地为牢，不肯追求成长，不肯……</p><p>　　拒绝这十三种人，企业就会成长，拒绝成为这十三种人，人生就会有希望。<br /><br />在企业管理中,我们能看到企业坚决不用的十三种人,相对作为企业的一名员工,我们从中应该受到什么启发呢.</p></font>
		</strong><img src ="http://www.blogjava.net/shmily432685/aggbug/61316.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-08-02 11:29 <a href="http://www.blogjava.net/shmily432685/archive/2006/08/02/61316.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>项目需要,转载一篇net学习资源列表.</title><link>http://www.blogjava.net/shmily432685/archive/2006/05/19/47086.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Fri, 19 May 2006 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/05/19/47086.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/47086.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/05/19/47086.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/47086.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/47086.html</trackback:ping><description><![CDATA[<div class="postText">
				<strong>net 学习资源列表（转）</strong>
				<div style="PADDING-RIGHT: 0px; MARGIN-TOP: 10px; FONT-SIZE: 9pt; OVERFLOW-X: hidden; WIDTH: 97%; WORD-BREAK: break-all; TEXT-INDENT: 24px; LINE-HEIGHT: normal; HEIGHT: 200px; WORD-WRAP: break-word" onload="this.style.overflowX='auto';">名称：快速入门<br />地址：http://chs.gotdotnet.com/quickstart/<br />描述：本站点是微软.NET技术的快速入门网站，我们不必再安装.NET Framework中的快速入门示例程序，直接在网上查看此示例即看。<br /><br />名称：微软官方.NET指导站点<br />地址：http://www.gotdotnet.com/<br />描述：上面的站点是本站的一个子站点，本站点提供微软.NET官方信息，并且有大量的用户源代码、控件下载，微软.NET开发组的人员也经常在此站点发表一些指导性文章。<br /><br />名称：SourceForge<br />地址：http://www.sourceforge.net<br />描述：世界上最大的Open Source项目在线网站，上面已经有.NET的各种大型Open Source项目上千件，包括SharpDevelop、NDoc、Mono等都是在此站点发布最新源代码信息。<br /><br />名称：CodeProject<br />地址：http://www.codeproject.com<br />描述：很多非官方的中小型示例源代及文章，相当全面，基本上我们想要的各种方面的资料都可以在此处查找。<br /><br />名称：Fabrice's weblog <br />地址：http://dotnetweblogs.com/FMARGUERIE/Story/4139.aspx<br />描述：这是一个WebLog形式的在线日志网站，定期更新，包括.NET相关的工具、混淆器、反编译器等各种信息，十分值得收藏。<br /><br />名称：<br />地址：http://www.aspalliance.com/aldotnet/examples/translate.aspx <br />描述：c#翻译为vb.net，提供一个文本框，将你的C#源代码贴进去，就可以帮你翻译成VB.NET语法。<br /><br />名称：CSharpHelp<br />地址：http://www.csharphelp.com<br />描述： 专业的C#语言在线帮助网站，主要提供C#语言方面的技术文章。专业性很强。<br /><br />名称：DotNet247<br />地址：http://www.dotnet247.com<br />描述：最好的索引网站，分别按照门类及命名空间的索引，也提供了Microsoft KB知识库。 <br /><br />名称：ASP.NET<br />地址：http://www.asp.net<br />描述：微软.NET webform的老巢，资料和实例代码都非常难得。<br /><br />名称：微软.NET Winform<br />地址：http://www.windowsforms.net/<br />描述：微软.NET Winform的老巢。<br /><br />名称：微软 KnowledgeBase <br />地址：http://support.microsoft.com/<br />描述：微软知识库，开发的时候遇到的怪问题，可能会在这里找到答案。<br /><br />名称：MSDN <br />地址：http://msdn.microsoft.com/<br />描述：这个就不用多说了吧，虽然出了中文MSDN，但是资料还是不够全，英文的就什么都有了。<br /><br />名称：HotScripts <br />地址：http://www.hotscripts.com/<br />描述：Welcome to HotScripts.com, the net’s largest PHP, CGI, Perl, javascript and ASP script collection and resource web portal. We currently have 24,004 scripts across 11 different programming languages and 1,240 categories, as well as links to books, articles, as well as programming tips and tutorials. <br /><br />名称：ASPAlliance <br />地址：http://www.aspalliance.com/<br />描述：提供相当丰富的文章和示例代码，思路匮乏的时候可以找找思路<br /><br />名称：CSDN文档中心 <br />地址：http://dev.csdn.net/<br />描述：中文的，资料还算丰富，可以作为国内首选。<br /><br />名称：DOTNET中华网 <br />地址：http://www.aspxcn.com/<br />描述：2002-2003年的时候这个站点很不错的，不过现在好像管理不得力，有点疲软，资料更新也不过及时，论坛里人也不够热心了，因为希望它好起来，所以列出来。资料都比较老，不过有些D版的东西还可以。提供很多学习代码。<br /><br />名称：中国DotNet俱乐部 <br />地址：http://www.chinaspx.com/<br />描述：有点公司背景的网站，很健壮，资料更新及时，比较丰富。论坛解答也不错。<br /><br />名称：【孟宪会之精彩世界】 <br />地址：http://dotnet.aspx.cc/<br />描述：MS-MVP的个人站点，包括了他所有的经验文章，还是很值得一看的。<br /><br />名称：dotNET Tools.org <br />地址：http://www.dotnettools.org<br />描述：ccboy，也就是CSDN的小气的神的站点，里面有很多关于.NET等的好东东。<br /><br />名称：博客堂 <br />地址：http://blog.joycode.com/<br />描述：半官方性质的MS-MVP汇集blog，大家可以在这里接触到最新的技术，了解发展趋势，对技术的探索等等，优秀的文章。<br /><br />名称：DotNetBips.com - Applying .NET <br />地址：http://www.dotnetbips.com/<br />描述：该站点的文章，涉及到了整个.NET，从底层的IL到语言到架构，文章很多，质量还不错。<br /><br />名称：C# Frequently Asked Questions<br />地址：http://blogs.msdn.com/csharpfaq/<br />描述：The C# team posts answers to common questions<br /><br />名称：正则表达式<br />地址：http://www.regexplib.com/<br />描述: 正则表达式学习站点 <br /><br />名称：WINDOW formS FAQ <br />地址：http://www.syncfusion.com/FAQ/Winforms/<br />描述：常见的forms faq问题，很多问题都可以在这里找到答案。 <br /><br />名称：ASP.NET 常用类库说明<br />地址：http://www.123aspx.com/rotor/default.aspx<br />描述：不用多说，看标题就知道是关于asp.net的名称空间的<br /><br />名称：ASP.NET System.Web.Mail <br />地址：http://www.systemwebmail.com/faq/3.8.aspx<br />描述：邮件发送常见问题解决方法<br /><br />名称：VB.NET &amp; C# 比较<br />地址：http://www.harding.edu/USER/fmccown/WWW/vbnet_csharp_comparison.html<br />描述：VB.NET跟C#语法区别<br /><br />名称：VB.NET架构师　BLOG<br />地址：http://panopticoncentral.net/<br />描述：不用多说，想了解VB.NET的朋友不可不去的站点(PS，不知道我有没有记错是不是这个地址）<br /><br />名称：索克论坛<br />地址：http://www.sorke.com/bbs/Boards.asp<br />描述：我想应该是国内最好的第三方.NET控件的下载基地<br /></div>
				<br />
				<br />
				<p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=745302</p>
		</div><img src ="http://www.blogjava.net/shmily432685/aggbug/47086.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-05-19 17:15 <a href="http://www.blogjava.net/shmily432685/archive/2006/05/19/47086.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>shtml学习,Tomcat配置SSI，及语法指令小记</title><link>http://www.blogjava.net/shmily432685/archive/2006/04/30/44205.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Sun, 30 Apr 2006 07:29:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/04/30/44205.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/44205.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/04/30/44205.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/44205.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/44205.html</trackback:ping><description><![CDATA[<p>一、介绍：<br />  SSI是Server Side Includes的缩写，是嵌入到HTML页面的一组指令的集合。在返回请求的页面(包含SSI指令)前，服务器会处理这些指令，并用处理的结果替换指令，然  后把页面返回。这样就允许在HTML页面中添加动态产生的内容。<br />  SSI是向页面中添加小的信息片段的很好的方法。如果页面的大部分都是产生的则需要选择其它的解决方案。<br />二、主要用途<br />  目前，主要有以下几种用用途： <br />　　1、显示服务器端环境变量&lt;#echo&gt;<br />　　2、将文本内容直接插入到文档中&lt;#include&gt;<br />　　3、显示WEB文档相关信息&lt;#flastmod #fsize&gt; (如文件制作日期/大小等)<br />　　4、直接执行服务器上的各种程序&lt;#exec&gt;(如CGI或其他可执行程序)<br />　　5、设置SSI信息显示格式&lt;#config&gt;(如文件制作日期/大小显示方式) 高级SSI&lt;XSSI&gt;可设置变量使用if条件语句。<br />三、设置Tomcat<br />     Tomcat对SSI提供了支持，但在默认的情况下这种支持是关闭的。如果你用Tomcat做为HTTP服务器并且需要SSI，那么需要自己来设置。</p>
		<p>四、设置方法如下： </p>
		<p>        在$CATALINA_BASE/server/lib/目录下找到servlets-ssi.renametojar文件 <br />        将这个文件重命名为servlets-ssi.jar <br />        在$CATALINA_BASE/conf/目录下找到web.xml文件 <br />        使用SSI Servlet就删除在SSI servlet和servlet-mapping周围的注释 <br />        使用SSI filter就删除在SSI filter和filter-mapping周围的注释 </p>
		<p>五、基本指令<br />       1、SSI指令的语法格式如下：<br />           &lt;!--#element [attribute=value] [attribute=value] ... --&gt;<br />              这些指令以HTML注释的形式出现，所以如果你没有正确设置SSI，浏览器会忽略这些指令。如果你正确设置了SSI，这些指令会被相应的结果替换。<br />       2、config<br />           &lt;!--#config timefmt="%B %Y" --&gt;<br />           config用来指定返回给客户端浏览器的错误信息、日期和文件大小的格式。<br />        常用指令：<br />           &lt;!--#config errmsg="自定义错误信息"--&gt; <br />           &lt;!--#config sizefmt="显示单位"--&gt; <br />           &lt;!--#config timefmt="显示格式"--&gt; <br />        参数： <br />            errmsg 自定义SSI执行错误信息，可以为任何你喜欢的方式。 <br />            sizefmt 文件大小显示方式，默认为字节方式("bytes")可以改为千字节方式("abbrev") <br />            timefmt 时间显示方式，最灵活的配置属性。 <br />        Eg:<br />            &lt;!--#config errmsg="服务器执行错误，请联系管理员 <a href="mailto:yiho@126.com">yiho@126.com</a>，谢谢！"--&gt; <br />            &lt;!--#fsize file="不存在的文件.htm"--&gt; </p>
		<p>            以千字节方式显示文件大小 <br />            &lt;!--#config sizefmt="abbrev"--&gt; <br />            &lt;!--#fsizefile="news.htm"--&gt; <br />           以特定的时间格式显示时间 <br />   &lt;!--#config timefmt="%Y年/%m月%d日 星期%W 北京时间%H:%M:%s，%Y年已过去了%j天 今天是%Y年的第%U个星期"--&gt; <br />   &lt;!--#echo var="DATE_LOCAL"--&gt; 显示今天是星期几,几月,时区 <br />   &lt;!--#config timefmt="今天%A, %B ,服务器时区是 %z，是"--&gt; <br />   &lt;!--#echo var="DATE_LOCAL"--&gt;    <br /> 3、echo<br />   echo用来输出变量的值。 <br />    &lt;!--#echo var="VARIABLE_NAME" --&gt;<br />    &lt;!--#echo var="变量名称"--&gt; <br />   本文档名称：程序代码: <br />    &lt;!--#echo var="DOCUMENT_NAME"--&gt; <br />   现在时间：程序代码: <br />    &lt;!--#echo var="DATE_LOCAL"--&gt; <br />   你的IP地址是程序代码: <br />    &lt;!--#echo var="REMOTE_ADDR"--&gt; <br /> 4、exec<br />  &lt;!--#exec cmd="COMMOND" --&gt;<br />  exec用来执行命令。 将某一外部程序的输出插入到页面中。可插入CGI程序或者是常规应用程序的输入，这取决于使用的参数是cmd还是cgi。 <br />   &lt;!--#exec cmd="文件名称"--&gt; <br />   &lt;!--#exec cgi="文件名称"--&gt; <br />   &lt;!--#exec cmd="文件名称"--&gt; <br />   &lt;!--#exec cgi="文件名称"--&gt; <br />  参数： <br />   cmd 常规应用程序 <br />   cgi CGI脚本程序 <br />  Eg： <br />   &lt;!--#exec cmd="cat /etc/passwd"--&gt;将会显示密码文件 <br />   &lt;!--#exec cmd="dir /b"--&gt;将会显示当前目录下文件列表 <br />   &lt;!--#exec cgi="/cgi-bin/gb.cgi"--&gt;将会执行CGI程序gb.cgi。 <br />   &lt;!--#exec cgi="/cgi-bin/access_log.cgi"--&gt;将会执行CGI程序access_log.cgi。 <br />  注意： <br />   从上面的示例可以看出，这个指令相当方便，但是也存在安全问题。 <br />  禁止方法： <br />   ．Apache，将access.conf中的"Options Includes ExecCGI"这行代码删除； <br />   ．在IIS中，要禁用 #exec 命令，可修改 SSIExecDisable 元数据库；  <br /> 5、flastmod<br />  &lt;!--#flastmod file="FILE_NAME" --&gt;<br />  flastmod返回FILE_NAME所代表的文件的最后修改时间。 <br />  Eg:<br />   &lt;!--#flastmod file="news.htm"--&gt; <br />    将当前目录下news.htm文件的最近更新日期插插入到当前页面 <br /> 6、fsize<br />  &lt;!--#fsize file="FILE_NAME" --&gt;<br />  fsize返回FILE_NAME所代表的文件的大小。 <br />  &lt;!--#flastmod file="文件名称"--&gt; <br />  &lt;!--#fsize file="文件名称"--&gt; <br />  参数： <br />   file 指定包含文件相对于本文档的位置 如 info.txt 表示当前目录下的的info.txt文档 <br />   virtual 指定相对于服务器文档根目录的位置 如 /hoyi/info.txt 表示 <br />  注意： <br />   文件名称必须带有扩展名。 <br />  Eg: <br />   &lt;!--#fsize file="news.htm"--&gt; <br />    将当前目录下news.htm的文件大小入到当前页面 <br /> 7、include<br />  &lt;!--#include file="文件名称"--&gt; <br />  &lt;!--#include virtual="文件名称"--&gt; <br />  include插入FILE_NAME所代表的文件的内容。 <br />  file 文件名是一个相对路径，该路径相对于使用 #include 指令的文档所在的目录。被包含文件可以在同一级目录或其子目录中，但不能在上一级目录中。如表示当前目  录下的的nav_head.htm文档，则为file="nav_head.htm"。 <br />  virtual 文件名是 Web 站点上的虚拟目录的完整路径。如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件；则为file="/hoyi/nav_head.htm" <br />  参数： <br />   file 指定包含文件相对于本文档的位置 <br />   virtual 指定相对于服务器文档根目录的位置 <br />  注意： <br />   1、文件名称必须带有扩展名。 <br />   2、被包含的文件可以具有任何文件扩展名，我觉得直接使用htm扩展名最方便<br /> 8、printenv<br />  &lt;!--#printenv --&gt;<br />   printenv返回所有定义的变量的列表。 <br /> 9、set<br />  &lt;!--#set var="VARIABLE_NAME" value="VARIABLE_VALUE" --&gt;<br />  set用来自定义变量。在SSI中有许多标准的变量(如DATE_LOCAL)，其中也包括对于CGI程序有效的环境变量。 <br /> 10、if elif endif else<br />  if elif endif else用来条件选择。 <br />  #if <br />  作用： 创建可以改变数据的页面，这些数据根据使用if语句时计算的要求予以显示。 <br />    语法： 程序代码: <br />   &lt;!--#if expr="$变量名="变量值A""--&gt; <br />   显示内容 <br />    &lt;!--#elif expr="$变量名="变量值B""--&gt; <br />   显示内容 <br />    &lt;!--#else--&gt; <br />   显示内容 <br />    &lt;!--#endif"--&gt;<br />   Eg:<br />    &lt;!--#if expr="$SERVER_NAME="hoyi.zb169.net""--&gt; <br />     中华E搜网<a href="http://www.eshoo.com.cn">http://www.eshoo.com.cn</a><br />    &lt;!--#elif expr="$SERVER_NAME="linux.cqi.com.cn"" --&gt; <br />     中华E搜网<a href="http://www.eshoo.com.cn/bbs">http://www.eshoo.com.cn/bbs</a><br />    &lt;!--#else--&gt; <br />     中华E搜网<a href="http://www.eshoo.com.cn">http://www.eshoo.com.cn</a><br />    &lt;!--#endif"--&gt; <br />注意： 用于前面指令中的反斜杠，是用来代换内部的引号，以便它们不会被解释为结束表达式。不可省略。 <br />  <br />六、普通用法<br /> 1、下面是一些比较常规的SSI的用法：<br />  最后修改时间<br />   有两种方法：<br />   This file last modified &lt;!--#flastmod file="ssi.shtml" --&gt;<br />   This file last modified &lt;!--#echo var="LAST_MODIFIED" --&gt;<br />  包含一个footer<br />   &lt;!--#include virtual="/footer.html" --&gt;<br />  设置errmsg<br />   &lt;!--#config errmsg="[error message!]" --&gt;<br />  设置sizefmt<br />   &lt;!--#config sizefmt="bytes|abbrev" --&gt;<br />  执行命令<br />  &lt;!--#exec cmd="dir" --&gt;<br /> 2、高级SSI<br />  XSSI（Extended SSI）是一组高级SSI指令，内置于Apache 1.2或更高版本的mod-include模块之中。 <br />   其中可利用的的指令有： <br />   &lt;!--#printenv--&gt; <br />   &lt;!--#printenv--&gt; <br />   &lt;!--#printenv--&gt; <br />   &lt;!--#printenv--&gt; <br />  作用： 显示当前存在于WEB服务器环境中的所有环境变量。 <br />  （1）#set <br />   作用：可给变量赋值，以用于后面的if语句。 <br />   语法：程序代码: <br />     &lt;!--#set var="变量名"value="变量值"--&gt; <br />   参数：无 <br />   示例： 程序代码: <br />    &lt;!--#set var="color"value="红色"--&gt; <br />    SSI允许自定义变量，这些变量可以用来进行比较和条件判断。<br />   定义变量<br />    &lt;!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --&gt;<br />   条件表达式<br />    &lt;!--#if expr="test_condition" --&gt;<br />    &lt;!--#elif expr="test_condition" --&gt;<br />     &lt;!--#else --&gt;<br />    &lt;!--#endif --&gt;<br /></p><img src ="http://www.blogjava.net/shmily432685/aggbug/44205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-04-30 15:29 <a href="http://www.blogjava.net/shmily432685/archive/2006/04/30/44205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>人生如风筝</title><link>http://www.blogjava.net/shmily432685/archive/2006/04/27/43473.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Thu, 27 Apr 2006 01:28:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2006/04/27/43473.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/43473.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2006/04/27/43473.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/43473.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/43473.html</trackback:ping><description><![CDATA[<p>时值春暖花开之季，正是放风筝的大好时节，当看着满天的风筝起起落落，让我不禁感悟到，人生亦如风筝。起起落落，其实每个人手中都一个风筝。<br />有的人站在那里，轻松的把风筝放到天空，让风筝自由的翱翔于天空。<br />有的人不断的尝试，不断的努力，风筝依然在头顶上盘旋，始终不能翱翔于天空之中。<br />有的人放弃了，认为不是放风筝的料。有的人不断的努力着、尝试着、不断的摸索着，最终会找到放飞风筝的要领，虽然要经历很多次失败、再重新<br />来过。</p>
		<p>然而人生又何尝不是呢？每个人的一生中，都有一个起点，每个人都渴望放风筝于蓝天之中，梦想着成功。<br />有的人成功了，但是经历了无数次的失败，最终站在成功的行列中。<br />有的人正在尝试着，正在不断的努力着，让自己接近成功。<br />也有的人经历了失败，不再去尝试，自暴自弃。<br />也有的人成功了，但风筝飞翔在蓝天那瞬间，经历了一场大风，风筝又重新回到了起点。有的人会放弃，但有的人会选择重新再来。<br />我始终相信一句话，没有失败，只有暂时的不成功。<br />我属于正在尝试中的一员，正在不断的努力，让自己更靠近成功。不管经历再多的失败，经历再多的尝试,经历再多摸索，决不放弃。</p><img src ="http://www.blogjava.net/shmily432685/aggbug/43473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2006-04-27 09:28 <a href="http://www.blogjava.net/shmily432685/archive/2006/04/27/43473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员,新的一年,何去何从</title><link>http://www.blogjava.net/shmily432685/archive/2005/12/26/25439.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Mon, 26 Dec 2005 06:36:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2005/12/26/25439.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/25439.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2005/12/26/25439.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/25439.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/25439.html</trackback:ping><description><![CDATA[又是一年过去了，新的一年又将来临。<BR>刚步入软件行业的、步入软件行业不久的、已经抹爬滚打好几年的。新的一年即将来临，我们都应该深思一下：<BR>程序员的出路在何方，<BR>是盲目的写程序，坚持到底？<BR>是提高个人能力，使自己成长为系统分析师？<BR>是加强管理经验，使自己成为一个合格的职业经理人？<BR>是提高业务能力，加强管理能力，为自己创业打下坚实的基础？<BR>还是其他？<BR>软件技术不断的更新，程序的开发也将越来越简单。纯粹的敲代码的时代已经不复存在。步入软件行业，只有向前，不断的学习，不断的提高，没有一丝松懈，但我们仍然有学不完的知识。日子一天一天的过去。我们也一天天的老去。在新的一年，我们确实要考虑新的一年，我们将要做什么。学习固然重要，但发展是我们必须要面对的问题。如何发展是我们要解决的问题。<BR>古人曾云：先天下之忧而忧，后天下之乐而乐。提前做准备，迎接新的挑战。<BR>点:<A href="/shmily432685/archive/2005/12/26/25439.html">查看详情</A><img src ="http://www.blogjava.net/shmily432685/aggbug/25439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2005-12-26 14:36 <a href="http://www.blogjava.net/shmily432685/archive/2005/12/26/25439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不让自己再白活24年</title><link>http://www.blogjava.net/shmily432685/archive/2005/12/13/23588.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Tue, 13 Dec 2005 01:42:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2005/12/13/23588.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/23588.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2005/12/13/23588.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/23588.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/23588.html</trackback:ping><description><![CDATA[<P>从清晨到夜晚到清晨，需要24时。一天重复一天。<BR>从出生到懂事到现在，过了24年。一年重复一年。<BR>从不知到知之到熟知，用了24年。一点重复一点。<BR>回顾往夕，我还是我，只是岁月在脸上刻上了一到沧桑。<BR>当年的壮志已不复存在，外面的世界，让我目不暇接。<BR>不断的重复“我还年轻”让自己找寻一点安慰。<BR>但岁月无情，时光如梭。<BR>曾经的少年豪情，曾经的壮志胸怀，已渐渐磨灭。<BR>未完：待续<BR>我要吼：从现在开始，<BR>不让自己再白活24年。</P><img src ="http://www.blogjava.net/shmily432685/aggbug/23588.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2005-12-13 09:42 <a href="http://www.blogjava.net/shmily432685/archive/2005/12/13/23588.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>myeclipse中weblogic服务简介</title><link>http://www.blogjava.net/shmily432685/archive/2005/11/26/21511.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Sat, 26 Nov 2005 08:11:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2005/11/26/21511.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/21511.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2005/11/26/21511.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/21511.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/21511.html</trackback:ping><description><![CDATA[<H2 class=diaryTitle>myeclipse配置weblogic&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </H2>
<P>
<P>
<P>weblogic安装参见</P>
<P><A href="http://zhangstar.blogbus.com/logs/2004/09/413796.html">http://zhangstar.blogbus.com/logs/2004/09/413796.html</A></P>
<P>
<P>MyEclipse默认的应用服务器为JBoss3，这里我们使用WebLogic8.1。启动Eclipse，选择“窗口\首选项”菜单，打开首选项对话框。展开MyEclipse下的Application Servers结点，点击JBoss 3，选中右面的Disable单选按钮，停用JBoss 3。然后点击WebLogic 8，选中右边的Enable单选按钮，启用WebLogic服务器。同时下面的配置如下： <BR>(1)BEA home directory：C:\BEA。假定WebLogic安装在D:\BEA文件夹中。 <BR>(2)WebLogic installation directory：C:\BEA\weblogic81。 <BR>(3)Admin username：用户名。 <BR>(4)Admin password：密码。 <BR>(5)Execution domain root：安装后，启动服务的路径。 <BR>(6)Execution domain name：mydomain。 <BR>(7)Execution server name：myserver。 <BR>(8)Hostname:PortNumber：localhost:7001。 <BR>(9)Security policy file：D:\BEA\weblogic81\server\lib\weblogic.policy。 <BR>(10)JAAS login configuration file：省略。 <BR>以上配置根据安装情况不同而不同。<BR>如图：<BR><IMG height=529 alt=myeclipse_weblogic.JPG src="http://www.blogjava.net/images/blogjava_net/shmily432685/subject/myeclipse_weblogic.JPG" width=759 border=0><BR>接着展开WebLogic 8结点，点击JDK，在右边的WLS JDK name处选择WebLogic 8的默认JDK。这里组合框中缺省为j2re1.4.2_03，即之前单独安装的jre。单击Add按钮，弹出WebLogic &gt; Add JVM对话框，在JRE名称处随便输入一个名字，如jre1.4.1_02。然后在JRE主目录处选择WebLogic安装文件夹中的JDK文件夹，如D:\BEA\jdk141_02，程序会自动填充Javadoc URL文本框和JRE系统库列表框。单击确定按钮关闭对话框。这时候就可以在WLS JDK name组合框中选择jre1.4.1_02了。之后还要在下面的Optional Java VM arguments，如-ms64m -mx64m -Djava.library.path="D:/BEA/weblogic81/server/bin" -Dweblogic.management.discover=false -Dweblogic.ProductionModeEnabled=false <BR>最后点击Paths，在右边的Prepend to classpath列表框中，通过Add JAR/ZIP按钮，加入D:\BEA\weblogic81\server\lib\weblogic.jar、D:\BEA\weblogic81\server\lib\webservices.jar。如果用到数据库，还需把数据库的驱动类库加进来，这里我们用WebLogic自带的SQL Server数据库驱动库D:\BEA\weblogic81\server\lib\mssqlserver4v65.jar。 <BR>至此，MyEclipse中WebLogic8的配置工作就算完成了。下面可以看看在Eclipse中能否启动WebLogic了？自从安装了MyEclipse之后，Eclipse工具栏中就会有一个Run/Stop Servers下拉按钮。点击该按钮的下拉部分，选择“WebLogic 8\Start”菜单，即开始启动WebLogic了。通过查看下面的控制台消息，就可以知道启动是否成功，或有什么异常发生。停止WebLogic可选择“WebLogic\Stop”菜单</P><img src ="http://www.blogjava.net/shmily432685/aggbug/21511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2005-11-26 16:11 <a href="http://www.blogjava.net/shmily432685/archive/2005/11/26/21511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>组队开发小型项目经验</title><link>http://www.blogjava.net/shmily432685/archive/2005/11/25/21384.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Fri, 25 Nov 2005 01:54:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2005/11/25/21384.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/21384.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2005/11/25/21384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/21384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/21384.html</trackback:ping><description><![CDATA[1、开发之前要有明确的开发约定，针对各开发人员，列出有可能存在的问题，并与开发人员协调。（启动项目）<BR>2、对需求进行分析，系统分析员及个主要开发小组成员参与需求分析，并出<STRONG>策划方案</STRONG>。（需求分析）<BR>3、总体设计、设计数据库、拟订项目进度表，与开发小组共同讨论。并出<STRONG>数据库设计、项目进度表</STRONG>（总体设计）<BR>4、对各个功能模块进行<STRONG>详细设计</STRONG>，与负责开发人员开会交流，直到确认无误。（详细设计）<BR>5、开发人员根据详细设计进行程序编码，严格遵守开发约定，保证程序编码质量。注意事项：注释等。（程序编码）<BR>6、开发小组每三天对项目完成情况进行分析、交流，确保开发过程中的质量、进度。（程序编码）<BR>7、在开发过程中，各开发人员要严格对程序进行自测，在项目测试阶段，开发小组成员需要进行交叉测试，整体测试等，并出<STRONG>测试报告</STRONG>，在此过程中需要编写该项目的<STRONG>使用说明</STRONG>（项目测试）<BR>8、项目测试完成后，发布项目，客服部门需要进行无使用说明测试以及依照使用说明测试。并出测试报告。程序编码人员必须对所负责功能模块进行维护。（项目试运行）<BR>9、（项目验收）<BR>欢迎讨论，指导开发过程完善。thanks!<img src ="http://www.blogjava.net/shmily432685/aggbug/21384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2005-11-25 09:54 <a href="http://www.blogjava.net/shmily432685/archive/2005/11/25/21384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>备份与压缩命令(linux)</title><link>http://www.blogjava.net/shmily432685/archive/2005/11/15/19794.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Tue, 15 Nov 2005 01:07:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2005/11/15/19794.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/19794.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2005/11/15/19794.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/19794.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/19794.html</trackback:ping><description><![CDATA[<P><FONT class=normalfont>摘录自:linux宝库 (http://www.linuxmine.com)<BR><BR>　　用户经常需要备份计算机系统中的数据，为了节省存储空间，常常将备份文件进行压缩。下面分别介绍备份与压缩的命令。<BR><BR>　　tar命令<BR><BR>　　tar可以为文件和目录创建档案。利用tar，用户可以为某一特定文件创建档案（备份文件），也可以在档案中改变文件，或者向档案中加入新的文件。 tar最初被用来在磁带上创建档案，现在，用户可以在任何设备上创建档案，如软盘。利用tar命令，可以把一大堆的文件和目录全部打包成一个文件，这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。<BR><BR>　　语法：tar ［主选项+辅选项］ 文件或者目录<BR><BR>　　使用该命令时，主选项是必须要有的，它告诉tar要做什么事情，辅选项是辅助使用的，可以选用。<BR><BR>　　主选项：<BR><BR>　　c 创建新的档案文件。如果用户想备份一个目录或是一些文件，就要选择这个选项。<BR><BR>　　r 把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件，又发现还有一个目录或是一些文件忘记备份了，这时可以使用该选项，将忘记的目录或文件追加到备份文件中。<BR><BR>　　t 列出档案文件的内容，查看已经备份了哪些文件。<BR><BR>　　u 更新文件。就是说，用新增的文件取代原备份文件，如果在备份文件中找不到要更新的文件，则把它追加到备份文件的最后。<BR><BR>　　x 从档案文件中释放文件。<BR><BR>　　辅助选项：<BR><BR>　　b 该选项是为磁带机设定的。其后跟一数字，用来说明区块的大小，系统预设值为20（20*512 bytes）。<BR><BR>　　f 使用档案文件或设备，这个选项通常是必选的。<BR><BR>　　k 保存已经存在的文件。例如我们把某个文件还原，在还原的过程中，遇到相同的文件，不会进行覆盖。<BR><BR>　　m 在还原文件时，把所有文件的修改时间设定为现在。<BR><BR>　　M 创建多卷的档案文件，以便在几个磁盘中存放。<BR><BR>　　v 详细报告tar处理的文件信息。如无此选项，tar不报告文件信息。<BR><BR>　　w 每一步都要求确认。<BR><BR>　　z 用gzip来压缩/解压缩文件，加上该选项后可以将档案文件进行压缩，但还原时也一定要使用该选项进行解压缩。<BR><BR>　　例1：把/home目录下包括它的子目录全部做备份文件，备份文件名为usr.tar。<BR><BR>　　$ tar cvf usr.tar /home<BR><BR>　　例2：把/home目录下包括它的子目录全部做备份文件，并进行压缩，备份文件名为usr.tar.gz 。<BR><BR>　　$ tar czvf usr.tar.gz /home<BR><BR>　　例3：把usr.tar.gz这个备份文件还原并解压缩。<BR><BR>　　$ tar xzvf usr.tar.gz<BR><BR>　　例4：查看usr.tar备份文件的内容，并以分屏方式显示在显示器上。<BR><BR>　　$ tar tvf usr.tar | more<BR><BR>　　要将文件备份到一个特定的设备，只需把设备名作为备份文件名。<BR><BR>　　例5：用户在/dev/fd0设备的软盘中创建一个备份文件，并将/home 目录中所有的文件都拷贝到备份文件中。<BR><BR>　　$ tar cf /dev/fd0 /home<BR><BR>　　要恢复设备磁盘中的文件，可使用xf选项：<BR><BR>　　$ tar xf /dev/fd0<BR><BR>　　如果用户备份的文件大小超过设备可用的存贮空间，如软盘，您可以创建一个多卷的tar备份文件。M选项指示tar命令提示您使用一个新的存贮设备，当使用M选项向一个软驱进行存档时，tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就可以把tar档案存入几张磁盘中。<BR><BR>　　$ tar cMf /dev/fd0 /home<BR><BR>　　要恢复几张盘中的档案，只要将第一张放入软驱，然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。<BR><BR>　　$ tar xMf /dev/fd0<BR><BR>　　gzip命令<BR><BR>　　减少文件大小有两个明显的好处，一是可以减少存储空间，二是通过网络传输文件时，可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令，既方便又好用。<BR><BR>　　语法：gzip ［选项］ 压缩（解压缩）的文件名<BR><BR>　　各选项的含义：<BR><BR>　　-c 将输出写到标准输出上，并保留原有文件。<BR><BR>　　-d 将压缩文件解压。<BR><BR>　　-l 对每个压缩文件，显示下列字段：<BR><BR>　　压缩文件的大小<BR><BR>　　未压缩文件的大小<BR><BR>　　压缩比<BR><BR>　　未压缩文件的名字<BR><BR>　　-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。<BR><BR>　　-t 测试，检查压缩文件是否完整。<BR><BR>　　-v 对每一个压缩和解压的文件，显示文件名和压缩比。<BR><BR>　　-num 用指定的数字num调整压缩的速度，-1或--fast表示最快压缩方法（低压缩比），-9或--best表示最慢压缩方法（高压缩比）。系统缺省值为6。<BR><BR>　　假设一个目录/home下有文件mm.txt、sort.txt、xx.com。<BR><BR>　　例1：把/home目录下的每个文件压缩成.gz文件。<BR><BR>　　$ cd /home<BR><BR>　　$ gzip *<BR><BR>　　$ ls<BR><BR>　　m.txt.gz sort.txt.gz xx.com.gz<BR><BR>　　例2：把例1中每个压缩的文件解压，并列出详细的信息。<BR><BR>　　$ gzip -dv *<BR><BR>　　mm.txt.gz 43.1%-----replaced with mm.txt<BR><BR>　　sort.txt.gz 43.1%-----replaced with sort.txt<BR><BR>　　xx.com.gz 43.1%-----replaced with xx.com<BR><BR>　　$ ls<BR><BR>　　mm.txt sort.txt xx.com<BR><BR><BR>　　例3：详细显示例1中每个压缩的文件的信息，并不解压。<BR><BR>　　$ gzip -l *<BR><BR>　　compressed uncompr. ratio uncompressed_name<BR><BR>　　277 445 43.1% mm.txt<BR><BR>　　278 445 43.1% sort.txt<BR><BR>　　277 445 43.1% xx.com<BR><BR>　　$ ls<BR><BR>　　mm.txt.gz sort.txt.gz xx.com.gz<BR><BR>　　例4：压缩一个tar备份文件，如usr.tar，此时压缩文件的扩展名为.tar.gz<BR><BR>　　$ gzip usr.tar<BR><BR>　　$ ls<BR><BR>　　usr.tar.gz<BR><BR>　　unzip命令<BR><BR>　　用MS Windows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢？可以用unzip命令，该命令用于解扩展名为.zip的压缩文件。<BR><BR>　　语法：unzip ［选项］ 压缩文件名.zip<BR><BR>　　各选项的含义分别为：<BR><BR>　　-x 文件列表 解压缩文件，但不包括指定的file文件。<BR><BR>　　-v 查看压缩文件目录，但不解压。<BR><BR>　　-t 测试文件有无损坏，但不解压。<BR><BR>　　-d 目录 把压缩文件解到指定目录下。<BR><BR>　　-z 只显示压缩文件的注解。<BR><BR>　　-n 不覆盖已经存在的文件。<BR><BR>　　-o 覆盖已存在的文件且不要求用户确认。<BR><BR>　　-j 不重建文档的目录结构，把所有文件解压到同一目录下。<BR><BR>　　例1：将压缩文件text.zip在当前目录下解压缩。<BR><BR>　　$ unzip text.zip<BR><BR>　　例2：将压缩文件text.zip在指定目录/tmp下解压缩，如果已有相同的文件存在，要求unzip命令不覆盖原先的文件。<BR><BR>　　$ unzip -n text.zip -d /tmp<BR><BR>　　例3：查看压缩文件目录，但不解压。<BR><BR>　　$ unzip -v text.zip<BR><BR>　　zgrep命令<BR><BR>　　这个命令的功能是在压缩文件中寻找匹配的正则表达式，用法和grep命令一样，只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话，便可用zgrep命令。</FONT><BR><!-- 正文结束 --></P><img src ="http://www.blogjava.net/shmily432685/aggbug/19794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2005-11-15 09:07 <a href="http://www.blogjava.net/shmily432685/archive/2005/11/15/19794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BEA WebLogic 8.1 JDBC连接配置</title><link>http://www.blogjava.net/shmily432685/archive/2005/11/09/18995.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Wed, 09 Nov 2005 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2005/11/09/18995.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/18995.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2005/11/09/18995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/18995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/18995.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 12pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">本文描述了<SPAN lang=EN-US>BEA WebLogic 8.1 Server</SPAN>中各种与<SPAN lang=EN-US>JDBC</SPAN>相关功能的配置。尽管我们使用了<SPAN lang=EN-US>Oracle 8.1.7</SPAN>作为我们的示例数据库管理系统（<SPAN lang=EN-US>DBMS</SPAN>），但是只要其他关系数据库提供通过<SPAN lang=EN-US>JDBC</SPAN>的连接，就可以很容易地把一般性的概念转移到这些数据库上。<SPAN lang=EN-US><BR><BR></SPAN>　　<SPAN lang=EN-US>JDBC</SPAN>是标准的<SPAN lang=EN-US>Java API</SPAN>，几乎所有需要访问数据库的<SPAN lang=EN-US>J2EE</SPAN>应用程序都直接或间接地使用了它。在<SPAN lang=EN-US>BEA WebLogic 8.1</SPAN>中，配置<SPAN lang=EN-US>JDBC</SPAN>连接包括创建和配置两个主要的工件<SPAN lang=EN-US>——JDBC</SPAN>连接池和数据源。与这两个主要工件相关的是其他次要的可配置工件，比如多池或数据源工厂。<SPAN lang=EN-US><BR><BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">连接池还是多池？</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　在深入讨论如何创建和配置连接池之前，我们需要简要地看一看需要使用连接池的原因。<SPAN lang=EN-US><BR></SPAN>　　如果您没有使用<SPAN lang=EN-US>JDBC</SPAN>连接池访问数据库，那么为了建立到数据库的连接，您将需要进行以下步骤：<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<UL type=disc>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">加载<SPAN lang=EN-US>JDBC</SPAN>驱动程序类。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">创建<SPAN lang=EN-US>JDBC</SPAN>驱动程序的一个实例，并把它注册到驱动程序管理器中。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">通过提供一个数据库<SPAN lang=EN-US>URL</SPAN>和其他所需的参数，从驱动程序管理器中获得一个到数据库的连接。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">完成之后关闭连接。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI></UL>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　与这种一次一个连接的方法相比，连接池是数据库连接的一个现存集合，而且可以在多个活动的<SPAN lang=EN-US>J2EE</SPAN>应用程序中回收这些数据库连接。连接池中的连接是开放的，可用于访问。应用程序使用一个连接之后，这个连接没有被销毁，而是被返回到连接池中，随后可以为其他应用程序所用。通过节省与频繁建立和断开数据库连接相关的计算资源，连接池提高了数据库访问的性能，尤其是在负载高峰期内。<SPAN lang=EN-US><BR></SPAN>　　多池是连接池的集合。多池的主要目的是提高可用性和在一组连接池间实现负载均衡。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">为什么使用数据源？</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　一个数据源就是一个提供对连接池或多池访问的<SPAN lang=EN-US>Java</SPAN>命名和目录接口（<SPAN lang=EN-US>Java Naming and Directory Interface</SPAN>，<SPAN lang=EN-US>JNDI</SPAN>）对象。连接池或多池对于配置数据源是必需的。可以使用事务属性来配置数据源。非事务性的数据源用于本地事务；而事务性的数据源用于分布式事务。<SPAN lang=EN-US><BR></SPAN>　　数据源封装了对数据库的访问，隐藏了访问连接池或多池所涉及的细节。另外，数据源使配置数据库连接的事务性特性变得容易。<SPAN lang=EN-US><BR></SPAN>　　<SPAN lang=EN-US>JDBC Data Source Factory</SPAN>是一个<SPAN lang=EN-US>JNDI</SPAN>对象，企业应用程序使用它从应用程序范围内的连接池中获得连接。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">JDBC</SPAN></I></B><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">驱动程序设置</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　在<SPAN lang=EN-US>WebLogic Server</SPAN>和<SPAN lang=EN-US> DBMS</SPAN>之间建立连接所需的<SPAN lang=EN-US>JDBC</SPAN>驱动程序分为两种类型：<SPAN lang=EN-US>Type 2</SPAN>和<SPAN lang=EN-US> Type 4</SPAN>。<SPAN lang=EN-US> Type 2 JDBC</SPAN>驱动程序需要本地库。使用<SPAN lang=EN-US>Type 2 JDBC</SPAN>驱动程序时，需要把到<SPAN lang=EN-US>WebLogic</SPAN>共享库（或动态链接库）目录的路径<SPAN lang=EN-US><WEBLOGIC>\server\bin\oci817_8</SPAN>和到<SPAN lang=EN-US>Oracle</SPAN>客户端库目录的路径<SPAN lang=EN-US><ORACLE>\bin</SPAN>添加到系统变量<SPAN lang=EN-US>< PATH ></SPAN>的开头部分。<SPAN lang=EN-US><BR></SPAN>　　<SPAN lang=EN-US>WebLogic 8.1 Server</SPAN>安装在<SPAN lang=EN-US>< WEBLOGIC ></SPAN>目录中。<SPAN lang=EN-US>Oracle 8.1.7</SPAN>数据库安装在<SPAN lang=EN-US>< ORACLE ></SPAN>目录中。<SPAN lang=EN-US>< PATH ></SPAN>是<SPAN lang=EN-US>WebLogic Server Path</SPAN>变量。<SPAN lang=EN-US><BR></SPAN>　　对于<SPAN lang=EN-US>Type 2</SPAN>和<SPAN lang=EN-US> Type 4</SPAN>驱动程序来说，在<SPAN lang=EN-US>WebLogic Server CLASSPATH</SPAN>中，需要相关的<SPAN lang=EN-US>JDBC</SPAN>驱动程序类来配置连接池或数据源。把包含<SPAN lang=EN-US>Oracle Type 2 JDBC</SPAN>驱动程序类的<SPAN lang=EN-US><ORACLE>\JDBC\lib\classes12.zip</SPAN>文件添加给<SPAN lang=EN-US><domain>/startWebLogic</SPAN>脚本文件中的<SPAN lang=EN-US><CLASSPATH></SPAN>变量。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<UL type=disc>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><CLASSPATH></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">：<SPAN lang=EN-US>WebLogic Server Classpath</SPAN>变量。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l1 level1 lfo2; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><domain></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">：<SPAN lang=EN-US>WebLogic Server Domain</SPAN>目录。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI></UL>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">配置<SPAN lang=EN-US>JDBC</SPAN>连接池</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　现在，我们将考虑如何创建连接池和配置与其相关的各种参数。<SPAN lang=EN-US><BR></SPAN>　　要创建一个<SPAN lang=EN-US>JDBC</SPAN>连接池，在<SPAN lang=EN-US>Administration Console</SPAN>中右击<SPAN lang=EN-US>JDBC>Connection Pools</SPAN>节点，然后选择<SPAN lang=EN-US>Configure a new JDBC Connection Pool</SPAN>。<SPAN lang=EN-US><BR></SPAN>　　这将显示一个<SPAN lang=EN-US>Configure a JDBC Connection Pool</SPAN>画面。为<SPAN lang=EN-US>Oracle</SPAN>数据库选择<SPAN lang=EN-US>Database Type – Oracle</SPAN>。选择一个<SPAN lang=EN-US>Database Driver</SPAN>，然后点击<SPAN lang=EN-US>Continue</SPAN>按钮（参见图<SPAN lang=EN-US>1</SPAN>）。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=center><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><A href="http://dev2dev.bea.com.cn/techdoc/webser/image2004120203.jpg" target=_blank><SPAN style="TEXT-DECORATION: none; text-underline: none"><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype></SPAN></A><IMG height=345 alt=fig1.jpg src="http://www.blogjava.net/images/blogjava_net/shmily432685/subject/fig1.jpg" width=575 border=0><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">图<SPAN lang=EN-US>1<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　随后显示<SPAN lang=EN-US>Define Connection Properties</SPAN>画面。在这个画面中，指定一个<SPAN lang=EN-US>Database Name</SPAN>、一个<SPAN lang=EN-US>Database User Name</SPAN>和一个<SPAN lang=EN-US>Password</SPAN>。点击<SPAN lang=EN-US>Continue</SPAN>按钮。<SPAN lang=EN-US><BR></SPAN>　　随后显示<SPAN lang=EN-US>Test DataBase Connection</SPAN>。在这个画面中，指定<SPAN lang=EN-US>Driver Classname</SPAN>、<SPAN lang=EN-US>URL</SPAN>和<SPAN lang=EN-US>Properties</SPAN>字段的值。<SPAN lang=EN-US>Driver Classname</SPAN>就是用于获得数据库连接的驱动程序类名。<SPAN lang=EN-US>URL</SPAN>是用于获得连接的数据库<SPAN lang=EN-US>URL</SPAN>。<SPAN lang=EN-US>Properties</SPAN>是用于创建连接的属性列表。<SPAN lang=EN-US><BR></SPAN>　　表<SPAN lang=EN-US>1</SPAN>中指定了用于不同<SPAN lang=EN-US>Oracle JDBC</SPAN>驱动程序的<SPAN lang=EN-US>Driver Classname</SPAN>和<SPAN lang=EN-US>URL</SPAN>设置。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=center><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><A href="http://dev2dev.bea.com.cn/techdoc/webser/image2004120204.jpg" target=_blank><SPAN style="TEXT-DECORATION: none; text-underline: none"></SPAN></A><IMG height=331 alt=tab1.jpg src="http://www.blogjava.net/images/blogjava_net/shmily432685/subject/tab1.jpg" width=550 border=0><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">表<SPAN lang=EN-US>1 </SPAN>驱动程序类名和<SPAN lang=EN-US>URL</SPAN>设置<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　在<SPAN lang=EN-US>URL</SPAN>设置中，<SPAN lang=EN-US>< host ></SPAN>是在<SPAN lang=EN-US><ORACLE>/network/ADMIN/tnsnames.ora</SPAN>文件中指定的<SPAN lang=EN-US>HOST</SPAN>值，<SPAN lang=EN-US><port></SPAN>是在<SPAN lang=EN-US>tnsnames.ora</SPAN>文件中指定的<SPAN lang=EN-US>PORT</SPAN>值，而<SPAN lang=EN-US><database></SPAN>是数据库实例名称。<SPAN lang=EN-US><BR></SPAN>　　在<SPAN lang=EN-US>Properties</SPAN>文本框中的设置是：　<SPAN lang=EN-US><BR></SPAN><SPAN style="COLOR: #006633">　　<SPAN lang=EN-US>user=<user><BR></SPAN>　　<SPAN lang=EN-US>server=<database></SPAN></SPAN><SPAN lang=EN-US><BR></SPAN>　　<SPAN lang=EN-US><user></SPAN>是指定登录到<SPAN lang=EN-US>Oracle</SPAN>数据库中的用户名。<SPAN lang=EN-US><database></SPAN>是<SPAN lang=EN-US>Oracle</SPAN>数据库实例名称。如果使用了<SPAN lang=EN-US>Oracle</SPAN>瘦（<SPAN lang=EN-US>Type 4</SPAN>）驱动程序，就不应该指定服务器属性。<SPAN lang=EN-US><BR></SPAN>　　点击<SPAN lang=EN-US>Test Driver Configuration</SPAN>按钮，以测试<SPAN lang=EN-US>JDBC Connection Pool</SPAN>。如果驱动程序配置测试成功，会显示一条<SPAN lang=EN-US>“Connection successful”</SPAN>消息。如果驱动程序配置有错误，则会显示一条错误消息。<SPAN lang=EN-US><BR></SPAN>　　随后会显示<SPAN lang=EN-US>Create and Deploy</SPAN>画面。在这个画面中，选择一台服务器部署连接池，然后点击<SPAN lang=EN-US>Create and Deploy</SPAN>按钮来创建和部署一个<SPAN lang=EN-US>JDBC</SPAN>连接池。这将在被选中的服务器上创建和部署一个连接池。也可以把它部署在多台服务器上。<SPAN lang=EN-US>Administration Console</SPAN>中的<SPAN lang=EN-US>JDBC>Connection Pools</SPAN>节点将会增加一个<SPAN lang=EN-US><JDBCConnection Pool></SPAN>节点。<SPAN lang=EN-US><JDBCConnection Pool></SPAN>是连接池的名称。<SPAN lang=EN-US><BR></SPAN>　　要修改<SPAN lang=EN-US>JDBC Connection Pool</SPAN>配置，点击<SPAN lang=EN-US>JDBC>Connection Pools><JDBCConnection Pool></SPAN>节点，然后选择<SPAN lang=EN-US>Configuration</SPAN>选项卡。要修改目标服务器，选择<SPAN lang=EN-US>Target and Deploy</SPAN>选项卡。选择一台目标服务器，然后点击<SPAN lang=EN-US>Apply</SPAN>按钮。选择<SPAN lang=EN-US>Connections</SPAN>选项卡以配置<SPAN lang=EN-US>JDBC Connections</SPAN>属性。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">连接属性</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><o:p></o:p></SPAN></P>
<UL type=disc>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Initial Capacity:</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">创建连接池时所创建的数据库连接的数目。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Maximum Capacity: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">连接池中连接的最大数目。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Capacity Increment: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">连接池容量在最大容量限制范围内的增量。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">LoginDelay: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在创建每个物理数据库连接之前要延迟的秒数。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Allow Shrinking: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">将该项设置为<SPAN lang=EN-US>true</SPAN>时，如果没有使用额外的连接，则允许连接池把容量减小到<SPAN lang=EN-US>InitialCapacity</SPAN>。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Shrink Frequency: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在减小连接池容量之前要等待的秒数。如果将<SPAN lang=EN-US>Shrink Frequency</SPAN>设置为<SPAN lang=EN-US>true</SPAN>，那么也必须将<SPAN lang=EN-US>Allow Shrinking</SPAN>设置为<SPAN lang=EN-US>true</SPAN>。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Test Frequency: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">数据库连接测试之间间隔的秒数。在每个<SPAN lang=EN-US>Refresh Period</SPAN>时间间隔之后，如果设置了<SPAN lang=EN-US>TestTableName</SPAN>，就会使用<SPAN lang=EN-US>TestTableName</SPAN>测试未使用的数据库连接。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Test Reserved Connections: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">如果选择了这个选项，服务器会在把连接提供给客户端之前对其进行测试。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Test Created Connections: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">如果选择了这个选项，就会在创建一个<SPAN lang=EN-US>JDBC</SPAN>连接之后和在把它添加到<SPAN lang=EN-US>JDBC</SPAN>连接池中的可用连接列表之前，对该<SPAN lang=EN-US>JDBC</SPAN>连接进行测试。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Test Released Connections: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">如果选择了这个选项，服务器就会在把连接返回给连接池之前对其进行测试。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l2 level1 lfo3; tab-stops: list 36.0pt"><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Test Table Name: </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">用于<SPAN lang=EN-US>JDBC</SPAN>连接测试的数据库表名。如果指定了<SPAN lang=EN-US>Test Frequency</SPAN>，并且选择了<SPAN lang=EN-US>Test Reserved Connections</SPAN>、<SPAN lang=EN-US>Test Created Connections</SPAN>或<SPAN lang=EN-US>Test Released Connections</SPAN>，则<SPAN lang=EN-US>Table Name</SPAN>是必需的。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI></UL>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　在配置<SPAN lang=EN-US>Connections</SPAN>画面之后，选择<SPAN lang=EN-US>Apply</SPAN>按钮。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">配置<SPAN lang=EN-US>JDBC</SPAN>多池</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　一个多池就是连接池的一个集合。在创建多池之前为多池配置连接池。要创建和配置一个新的多池，右击<SPAN lang=EN-US>Administration Console</SPAN>中的<SPAN lang=EN-US>JDBC>Multi Pools</SPAN>节点，然后选择<SPAN lang=EN-US>Configure a New Multi Pool</SPAN>。<SPAN lang=EN-US><BR></SPAN>　　随后会显示<SPAN lang=EN-US>Configuration</SPAN>画面。在<SPAN lang=EN-US>Multi Pool Configuration</SPAN>画面中，指定<SPAN lang=EN-US>Algorithm Type</SPAN>并选择<SPAN lang=EN-US>Create</SPAN>按钮。如果将<SPAN lang=EN-US>Algorithm Type</SPAN>设置为<SPAN lang=EN-US>“High availability”</SPAN>，那么在使用另一个池中的连接之前，一个池中的所有可用连接应已经用完。如果将<SPAN lang=EN-US>Algorithm Type</SPAN>设置为<SPAN lang=EN-US>“Load balancing”</SPAN>，多池会将连接请求平均地分布给多池中的所有连接池（参见图<SPAN lang=EN-US>2</SPAN>）。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=center><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><A href="http://dev2dev.bea.com.cn/techdoc/webser/image2004120205.jpg" target=_blank><SPAN style="TEXT-DECORATION: none; text-underline: none"></SPAN></A><IMG height=364 alt=fig2.jpg src="http://www.blogjava.net/images/blogjava_net/shmily432685/subject/fig2.jpg" width=530 border=0><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">图<SPAN lang=EN-US>2<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　选择<SPAN lang=EN-US>Pools</SPAN>选项卡，然后在<SPAN lang=EN-US>Pools</SPAN>画面中选择要添加到多池中的连接池。点击<SPAN lang=EN-US>Apply</SPAN>按钮。被选中的连接池将被添加到多池中。连接中使用的连接池是基于<SPAN lang=EN-US>Algorithm Type</SPAN>进行选择的。<SPAN lang=EN-US><BR></SPAN>　　选择<SPAN lang=EN-US>Target and Deploy</SPAN>选项卡，然后在<SPAN lang=EN-US>Target and Deploy</SPAN>画面中选择一台目标服务器。点击<SPAN lang=EN-US>Apply</SPAN>按钮。可以把一个多池部署在多台服务器上。<SPAN lang=EN-US>Administration Console</SPAN>中的<SPAN lang=EN-US>JDBC>Multi Pools</SPAN>节点将会增加一个<SPAN lang=EN-US><Multi Pool></SPAN>节点。<SPAN lang=EN-US><Multi Pool></SPAN>是多池的名称。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">配置<SPAN lang=EN-US>JDBC</SPAN>数据源</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　数据源是用于访问连接池或多池的<SPAN lang=EN-US>JNDI</SPAN>对象。连接池或多池对于创建数据源是必需的。连接池对于创建事务性的数据源是必需的。应在创建数据源之前创建连接池或多池。<SPAN lang=EN-US><BR></SPAN>　　要创建和配置数据源，在<SPAN lang=EN-US>Administration Console</SPAN>中右击<SPAN lang=EN-US>JDBC>Data Sources</SPAN>节点，然后选择<SPAN lang=EN-US>Configure a new JDBCTxData Source</SPAN>。<SPAN lang=EN-US><BR></SPAN>　　随后会显示<SPAN lang=EN-US>Configuration</SPAN>画面。在<SPAN lang=EN-US>Data Source Configuration</SPAN>画面中指定字段的设置。<SPAN lang=EN-US>JNDI Name</SPAN>是数据源的<SPAN lang=EN-US>JNDI</SPAN>路径。<SPAN lang=EN-US><BR></SPAN>　　选择<SPAN lang=EN-US>Honor Global Transactions</SPAN>，以创建一个事务性的（<SPAN lang=EN-US>Tx</SPAN>）数据源。如果没有选中<SPAN lang=EN-US>Honor Global Transactions</SPAN>，那么所创建的数据源就是非<SPAN lang=EN-US>Tx</SPAN>数据源（参见图<SPAN lang=EN-US>3</SPAN>）。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=center><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><A href="http://dev2dev.bea.com.cn/techdoc/webser/image2004120206.jpg" target=_blank><SPAN style="TEXT-DECORATION: none; text-underline: none"></SPAN></A><IMG height=467 alt=fig3.jpg src="http://www.blogjava.net/images/blogjava_net/shmily432685/subject/fig3.jpg" width=532 border=0><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">图<SPAN lang=EN-US>3<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　随后会显示<SPAN lang=EN-US>Connect to Connection Pool</SPAN>画面。在<SPAN lang=EN-US>Pool Name</SPAN>字段中，从可用连接池的列表中选择一个<SPAN lang=EN-US>JDBC</SPAN>连接池，然后点击<SPAN lang=EN-US>Continue</SPAN>按钮。数据源与被选中的连接池相连接。<SPAN lang=EN-US><BR></SPAN>　　随后会显示<SPAN lang=EN-US>Target the Data Source</SPAN>画面。在这个画面中，选择一台目标服务器，然后点击<SPAN lang=EN-US>Continue</SPAN>按钮。这将在被选中的服务器上部署数据源，但是也可以在多台服务器上部署它。<SPAN lang=EN-US>Administration Console</SPAN>中的<SPAN lang=EN-US>JDBC>Data Sources</SPAN>节点将增加一个<SPAN lang=EN-US><JDBCData Source></SPAN>节点。<SPAN lang=EN-US><JDBCData Source></SPAN>是数据源的名称。要修改数据源配置，点击管理控制台中的<SPAN lang=EN-US>JDBC>Data Sources><JDBCData Source></SPAN>节点，选择<SPAN lang=EN-US>Configuration</SPAN>选项卡。为了可以在一次服务器访问中把每个<SPAN lang=EN-US>Result Set</SPAN>的多个行从服务器取到外部客户端，选择<SPAN lang=EN-US>Row Prefetch Enabled</SPAN>并指定<SPAN lang=EN-US>Row Prefetch Size</SPAN>。要为非<SPAN lang=EN-US>XA</SPAN>的<SPAN lang=EN-US>JDBC</SPAN>驱动程序启用全局事务，为非<SPAN lang=EN-US>XA</SPAN>的驱动程序选择<SPAN lang=EN-US>Emulate Two-Phase Commit</SPAN>，并选择<SPAN lang=EN-US>Honor Global Transactions</SPAN>。要修改数据源的目标服务器，选择<SPAN lang=EN-US>Target and Deploy</SPAN>选项卡。选择一台目标服务器，然后点击<SPAN lang=EN-US>Apply</SPAN>按钮。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">数据源和<SPAN lang=EN-US>Tx</SPAN>数据源之比较</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　如果在数据源配置中选择了<SPAN lang=EN-US>Honor Global Transactions</SPAN>，数据源就是<SPAN lang=EN-US>Tx</SPAN>数据源。数据源是和连接池或多池一起使用的。<SPAN lang=EN-US>Tx</SPAN>数据源和连接池一起使用。数据源用于本地事务。<SPAN lang=EN-US>Tx</SPAN>数据源用于分布式事务。<SPAN lang=EN-US><BR></SPAN>　　在下列情况下，应该使用<SPAN lang=EN-US>Tx</SPAN>数据源而不是数据源：<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<UL type=disc>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">使用容器托管的持久性实体<SPAN lang=EN-US>bean</SPAN>。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在事务期间访问多项资源。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在一个事务中进行多个数据库更新。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo4; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在多台服务器上使用同一个连接池。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI></UL>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">配置<SPAN lang=EN-US>JDBC</SPAN>数据源工厂</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　<SPAN lang=EN-US>JDBC</SPAN>数据源工厂是一项<SPAN lang=EN-US>JNDI</SPAN>数据源资源。企业应用程序使用数据源工厂从应用程序范围内的连接池中获得连接。<SPAN lang=EN-US><BR></SPAN>　　要创建和配置一个<SPAN lang=EN-US>JDBC</SPAN>数据源工厂，在<SPAN lang=EN-US>Administration Console</SPAN>中右击<SPAN lang=EN-US>JDBC>Data Source Factories</SPAN>节点，然后选择<SPAN lang=EN-US>Configure a new JDBCDataSourceFactory</SPAN>。<SPAN lang=EN-US><BR></SPAN>　　随后会显示<SPAN lang=EN-US>Configuration</SPAN>画面。在这个画面中，指定<SPAN lang=EN-US>URL</SPAN>、<SPAN lang=EN-US>Driver Class Name</SPAN>、<SPAN lang=EN-US> Factory Name</SPAN>和<SPAN lang=EN-US>Properties</SPAN>字段的值，然后点击<SPAN lang=EN-US>Create</SPAN>按钮（参见图<SPAN lang=EN-US>4</SPAN>）。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=center><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><A href="http://dev2dev.bea.com.cn/techdoc/webser/image2004120207.jpg" target=_blank><SPAN style="TEXT-DECORATION: none; text-underline: none"></SPAN></A><IMG height=438 alt=fig4.jpg src="http://www.blogjava.net/images/blogjava_net/shmily432685/subject/fig4.jpg" width=519 border=0><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">图<SPAN lang=EN-US>4<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　<SPAN lang=EN-US>Administration Console</SPAN>中的<SPAN lang=EN-US>JDBC>Data Source Factories</SPAN>节点将增加一个<SPAN lang=EN-US><JDBCData Source Factory></SPAN>节点。<SPAN lang=EN-US><JDBCData Source Factory></SPAN>是数据源工厂的名称。要使用<SPAN lang=EN-US><JDBCData Source Factory></SPAN>，需要重新启动服务器。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><I><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">JDBC</SPAN></I></B><B><I><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">配置和服务器性能</SPAN></I></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　下面列出了<SPAN lang=EN-US>BEA</SPAN>针对<SPAN lang=EN-US> WebLogic Server</SPAN>的各种<SPAN lang=EN-US>JDBC</SPAN>配置设置给出的建议。<SPAN lang=EN-US><BR></SPAN>　　为了提高生产模式下服务器的性能：<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<UL type=disc>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo5; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在<SPAN lang=EN-US>JDBC</SPAN>连接池配置中，把<SPAN lang=EN-US>InitialCapacity</SPAN>的值设置为等于<SPAN lang=EN-US> MaxCapacity</SPAN>。如果<SPAN lang=EN-US>InitialCapacity</SPAN>的值小于<SPAN lang=EN-US>MaxCapacity</SPAN>，那么当负载增加时，服务器就会创建额外的数据库连接。在负载增加的情况下，必须分配资源以创建额外的数据库连接，同时资源对于完成<SPAN lang=EN-US>jdbc</SPAN>客户端请求也是必需的。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo5; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">把<SPAN lang=EN-US>MaxCapacity</SPAN>的值设置为等于需要<SPAN lang=EN-US>JDBC</SPAN>连接的并发客户端会话的数量：为了确定一个连接池中的并发客户端会话，选择该连接池节点。选择<SPAN lang=EN-US>Monitoring</SPAN>选项卡。<SPAN lang=EN-US>Active Connections</SPAN>栏中的值是并发客户端会话的平均数目。<SPAN lang=EN-US>Connections High</SPAN>的值是并发客户端会话的最大数量。在部署应用程序和监视活动连接之后，可以修改<SPAN lang=EN-US>MaxCapacity</SPAN>的值。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l3 level1 lfo5; tab-stops: list 36.0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">当外部客户端通过<SPAN lang=EN-US>WebLogic Server</SPAN>使用<SPAN lang=EN-US>JDBC</SPAN>访问数据库时，在数据源配置中选择<SPAN lang=EN-US>Row Prefetch Enabled</SPAN>：通过在一次服务器访问中取多个行，行预取可以提高性能。 <SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></LI></UL>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">结束语</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">　　按照上面概述过程，<SPAN lang=EN-US>WebLogic</SPAN>开发人员应该能够针对<SPAN lang=EN-US>Oracle 8.1</SPAN>数据库配置<SPAN lang=EN-US>BEA WebLogic 8.1 Server</SPAN>了。配置其他数据库类似于配置<SPAN lang=EN-US>Oracle 8.1</SPAN>。把包含相应数据库的驱动程序类的<SPAN lang=EN-US>zip/jar</SPAN>文件添加给<SPAN lang=EN-US>CLASSPATH</SPAN>变量，然后在<SPAN lang=EN-US>JDBC</SPAN>连接池配置中指定相应的连接<SPAN lang=EN-US>URL</SPAN>和驱动程序类名。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US><o:p>转载: <A href="http://www.54bk.com/more.asp?name=tjdream&id=13718">http://www.54bk.com/more.asp?name=tjdream&id=13718</A></o:p></SPAN></P><img src ="http://www.blogjava.net/shmily432685/aggbug/18995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2005-11-09 15:17 <a href="http://www.blogjava.net/shmily432685/archive/2005/11/09/18995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 开发者中外学习网站归类</title><link>http://www.blogjava.net/shmily432685/archive/2005/10/28/17227.html</link><dc:creator>闵毓</dc:creator><author>闵毓</author><pubDate>Fri, 28 Oct 2005 10:57:00 GMT</pubDate><guid>http://www.blogjava.net/shmily432685/archive/2005/10/28/17227.html</guid><wfw:comment>http://www.blogjava.net/shmily432685/comments/17227.html</wfw:comment><comments>http://www.blogjava.net/shmily432685/archive/2005/10/28/17227.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shmily432685/comments/commentRss/17227.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shmily432685/services/trackbacks/17227.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 归类尚不足，请各位高人给予补充。thanks&nbsp;&nbsp;<a href='http://www.blogjava.net/shmily432685/archive/2005/10/28/17227.html'>阅读全文</a><img src ="http://www.blogjava.net/shmily432685/aggbug/17227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shmily432685/" target="_blank">闵毓</a> 2005-10-28 18:57 <a href="http://www.blogjava.net/shmily432685/archive/2005/10/28/17227.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>