﻿<?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/TrampEagle/category/4705.html</link><description>学习和生活
</description><language>zh-cn</language><lastBuildDate>Sat, 05 Jan 2013 20:25:24 GMT</lastBuildDate><pubDate>Sat, 05 Jan 2013 20:25:24 GMT</pubDate><ttl>60</ttl><item><title>Linux上安装MQ7.5</title><link>http://www.blogjava.net/TrampEagle/archive/2013/01/05/393842.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Sat, 05 Jan 2013 14:33:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2013/01/05/393842.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/393842.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2013/01/05/393842.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/393842.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/393842.html</trackback:ping><description><![CDATA[<p>1.root登录，查看jdk是否安装，如果没有安装先安装jdk<br />$cd /usr;mkdir java;cd java;<br />$cp /soft/jdk-6u37-linux-i586.bin jdk-6u37-linux-i586.bin<br />$chmod +x jdk-6u37-linux-i586.bin<br />$./jdk-6u37-linux-i586.bin<br />$vi /etc/profile<br />将下面的内容添加到最后并保存<br />#set java environment<br />JAVA_HOME=/usr/java/jdk1.6.0_37<br />CLASSPATH=.:$JAVA_HOME/lib.tools.jar<br />PATH=$JAVA_HOME/bin:$PATH<br />export JAVA_HOME CLASSPATH PATH<br />####$$$$$$$$执行下面的命令使之生效(注意英文符号&#8220;.&#8221;,空格后再加上文件名)$$$$$$$$$<br />[root@localhost mqsoft]#. /etc/profile<br />##查看jdk是否安装成功<br />[root@localhost mqsoft]#java -version<br />2.进入到MQ软件包所在的目录<br />[root@localhost mqsoft]#cd /soft<br />3.<br />[root@localhost mqsoft]#mkdir mqsoft<br />4.<br />[root@localhost mqsoft]#cd mqsoft<br />5.<br />[root@localhost mqsoft]#tar -zxvf ../MQ_7.5_TRIAL_FOR_LNX_ON_X86_32_ML.tar.gz<br />6.<br />[root@localhost mqsoft]#./mqlicense.sh -accept<br />7.<br />[root@localhost mqsoft]# rpm -ivh MQSeriesRuntime-7.5.0-0.i386.rpm<br />Creating group mqm<br />Creating user mqm<br />[root@localhost mqsoft]# rpm -ivh MQSeriesSDK-7.5.0-0.i386.rpm<br />[root@localhost mqsoft]# rpm -ivh MQSeriesServer-7.5.0-0.i386.rpm<br />[root@localhost mqsoft]# rpm -ivh MQSeriesClient-7.5.0-0.i386.rpm<br />[root@localhost mqsoft]# rpm -ivh MQSeriesSamples-7.5.0-0.i386.rpm<br />[root@localhost mqsoft]# rpm -ivh MQSeriesJava-7.5.0-0.i386.rpm<br />Preparing...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />&nbsp;&nbsp; 1:MQSeriesJava&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />[root@localhost mqsoft]# rpm -ivh MQSeriesMsg_Zh_CN-7.5.0-0.i386.rpm<br />Preparing...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />&nbsp;&nbsp; 1:MQSeriesMsg_Zh_CN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />[root@localhost mqsoft]# rpm -ivh MQSeriesMan-7.5.0-0.i386.rpm<br />Preparing...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />&nbsp;&nbsp; 1:MQSeriesMan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ########################################### [100%]<br />8.&nbsp; 安装过程创建了一个名为 mqm 的用户和一个同样名为 mqm 的组。此时，新用户是被锁定的，您必须设置一个密码来解锁，这样才能继续本文的第二部分。可用 passwd 命令做到这一点：<br />[root@localhost mqsoft]# passwd mqm<br />9.切换到mqm用户下执行crtmqm创建一个队列管理器<br />-bash-3.2$ crtmqm -q QM1<br />此 WebSphere MQ 副本的试用期还剩 90 天。<br />WebSphere MQ 队列管理器已创建。<br />已创建目录&#8220;/var/mqm/qmgrs/QM1&#8221;。<br />队列管理器与安装&#8220;Installation1&#8221;关联。<br />正在创建或替换队列管理器&#8220;QM1&#8221;的缺省对象。<br />缺省对象统计：74 个已创建。0 个已替换。0 个已失败。<br />正在完成设置。<br />设置完成。<br />10.如果执行crtmqm命令时提示<br />-bash-3.2$ crtmqm<br />-bash: crtmqm: command not found<br />则需要配置mqm用户的环境变量，编辑如下文件，并添加下面的内容，如下：<br />1）-bash-3.2$ vi /var/mqm/.bash_profile</p><p>PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin<br />2）执行&#8220;.&#8221;命令，使这个文件生效<br />-bash-3.2$ . .bash_profile<br />3）再次尝试实行crtmqm或是dspmqm命令，即可发现已经生效。</p><img src ="http://www.blogjava.net/TrampEagle/aggbug/393842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2013-01-05 22:33 <a href="http://www.blogjava.net/TrampEagle/archive/2013/01/05/393842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE查询表方法</title><link>http://www.blogjava.net/TrampEagle/archive/2008/07/15/214865.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Tue, 15 Jul 2008 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2008/07/15/214865.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/214865.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2008/07/15/214865.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/214865.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/214865.html</trackback:ping><description><![CDATA[<p>select 'drop table '||tname||';' from tab where lower(tname) like 'tb_evt_ydq_%'</p>
<p>select 'select * from&nbsp; '||tname||';' from tab where lower(tname) like 'tb_evt_ydq_%'</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/214865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2008-07-15 09:00 <a href="http://www.blogjava.net/TrampEagle/archive/2008/07/15/214865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>本地化（国际化）rich:calendar控件</title><link>http://www.blogjava.net/TrampEagle/archive/2008/06/28/211343.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Sat, 28 Jun 2008 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2008/06/28/211343.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/211343.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2008/06/28/211343.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/211343.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/211343.html</trackback:ping><description><![CDATA[rich:calendar是richfaces的一个非常有用的日期显示组件。可以通过datePattern非常方便的格式化日期<br />
&lt;rich:calendar id="tel_yuyueshijian" style="width:200px"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readonly="true" size="16" datePattern="yyyy-MM-dd" /&gt;<br />
<br />
本地化其实非常简单，默认会根据浏览器自动本地化部分内容，但是可以在classpath下添加一个资源文件messages_zh_CN.properties，把相关内容设置一下就可以了，非常简单；<br />
例如：<br />
RICH_CALENDAR_TODAY_LABEL=今天<br />
RICH_CALENDAR_CLOSE_LABEL=关闭<br />
RICH_CALENDAR_OK_LABEL=确定<br />
RICH_CALENDAR_CLEAN_LABEL=清空<br />
RICH_CALENDAR_CANCEL_LABEL=取消<br />
<br />
具体可以参考richfaces-usersguide官方文档。
<img src ="http://www.blogjava.net/TrampEagle/aggbug/211343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2008-06-28 17:19 <a href="http://www.blogjava.net/TrampEagle/archive/2008/06/28/211343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用Richface通过js脚本直接局部刷新</title><link>http://www.blogjava.net/TrampEagle/archive/2008/06/28/211342.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Sat, 28 Jun 2008 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2008/06/28/211342.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/211342.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2008/06/28/211342.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/211342.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/211342.html</trackback:ping><description><![CDATA[<p>&lt;script&gt;<br />
&nbsp;&nbsp;&nbsp; function <span style="color: #0000ff">testAjaxWithJS</span>(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">updateHTable</span>();//注意这里一定要和a4j:jsFunction的name的值一致，如红色标记。<br />
&nbsp;&nbsp;&nbsp; }<br />
&lt;/script&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h:selectBooleanCheckbox id="existedBalAcct"&nbsp;&nbsp;&nbsp;onclick="return <span style="color: #0000ff">testAjaxWithJS</span>();"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a4j:jsFunction name="<span style="color: red">updateHTable</span>" reRender="accountHTable"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/a4j:jsFunction&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a4j:outputPanel id="accountHTable"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;h:dataTable headerClass="title2" &gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/h:dataTable&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/a4j:outputPanel&gt;</p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/211342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2008-06-28 17:03 <a href="http://www.blogjava.net/TrampEagle/archive/2008/06/28/211342.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jboss seam 常用控件</title><link>http://www.blogjava.net/TrampEagle/archive/2008/04/21/194626.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 21 Apr 2008 13:45:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2008/04/21/194626.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/194626.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2008/04/21/194626.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/194626.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/194626.html</trackback:ping><description><![CDATA[<p>持续更心中：<br />
1。日期：<br />
&nbsp; &lt;rich:calendar value="#{flight.departureDate}" locale="#{locale}" datePattern="yyyy-MM-dd hh:mm" /&gt;&nbsp; </p>
2。
<img src ="http://www.blogjava.net/TrampEagle/aggbug/194626.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2008-04-21 21:45 <a href="http://www.blogjava.net/TrampEagle/archive/2008/04/21/194626.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何使用java动态创建ODBC数据源</title><link>http://www.blogjava.net/TrampEagle/archive/2007/09/30/149942.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Sun, 30 Sep 2007 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2007/09/30/149942.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/149942.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2007/09/30/149942.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/149942.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/149942.html</trackback:ping><description><![CDATA[好久没有使用过VFP了，记忆中似乎也只是在学校中使用过。这次出差，客户给了一大堆dbf文件，要求处理。<br />
无奈啊，顾客就是上帝。虽然可以通过许多途径来处理，但是总想用java语言来处理。最终还是需要通过JNI来处理，不过用到了一个开元的操作注册表的registry-3.1.3，使用后，发现蛮简单的，网上已有很多资料介绍，就不多说了。<br />
想了两种解决方法，第一种比较麻烦，但是看网上很多人问，就也总结了出来，其实就是通过java动态创建ODBC数据源来访问DBF文件，这个就需要用到registry，来修改注册表了。<br />
<br />
其实，主要是动态创建ODBC数据源，开始很简单，可以手工设置一次数据源，当然也可以通过程序直接生成，问题都不大。下面只说怎样修改。<br />
<p>import com.ice.jni.registry.RegStringValue;<br />
import com.ice.jni.registry.Registry;<br />
import com.ice.jni.registry.RegistryKey;</p>
<p><br />
public class TestC {<br />
&nbsp;public static void main(String[] str) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegistryKey child = Registry.HKEY_CURRENT_USER<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .openSubKey("Software").openSubKey("ODBC").openSubKey("ODBC.INI").openSubKey("data_0930",RegistryKey.ACCESS_ALL);//操作权限是通过RegistryKey来获取的。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String de = "F:\\commony\\test\\data\\070901";&nbsp; //我的DBF数据的目录<br />
//其中，data_0930是我第一次设置的数据源的一个注册表的名称<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(child.getStringValue("SourceDB"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; child.setValue(new RegStringValue(child,"SourceDB",de));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(child.getFullName());<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }</p>
<p>}<br />
然后就是通过，sun.jdbc.odbc.JdbcOdbcDriver来获取数据，<br />
</p>
<p>import java.sql.DriverManager;<br />
import java.sql.*;<br />
public class TestOdbc {<br />
&nbsp; public TestOdbc() {<br />
&nbsp; }<br />
&nbsp; public static void main(String[] args) {<br />
&nbsp;&nbsp;&nbsp; java.sql.Connection conn = null;<br />
&nbsp;&nbsp;&nbsp; java.sql.PreparedStatement pt = null;<br />
&nbsp;&nbsp;&nbsp; java.sql.ResultSet rs = null;<br />
&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; catch (ClassNotFoundException ex1) {<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; try {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn = DriverManager.getConnection("jdbc:odbc:data_0930", "", "");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pt = conn.prepareStatement(" select *&nbsp; from test_table");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs = pt.executeQuery();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(rs.next()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("==="+rs.getString(1));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("==="+rs.getString(2));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("==="+rs.getString(3));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("==="+rs.getString(4));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("==="+rs.getString(5));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; catch (SQLException ex) {<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp; }<br />
}</p>
<p>其实真的很简单。<br />
其实，文件名，是可以动态获取的，一般可以通过java中的File类来获取：<br />
</p>
<p>import java.io.File;</p>
<p><br />
public class TestD {</p>
<p>&nbsp;public static void main(String[] args){<br />
&nbsp;&nbsp;File file = new File("F:\\commony\\test<a href="file://\\data">\\data</a>");<br />
&nbsp;&nbsp;File[] df = file.listFiles();<br />
&nbsp;&nbsp;for(int k =0;k&lt;df.length;k++){<br />
&nbsp;&nbsp;&nbsp;if(df[k].isDirectory()){ //因为文件夹中包含DBF文件，所以判断是文件夹，而不是文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.out.println("===kkkk=="+k+"====="+df[k].getName());<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
}</p>
<p>第一种就是这样，需要注意的是registry的使用，其实很简单的，只要把DLL文件放到classpath下就可以了。<br />
第二种其实更简单，就是通过另一个开元的类包jdbf.jar，使用方法也很简单，网上有很多资料，可以查询。也就不多说了。<br />
&nbsp; </p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/149942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2007-09-30 16:38 <a href="http://www.blogjava.net/TrampEagle/archive/2007/09/30/149942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何通过URLConnection向HttpServlet发送信息</title><link>http://www.blogjava.net/TrampEagle/archive/2007/09/19/146601.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Wed, 19 Sep 2007 13:11:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2007/09/19/146601.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/146601.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2007/09/19/146601.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/146601.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/146601.html</trackback:ping><description><![CDATA[服务器端代码：<br />
在HttpServlet中的doPost(HttpServletRequest request, HttpServletResponse response)方法中：<br />
&nbsp;&nbsp;&nbsp; ObjectInputStream in = new ObjectInputStream(new BufferedInputStream(request.getInputStream()));（这一步特别容易出错，网上所留言的以及寻求答案的多为这一步，主要是方法位置，如果是doGet方法，我在使用过程中，也一直跑异常，java.io.EOFException，但是换成doPost后就没有了，不知道为什么）。<br />
&nbsp;&nbsp;&nbsp; ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());<br />
<br />
客户端：<br />
&nbsp;&nbsp;&nbsp;&nbsp; String sMessage = "test";//此处是需要发送的可序列化的对象。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URL url = newURL("<a href="http://localhost:8080/test/servlet">http://localhost:8080/test/servlet</a>");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URLConnection con = url.openConnection();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con.setDoInput(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con.setDoOutput(true);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; con.setRequestProperty("Content-type", "application/octest-stream");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; out = con.getOutputStream();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objStream = new ObjectOutputStream(out);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objStream.writeObject(sMessage);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objStream.flush();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputStream in = con.getInputStream();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ObjectInputStream back = new ObjectInputStream(in);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; back.readObject();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; objStream.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; back.close();<br />
<br />
不知道为什么，必须要有后一部分的，即：必须从连接中获取一个流对象，然后才能触发写入的事件，如果不获取，则没有任何效果，没有研究，下一步再努力研究吧，现在突然对网络编程产生了很大兴趣，可惜啊，出差在外，忙着做项目。<br />
希望有能解释上述原因的朋友不吝赐教。
<img src ="http://www.blogjava.net/TrampEagle/aggbug/146601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2007-09-19 21:11 <a href="http://www.blogjava.net/TrampEagle/archive/2007/09/19/146601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在dos下添加临时路由</title><link>http://www.blogjava.net/TrampEagle/archive/2007/09/14/145177.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Fri, 14 Sep 2007 08:35:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2007/09/14/145177.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/145177.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2007/09/14/145177.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/145177.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/145177.html</trackback:ping><description><![CDATA[<p>添加临时路由的命令（真实的地址已修改）<br />
route add 33.152.263.158 mask 255.255.255.255 192.168.1.101 -p</p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/145177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2007-09-14 16:35 <a href="http://www.blogjava.net/TrampEagle/archive/2007/09/14/145177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>批处理添加和删除文件</title><link>http://www.blogjava.net/TrampEagle/archive/2007/06/13/123886.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Wed, 13 Jun 2007 08:14:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2007/06/13/123886.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/123886.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2007/06/13/123886.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/123886.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/123886.html</trackback:ping><description><![CDATA[之所以出现添加和删除文件，完全是因为使用SVN时造成的，项目编译后，使用SVN更新，总报有些文件找不到，无奈之机，才出此下策。<br>批处理创建文件：<br><br>@ECHO OFF<br>for /R %%a in (.) do if exist %%a\.svn md %%a\.svn\tmp,%%a\.svn\props,%%a\.svn\tmp\prop-base,%%a\.svn\tmp\props,%%a\.svn\tmp\text-base<br><br>批处理删除文件<br>@ECHO OFF<br>for /R %%a in (.) do if exist %%a\.svn rd /S/Q %%a\.svn<br>。虽然问题解决了，但是总感觉很不爽，SVN体验感觉还是有些问题。
<img src ="http://www.blogjava.net/TrampEagle/aggbug/123886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2007-06-13 16:14 <a href="http://www.blogjava.net/TrampEagle/archive/2007/06/13/123886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用BigDecimal时提高系统性能的一些优化</title><link>http://www.blogjava.net/TrampEagle/archive/2006/09/25/71730.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 25 Sep 2006 06:11:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/09/25/71730.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/71730.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/09/25/71730.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/71730.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/71730.html</trackback:ping><description><![CDATA[
		<p>有时在项目开发过程中，对数值的精度要求较高时可能就会用到java.math.BigDecimal，使用时发现有些用法效率较低。<br />1：初始化一个java.math.BigDecimal时尽量用java.math.BigDecimal.valueOf(0)来替代new java.math.BigDecimal()．<br />２：比较两个java.math.BigDecimal对象时，最好用equals(),而不要进行数值转换，如：doubleValue等,测试发现凡涉及到类型转换，性能都要受到较大影响。<br />下面是自己写的一段测试代码：<br />import java.math.BigDecimal;</p>
		<p>public class TestClass {<br />  public TestClass() {<br />  }<br />  public static void main(String[] args){<br />    StringBuffer test = new StringBuffer();<br />    BigDecimal tempBig = null;<br />    long time1 = System.currentTimeMillis();<br />    for(int i=0;i&lt;200000;i++){<br />      tempBig = new BigDecimal(0);<br />      tempBig = null;<br />    }<br />    long time2 = System.currentTimeMillis();<br />    System.out.println("===="+(time2-time1)+"=======");<br />    System.out.println("====@@@@@@@@@@@@@@@@@@@@@=======");<br />    long time3 = System.currentTimeMillis();<br />    for(int i=0;i&lt;200000;i++){<br />      tempBig = BigDecimal.valueOf(0);<br />      tempBig = null;<br />    }<br />    long time4 = System.currentTimeMillis();<br />    System.out.println("===="+(time4-time3)+"=======");<br />    System.out.println("====@@@@@@@@@@@@@@@@@@@@@=======");<br />    tempBig = BigDecimal.valueOf(0);<br />    BigDecimal ddd = new BigDecimal(1);<br />    long time5 = System.currentTimeMillis();<br />    for(int i=0;i&lt;200000;i++){<br />      if(tempBig.equals(ddd)){<br />      }<br />    }<br />    long time6 = System.currentTimeMillis();<br />    System.out.println("===="+(time6-time5)+"=======");<br />    System.out.println("====@@@@@@@@@@@@@@@@@@@@@=======");<br />    long time7 = System.currentTimeMillis();<br />    for(int i=0;i&lt;200000;i++){<br />      if(tempBig.doubleValue()==0){<br />      }<br />    }<br />    long time8 = System.currentTimeMillis();<br />    System.out.println("===="+(time8-time7)+"=======");<br />    System.out.println("====@@@@@@@@@@@@@@@@@@@@@=======");<br />  }<br />}<br /></p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/71730.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-09-25 14:11 <a href="http://www.blogjava.net/TrampEagle/archive/2006/09/25/71730.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ruby on rails初体验</title><link>http://www.blogjava.net/TrampEagle/archive/2006/09/24/71531.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Sun, 24 Sep 2006 02:35:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/09/24/71531.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/71531.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/09/24/71531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/71531.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/71531.html</trackback:ping><description><![CDATA[这两天不是很忙，非常不错，很是开心，终于可以有点自己的空闲时间了<img height="20" src="http://www.blogjava.net/Emoticons/QQ/13.gif" width="20" border="0" />。不过之所以所以学习ruby，还是因为网上传得太火爆了，大有新一轮技术革命的感觉。<br />首先从网上找到了一篇ruby on rails实战，按部就班的演习一遍，发现果然是如此的简单易用，开发一个CRUD竟是如此的容易，对于我这个从事J2EE多年的编程人员来说，感触到的不仅仅是惊喜。那篇文章中有几处小bug，但是很容易的就被我调试好了，虽然我还并没有太熟悉ruby on rails或是ruby（以前也曾看过ruby语法，但API看的非常少），这样说明了它的简单易用性。以前看到一些评论说，它的开发效率是java的十倍，当时曾经嗤之以鼻，但现在感觉话虽有些夸张，但效率还是很惊人的。<br />现在把我碰到的一个问题简单写出来，以防以后查用：<br />在使用ruby命令时，如果使用ruby script\generate controller book简单的创建controller 骨架文件book_controller.rb，我们会发现，除了这个.rb文件外我们并没有生成其它文件，除了app\views\book这个空的文件夹外。然后当我们的程序运行下来后，发现页面上没有任何的样式，\public\stylesheets下也是空空如也，这时，我们可能要修改一些自己的东西，需要在book_controller.rb中新添加一些方法，要手工添加一些相应的.rhtml文件，按照说明我们在public\stylesheets下加入scaffold.css样式表，但是发现没有任何效果，这是因为.rhtml中的样式没有找到样式表，我们需要手工添加，例如：<br />&lt;head&gt;<br />&lt;link href="/stylesheets/scaffold.css" media="screen" rel="Stylesheet" type="text/css" /&gt;<br />&lt;title&gt;All books&lt;/title&gt;<br />&lt;/head&gt;<br />这样就可以自己指定样式表的位置。<br />当然，ruby on rails可以为我们做更多，我们可以使用ruby script/generate scaffold book来生成完整的框架，包括.rhtml和\public\stylesheets\scaffold.css.这时候我们会发现app\views下生成的文件夹名为books，这可能是因为我用到了表之间的一对多关联，它就自动建立了复数的文件夹名，但是数据库中的表名还是单数的，这个并没有发生变化。（之所以这样认为，是因为当我没有指明表之间的一对多关系时，生成的都是单数文件夹名，如book，当我指明后则生成了books，还没有深入了解，目前只是猜想） 。<br />app\views\books下会自动生成一套CRUD的.rhtml页面，还有一个_form.rhtml，在app\views下还会生成一个layouts文件夹，下面有一个books.rhtml页面文件，打开后会发现，里面的代码类似于一个页面模版，而其它app\views\books的CRUD的.rhtml页面上就是一些简单的函数和方法，其实，在显示时他们确实是调用books.rhtml的模版的，也可以看到，在books.rhtml中已经加载了scaffold.css，就是这一句了&lt;%= stylesheet_link_tag 'scaffold' %&gt;。就这么简单。<br />其实ruby on rails还是有非常多的东西要学习的，虽然很简单，但是要想非常好的使用还得下一番苦功夫。暂时到这里吧，希望和大家多多交流学习使用ruby on rails的新的体会。<img src ="http://www.blogjava.net/TrampEagle/aggbug/71531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-09-24 10:35 <a href="http://www.blogjava.net/TrampEagle/archive/2006/09/24/71531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用javamail发信过程中的一些问题及解决方法</title><link>http://www.blogjava.net/TrampEagle/archive/2006/05/26/48326.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Fri, 26 May 2006 06:18:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/05/26/48326.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/48326.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/05/26/48326.html#Feedback</comments><slash:comments>30</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/48326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/48326.html</trackback:ping><description><![CDATA[
		<p>今天在研究javamail发信的过程中，出现了一些小问题，现总结如下，以免后来者走些不必要的弯路，先把完整的能够正常运行的代码示例粘贴如下：<br />发邮件源代码：<br />package com.hyq.test;</p>
		<p>import java.util.Properties;<br />import javax.mail.*;<br />import javax.mail.internet.*;</p>
		<p>public class MailExample {</p>
		<p>  public static void main (String args[]) throws Exception {<br />    <br />    String host = "smtp.163.com";   //发件人使用发邮件的电子信箱服务器<br />    String from = "你自己的电子信箱";    //发邮件的出发地（发件人的信箱）<br />    String to = "收件人信箱";   //发邮件的目的地（收件人信箱）</p>
		<p>    // Get system properties<br />    Properties props = System.getProperties();</p>
		<p>    // Setup mail server<br />    props.put("mail.smtp.host", host);</p>
		<p>    // Get session<br />    props.put("mail.smtp.auth", "true"); //这样才能通过验证</p>
		<p>    MyAuthenticator myauth = new MyAuthenticator("你自己的电子信箱", "你自己的信箱密码");<br />    Session session = Session.getDefaultInstance(props, myauth);</p>
		<p>//    session.setDebug(true);</p>
		<p>    // Define message<br />    MimeMessage message = new MimeMessage(session);<br />    </p>
		<p>    // Set the from address<br />    message.setFrom(new InternetAddress(from));</p>
		<p>    // Set the to address<br />    message.addRecipient(Message.RecipientType.TO,<br />      new InternetAddress(to));</p>
		<p>    // Set the subject<br />    message.setSubject("测试程序！");</p>
		<p>    // Set the content<br />    message.setText("这是用java写的发送电子邮件的测试程序！");</p>
		<p>    message.saveChanges();</p>
		<p>      Transport.send(message);<br />    <br />  }<br />}<br /><br />校验发信人权限的方法<br />package com.hyq.test;</p>
		<p>import javax.mail.PasswordAuthentication;</p>
		<p>class MyAuthenticator<br />      extends javax.mail.Authenticator {<br />    private String strUser;<br />    private String strPwd;<br />    public MyAuthenticator(String user, String password) {<br />      this.strUser = user;<br />      this.strPwd = password;<br />    }</p>
		<p>    protected PasswordAuthentication getPasswordAuthentication() {<br />      return new PasswordAuthentication(strUser, strPwd);<br />    }<br />  }</p>
		<p>
				<br />注意：上面的事例仅为使用163信箱时发送电子邮件的方法，因为使用的host为：smtp.163.com，如源代码中：String host = "smtp.163.com";   //发件人使用发邮件的电子信箱服务器，如果使用其它的电子邮件发送，就必须在其邮件服务器上查找相应的电子邮件服务器，例如搜狐就要使用smtp.sohu.com，具体情况具体对待，都可以从所使用的邮件服务器上获得的。如果没有使用host ，也就是说，没有进行props.put("mail.smtp.host", host);设置，那么就会抛javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;的异常。当然了，如果你没有正确配置，这个异常仍然会被抛出的。<br /><br />有些邮件服务系统是不需要验证发件人的授权的，所以可以很简单的使用<br />    Session session = Session.getDefaultInstance(props, null);<br />             而不必使用<br />    props.put("mail.smtp.auth", "true"); <br />    MyAuthenticator myauth = new MyAuthenticator("你自己的电子信箱", "你自己的信箱密码");<br />    Session session = Session.getDefaultInstance(props, myauth);<br /><br />就可以发送电子邮件了，这个多为一些企事业单位的内部电子信箱系统。<br />但是对于很多门户网站上的电邮系统，如:163,sohu,yahoo等等，如果仍然简单的这样使用就会抛<br /><br />com.sun.mail.smtp.SMTPSendFailedException: 553 authentication is required,smtp8,wKjADxuAyCAfmnZE8BwtIA==.32705S2</p>
		<p>
				<br /> at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)</p>
		<p> at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)</p>
		<p> at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)</p>
		<p> at javax.mail.Transport.send0(Transport.java:169)</p>
		<p> at javax.mail.Transport.send(Transport.java:98)</p>
		<p>这样的异常，要求你必须进行授权校验，它的目的就是阻止他人任意乱发邮件，也算是为了减少垃圾邮件的出现吧。这时候，我们就要使用<br />    props.put("mail.smtp.auth", "true"); <br />    MyAuthenticator myauth = new MyAuthenticator("你自己的电子信箱", "你自己的信箱密码");<br />    Session session = Session.getDefaultInstance(props, myauth);<br /><br />这里还有一个特别注意的事情：在你使用Session.getDefaultInstance时，一定要将    props.put("mail.smtp.auth", "true"); 置为true,它默认的是false,如果你没有做这一步，虽然你使用了Session.getDefaultInstance(props, myauth);，你自己也确实    MyAuthenticator myauth = new MyAuthenticator("你自己的电子信箱", "你自己的信箱密码");但是它仍然会抛出<br />com.sun.mail.smtp.SMTPSendFailedException: 553 authentication is required,smtp8,wKjADxJA2SBrm3ZEFv0gIA==.40815S2</p>
		<p>
				<br /> at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)</p>
		<p> at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)</p>
		<p> at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)</p>
		<p> at javax.mail.Transport.send0(Transport.java:169)</p>
		<p> at javax.mail.Transport.send(Transport.java:98)<br />这样的异常。我就在这一步费了好长时间，后来才发现了这个问题，很是郁闷。不过还好，总算解决了。<br /><br />其实上面的做法只是比较简单的一种，也有很多其它的写法，如：<br />Properties props = System.getProperties();可以使用<br />Properties props = new Properties();来代替。<br /></p>
		<p>Transport.send(message);可以使用下面的代码来代替<br />      String username = "你的电子信箱用户名";<br />      String password = "你的电子信箱密码";<br />      message.saveChanges(); //    implicit with send()<br />      Transport transport = session.getTransport("smtp");<br />      transport.connect("mail.htf.com.cn", username, password);<br />      transport.sendMessage(message, message.getAllRecipients());<br />      transport.close();<br />这种方法在同时发送多封电子邮件时比较有用。<br /><br />还有一些具体的相关概念，可以查看相关的官方文档，在我查询资料时，发现了一篇文章写得相当仔细，可以加以参考：<a href="http://www.matrix.org.cn/resource/article/44/44101_JavaMail.html">http://www.matrix.org.cn/resource/article/44/44101_JavaMail.html</a><br /><br />另附上使用org.apache.commons.mail进行发电子邮件的示例：<br />import org.apache.commons.mail.SimpleEmail;<br />import org.apache.commons.mail.*;</p>
		<p>public class TestCommon {<br />  public TestCommon() {<br />  }<br />  public static void main(String[] args){<br />    SimpleEmail email = new SimpleEmail();<br />    email.setHostName("smtp.163.com");//设置使用发电子邮件的邮件服务器<br />    try {<br />      email.addTo("<a href="mailto:hnlyhyq@163.com">收件人信箱</a>");<br />      email.setAuthentication("<a href="mailto:hnlyhyq@163.com&quot;,&quot;love007">发件人信箱","发件人信箱密码</a>");<br />      email.setFrom("<a href="mailto:hnlyhyq@163.com&quot;,&quot;love007">发件人信箱</a>");<br />      email.setSubject("Test apache.commons.mail message");<br />      email.setMsg("This is a simple test of commons-email");<br />      email.send();<br />    }<br />    catch (EmailException ex) {<br />      ex.printStackTrace();<br />    }<br />  }<br />}<br /><br /><br /><br /><br /><br /></p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/48326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-05-26 14:18 <a href="http://www.blogjava.net/TrampEagle/archive/2006/05/26/48326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Weblogic上配置Hibernate为JNDI的一种简单方法</title><link>http://www.blogjava.net/TrampEagle/archive/2006/05/19/46985.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Fri, 19 May 2006 02:31:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/05/19/46985.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/46985.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/05/19/46985.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/46985.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/46985.html</trackback:ping><description><![CDATA[
		<p>现在网上流传的关于Weblogic上配置Hibernate为JNDI的方法多是robbin写的<br /><a href="http://forum.javaeye.com/viewtopic.php?t=245">http://forum.javaeye.com/viewtopic.php?t=245</a>。google了好久，发现都大同小异，几乎都是一个模版，没办法，天下文章本就是一大抄，今天你抄我，明天我抄你。我是一个很懒的人，一看到那么复杂的配置（主要是Weblogic启动脚本的修改），头就大了，也没有试下去的勇气了，以前倒好说，毕竟没有用到容器托管，如今用到了，自然也不能置之不理。就找点资料，自己测试，发现可以通过实现ServletContextListener接口来加载配置文件，从而达到自己的需求。以下是源代码和配置文件：</p>
		<p>hibernate.cfg.xml如下（我没有使用资源文件）：</p>
		<p>&lt;?xml version='1.0' encoding='utf-8'?&gt;<br />&lt;!DOCTYPE hibernate-configuration PUBLIC<br />        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"<br />        "<a href="http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd</a>"&gt;</p>
		<p>&lt;hibernate-configuration&gt;</p>
		<p>    &lt;session-factory name="hibernate.session_factory"&gt;</p>
		<p>        &lt;!-- Database connection settings --&gt;<br />        &lt;!--property name="connection.driver_class"&gt;oracle.jdbc.driver.OracleDriver&lt;/property&gt;<br />        &lt;property name="connection.url"&gt;jdbc:oracle:thin:@localhost:1521:hyq&lt;/property&gt;<br />        &lt;property name="connection.username"&gt;hyq&lt;/property&gt;<br />        &lt;property name="connection.password"&gt;hyq&lt;/property--&gt;<br />       &lt;property name="connection.datasource"&gt;TestDS&lt;/property&gt;</p>
		<p>        &lt;!-- JDBC connection pool (use the built-in) --&gt;<br />        &lt;property name="connection.pool_size"&gt;1&lt;/property&gt;</p>
		<p>        &lt;!-- SQL dialect --&gt;<br />        &lt;property name="dialect"&gt;org.hibernate.dialect.Oracle9Dialect&lt;/property&gt;</p>
		<p>        &lt;!-- Enable Hibernate's automatic session context management --&gt;<br />        &lt;property name="current_session_context_class"&gt;thread&lt;/property&gt;</p>
		<p>        &lt;!-- Disable the second-level cache  --&gt;<br />        &lt;property name="cache.provider_class"&gt;org.hibernate.cache.NoCacheProvider&lt;/property&gt;</p>
		<p>        &lt;!-- Echo all executed SQL to stdout --&gt;<br />        &lt;property name="show_sql"&gt;true&lt;/property&gt;</p>
		<p>        &lt;!-- Drop and re-create the database schema on startup --&gt;<br />        &lt;!--property name="hbm2ddl.auto"&gt;create&lt;/property--&gt;</p>
		<p>        &lt;mapping resource="com/hyq/src/common/UserVO.hbm.xml"/&gt;</p>
		<p>    &lt;/session-factory&gt;</p>
		<p>&lt;/hibernate-configuration&gt;</p>
		<p>注意：此处我使用的connection.datasource为：TestDS。这是因为我在weblogic中配置的数据源就是TestDS。这里要和你配置的数据源保持一致。</p>
		<p>实现监听接口的方法如下（通过此方法完成配置文件的加载，从而达到发布jndi的目的）：<br />package com.hyq.src.servlets;</p>
		<p>import org.hibernate.SessionFactory;<br />import org.hibernate.cfg.Configuration;<br />import javax.servlet.ServletContextEvent;<br />import javax.servlet.ServletContextListener;</p>
		<p>public class HibernateInit<br />    implements ServletContextListener {<br />  public void contextDestroyed(ServletContextEvent servletContextEvent) {<br />  }</p>
		<p>  public void contextInitialized(ServletContextEvent servletContextEvent) {<br />    try {<br />      Configuration conf = new Configuration().configure();<br />      SessionFactory sf = conf.buildSessionFactory();<br />    }<br />    catch (Exception e) {<br />      e.printStackTrace();<br />    }<br />  }<br />}</p>
		<p>实现ServletContextListener接口后要在web.xml中进行配置，如下：<br />  &lt;listener&gt;<br />     &lt;listener-class&gt;com.hyq.src.servlets.HibernateInit&lt;/listener-class&gt;<br />  &lt;/listener&gt;<br />注意：要加载在&lt;servlet&gt;之前。</p>
		<p>获取SessionFactory的方法如下：<br />package com.hyq.src.util;</p>
		<p>import org.hibernate.SessionFactory;<br />import javax.naming.Context;<br />import javax.naming.InitialContext;<br />public class HibernateUtil {<br />  public HibernateUtil() {<br />  }<br />  private static final SessionFactory sessionFactory;</p>
		<p>      static {<br />          try {<br />            Context ctx = new InitialContext();<br />              sessionFactory = (SessionFactory) ctx.lookup("hibernate/session_factory");<br />          } catch (Throwable ex) {<br />              System.err.println("Initial SessionFactory creation failed." + ex);<br />              throw new ExceptionInInitializerError(ex);<br />          }<br />      }</p>
		<p>      public static SessionFactory getSessionFactory() {<br />          return sessionFactory;<br />  }<br />}<br />然后就可以在其他方法中使用SessionFactory 了，如：<br />    Session session = HibernateUtil.getSessionFactory()<br />        .getCurrentSession();<br />    session.beginTransaction();<br />    request.setAttribute("message","已经成功运行！");<br />    UserVO userVO = new UserVO();<br />    userVO.setUser_name("TrampEagle");<br />    session.save(userVO);<br />    session.getTransaction().commit();</p>
		<p>具体完整的示例：<a class="" title="" href="/Files/TrampEagle/HIbernateJNDIt.rar" target="">HibernateJNDI源代码</a></p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/46985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-05-19 10:31 <a href="http://www.blogjava.net/TrampEagle/archive/2006/05/19/46985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java对oracle9i中CLOB类型的操作</title><link>http://www.blogjava.net/TrampEagle/archive/2006/05/16/46334.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Tue, 16 May 2006 01:57:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/05/16/46334.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/46334.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/05/16/46334.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/46334.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/46334.html</trackback:ping><description><![CDATA[
		<p>这是一个完整的使用java对oracle9i的操作，其实，使用oracle10g后，操作将非常方便，但现在由于仍在使用oracle9i，所以不得不忍受这种痛苦。现将对oracle9i中CLOB类型的操作，完整记录于此，权作自己的学习笔记吧。<br /><br />第一种情况：没有服务器，单独使用java直接连接数据库时：<br /><br />package com.hyq.test;</p>
		<p>import java.sql.SQLException;<br />import java.sql.*;</p>
		<p>import java.sql.ResultSet;<br />import oracle.sql.CLOB;</p>
		<p>public class ManageOracleCLOB {<br />  public ManageOracleCLOB() {<br />  }</p>
		<p>  public static void main(String[] args) {</p>
		<p>    String driver = "oracle.jdbc.driver.OracleDriver";</p>
		<p>    String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521: HYQ";</p>
		<p>    Statement stmt = null;</p>
		<p>    ResultSet rs = null;</p>
		<p>    Connection conn = null;<br />    <br />    ManageOracleCLOB manageOracleCLOB = null;</p>
		<p>    try {</p>
		<p>      Class.forName(driver);</p>
		<p>      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());</p>
		<p>      conn = DriverManager.getConnection(strUrl, "HYQ", "HYQ");<br />      <br />      manageOracleCLOB = new ManageOracleCLOB();<br />      //获取下一个标识符id<br />      long nextId = manageOracleCLOB.getNextId(conn);<br />//      long nextId = 1;<br />      //添加记录<br />      manageOracleCLOB.add(conn,nextId);<br />      //修改记录<br />//      manageOracleCLOB.modify(conn,nextId);<br />      //获取记录<br />//      manageOracleCLOB.find(conn,nextId);<br />      //删除记录<br />//      manageOracleCLOB.delete(conn,nextId);<br />      <br />      conn.close();<br />    }</p>
		<p>    catch (SQLException ex2) {</p>
		<p>      ex2.printStackTrace();</p>
		<p>    }</p>
		<p>    catch (Exception ex2) {</p>
		<p>      ex2.printStackTrace();</p>
		<p>    }<br />    finally {</p>
		<p>      try {</p>
		<p>        if (rs != null) {</p>
		<p>          rs.close();</p>
		<p>          if (stmt != null) {</p>
		<p>            stmt.close();</p>
		<p>          }</p>
		<p>          if (conn != null) {</p>
		<p>            conn.close();</p>
		<p>          }</p>
		<p>        }</p>
		<p>      }</p>
		<p>      catch (SQLException ex1) {</p>
		<p>      }</p>
		<p>    }</p>
		<p>  }</p>
		<p>  /**<br />   * add<br />   *<br />   * @param conn Connection<br />   * @param hyq long<br />   */<br />  public void add(Connection conn, long hyq) {<br />    CLOB ad = null;<br />    PreparedStatement pstmt = null;<br />    try {<br />      conn.setAutoCommit(false);</p>
		<p>      pstmt = conn.prepareStatement("INSERT INTO S_PROCLAIM_TEST (PROCLAIM_ID,PROCLAIM_TITLE,PROCLAIM_CONTENT) VALUES (?,?,'" +<br />                                    CLOB.empty_lob() + "')");</p>
		<p>      pstmt.setLong(1, hyq);<br />      pstmt.setString(2, "第一次的尝试！");</p>
		<p>      pstmt.executeUpdate();</p>
		<p>      pstmt.close();</p>
		<p>      pstmt = conn.prepareStatement(<br />          "select PROCLAIM_CONTENT from S_PROCLAIM_TEST where PROCLAIM_ID= ? for update");</p>
		<p>      pstmt.setLong(1, hyq);</p>
		<p>      ResultSet rset = pstmt.executeQuery();<br />      if (rset.next()) {<br />        ad = (CLOB) rset.getClob(1);<br />      }<br />      pstmt = conn.prepareStatement(<br />          "UPDATE S_PROCLAIM_TEST SET PROCLAIM_CONTENT=? WHERE PROCLAIM_ID=?");<br />      String hyqTa = "hyq冬季到台北来看雨，别在异乡哭泣。也许有一天上天睁开了眼，看到你哭泣的脸和早已凋谢了的容颜，本想安慰你伤痛的内心却忍不住泪流满面。你是风儿它是沙，疯疯癫癫到天涯。";<br />      ad.putString(1, hyqTa);</p>
		<p>      pstmt.setClob(1, ad);<br />      pstmt.setLong(2, hyq);</p>
		<p>      pstmt.executeUpdate();<br />      pstmt.close();</p>
		<p>      conn.commit();<br />      ad = null;<br />    }<br />    catch (SQLException ex) {<br />      ex.printStackTrace();<br />    }<br />    finally {<br />      if (pstmt != null) {<br />        try {<br />          pstmt.close();<br />        }<br />        catch (SQLException ex1) {<br />        }<br />        pstmt = null;<br />      }<br />    }</p>
		<p>  }</p>
		<p>  /**<br />   * modify<br />   *<br />   * @param conn Connection<br />   * @param hyq long<br />   */<br />  public void modify(Connection conn, long hyq) {<br />    CLOB ad = null;<br />    PreparedStatement pstmt = null;<br />    try {<br />      <br />      conn.setAutoCommit(false);<br />      <br />      pstmt = conn.prepareStatement(<br />          "select PROCLAIM_CONTENT from S_PROCLAIM_TEST where PROCLAIM_ID= ? for update");</p>
		<p>      pstmt.setLong(1, hyq);</p>
		<p>      ResultSet rset = pstmt.executeQuery();<br />      if (rset.next()) {<br />        ad = (CLOB) rset.getClob(1);<br />      }<br />      pstmt.close();<br />      pstmt = conn.prepareStatement(<br />          "UPDATE S_PROCLAIM_TEST SET PROCLAIM_CONTENT=? WHERE PROCLAIM_ID=?");<br />      String hyqTa = "这两天做一个小东西，要求将一个文件打包到.war文件中，然后还要将这个文件从.war包中读取出来，并在服务器硬盘上重新建一个新的文件。本来很简单的东西，却浪费了不少时间，写出来，做一下笔记，同时给那些需要的朋友提供一下参考，下面是我写的一个示例，在servlet中写的";<br />      ad.putString(1, hyqTa);</p>
		<p>      pstmt.setClob(1, ad);<br />      pstmt.setLong(2, hyq);</p>
		<p>      pstmt.executeUpdate();<br />      pstmt.close();</p>
		<p>      conn.commit();<br />      ad = null;<br />    }<br />    catch (SQLException ex) {<br />      ex.printStackTrace();<br />    }<br />    finally {<br />      if (pstmt != null) {<br />        try {<br />          pstmt.close();<br />        }<br />        catch (SQLException ex1) {<br />        }<br />        pstmt = null;<br />      }<br />    }<br />  }</p>
		<p>  /**<br />   * find<br />   *<br />   * @param conn Connection<br />   * @param hyq long<br />   */<br />  public void find(Connection conn, long hyq) {<br />    Clob aa = null;<br />    PreparedStatement pstmt = null;<br />    try {<br />      pstmt = conn.prepareStatement(<br />          "select PROCLAIM_CONTENT from S_PROCLAIM_TEST where PROCLAIM_ID= ?");<br />      pstmt.setLong(1, hyq);<br />      ResultSet rset2 = pstmt.executeQuery();<br />      if (rset2.next()) {<br />        aa = rset2.getClob(1);<br />      }<br />      conn.commit();<br />      String content = aa.getSubString(1, (int) aa.length());<br />      System.out.println("==hyq==getContent===" + content);<br />    }<br />    catch (SQLException ex) {<br />      ex.printStackTrace();<br />    }<br />    finally {<br />      if (pstmt != null) {<br />        try {<br />          pstmt.close();<br />        }<br />        catch (SQLException ex1) {<br />        }<br />        pstmt = null;<br />      }<br />    }<br />  }</p>
		<p>  /**<br />   * delete<br />   *<br />   * @param conn Connection<br />   * @param hyq long<br />   */<br />  public void delete(Connection conn, long hyq) {<br />    PreparedStatement pstmt = null;<br />    try {<br />      pstmt = conn.prepareStatement(<br />          "DELETE FROM S_PROCLAIM_TEST WHERE PROCLAIM_ID = ?");<br />      pstmt.setLong(1, hyq);<br />      pstmt.executeQuery();<br />    }<br />    catch (SQLException ex) {<br />      ex.printStackTrace();<br />    }<br />    finally {<br />      if (pstmt != null) {<br />        try {<br />          pstmt.close();<br />        }<br />        catch (SQLException ex1) {<br />        }<br />        pstmt = null;<br />      }<br />    }<br />  }</p>
		<p>  /**<br />   * getNextId<br />   *<br />   * @param conn Connection<br />   * @return long<br />   */<br />  public long getNextId(Connection conn) {<br />    long nextProclaimId = 0;<br />    PreparedStatement pstmt = null;<br />    ResultSet rs = null;<br />    String sqlStr = "SELECT MAX(PROCLAIM_ID) FROM  S_PROCLAIM_TEST";<br />    try {<br />      try {<br />        pstmt = conn.prepareStatement(sqlStr);<br />        rs = pstmt.executeQuery();<br />        if (rs != null &amp;&amp; rs.next()) {<br />          if (rs.getString(1) != null) {<br />            nextProclaimId = Long.parseLong(rs.getString(1))+1;<br />          }<br />          else {<br />            nextProclaimId = 1;<br />          }<br />        }<br />        else {<br />          nextProclaimId = 1;<br />        }<br />      }<br />      catch (SQLException ex) {<br />        ex.printStackTrace();<br />      }<br />    }<br />    finally {<br />      if (rs != null) {<br />        try {<br />          rs.close();<br />        }<br />        catch (SQLException ex1) {<br />        }<br />        rs = null;<br />      }<br />      if (pstmt != null) {<br />        try {<br />          pstmt.close();<br />        }<br />        catch (SQLException ex2) {<br />        }<br />        pstmt = null;<br />      }<br />    }<br />    return nextProclaimId;<br />  }</p>
		<p>}<br /><br />第二种：使用weblogic服务器时出现的问题<br /><br />使用webligic时，在上面的方法中(CLOB) rset.getClob(1);这一行会报错java.lang.ClassCastException  ，说是类型转换错误。很郁闷。修改结果是，去掉CLOB类型，使用weblogic自带的<font size="2">weblogic.jar（可以在weblojic的安装目录下找到），使用weblogic的weblogic.jdbc.vendor.oracle.OracleThinClob。代码如下：<br /><br />weblogic.jdbc.vendor.oracle.OracleThinClob clob = null;</font><br /><font size="2">ad= (OracleThinClob)tempRset.getClob(1);//替换掉<font size="3">ad = (CLOB) rset.getClob(1);<br /></font><br />然后添加时还要进行类型转换：pstmt.setClob(1,(Clob)ad);<br /><br />这样一切就OK了！<br /><br />真是麻烦之极！<br /><br />第三种：使用tomcat连接池的问题<br /><br />在使用jbuilder编译时，会出现一个classes12.jar，把lib下的classes12.jar（oracle包）删除就可以了。<br /></font><br /></p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/46334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-05-16 09:57 <a href="http://www.blogjava.net/TrampEagle/archive/2006/05/16/46334.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Marquee标签属性详解</title><link>http://www.blogjava.net/TrampEagle/archive/2006/05/12/45868.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Fri, 12 May 2006 08:50:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/05/12/45868.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/45868.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/05/12/45868.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/45868.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/45868.html</trackback:ping><description><![CDATA[
		<p>
				<font face="宋体">
						<span lang="EN-US">Marquee</span>标记用于在可用浏览区域中滚动文本。这个标记只适用于<span lang="EN-US">IE3</span>以后的版的浏览器：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　格式：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">ALIGN="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">BEHAVIOR="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">BGCOLOR="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">DIRECTION="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">HEIGHT="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">WIDTH="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">HSPACE="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">VSPACE="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">LOOP="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">SCROLLAMOUNT="…"</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">SCROLLDELAY="…"</span>　</font>
				<span lang="EN-US">
						<br />
						<font face="宋体">ONMOUSEOUT=this.start() <br />ONMOUSEOVER=this.stop()<br /></font>
				</span>
				<font face="宋体">　　　　<span lang="EN-US">]…</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　属性：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">ALIGN</span>：用于按设定的值对齐滚动的文本。<span lang="EN-US">ALIGN</span>可以设定的值有：<span lang="EN-US">LEFT</span>，<span lang="EN-US">CENTER</span>，<span lang="EN-US">RIGHT</span>，</font>
				<font face="宋体">
						<span lang="EN-US">TO<br />P</span>，<span lang="EN-US">BOTTOM</span>。此属性不是必须使用的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">ALIGN="TOP"] </span>这段滚动文字设定为上对齐<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">BEHAVIOR</span>：可以在页面上一旦出现文本时让浏览器按照设定的方法来处理文本。如果设定的方法是</font>
				<font face="宋体">
						<span lang="EN-US">SLI<br />DE</span>，那么文本就移动到文档上，并停留在页边距上。如果设定为<span lang="EN-US">ALTERNATE</span>，则文本从一边移动到另一边。如</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">果设定为<span lang="EN-US">SCROLL</span>，文本将在页面上反复滚动。本属性不是必须使用的。可以设定的值有：<span lang="EN-US">SILIDE</span>，</font>
				<font face="宋体">
						<span lang="EN-US">ALTERNAT<br />E</span>，<span lang="EN-US">SCROLL</span>。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">BEHAVIOR="ALTERNATE"] </span>文字从一边移动到另一边<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">BGCOLOR</span>：用于设定字幕的背景颜色。背景颜色可用<span lang="EN-US">RGB</span>、<span lang="EN-US">16</span>进制值的格式或颜色名称来设定。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">BGCOLOR="RED"]</span>用颜色名称设定滚动文字背景颜色为红色<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">BGCOLOR="#FF0000" ]</span>用<span lang="EN-US">16</span>进制值设定滚动文字背景颜色为红色<span lang="EN-US"> [/MARQUEE] </span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">BGCOLOR=RGB(100%,0%,0%)] </span>用<span lang="EN-US">RGB</span>设定滚动文字背景颜色为红色</font>
				<font face="宋体">
						<span lang="EN-US"> [/MARQUE<br />E] </span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">DIRECTION</span>：用于设定文本滚动的方向，可以设定的值有：<span lang="EN-US">LEFT</span>，<span lang="EN-US">RIGHT</span>。此属性不是必须使用的。</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US"> [MARQUEE</span>　<span lang="EN-US">DIRECTION="LEFT" ]</span>文字向左边滚动<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US"> [MARQUEE</span>　<span lang="EN-US">DIRECTION="RIGHT" ]</span>文字向右边滚动<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　</font>
				<span lang="EN-US">
						<br />
						<font face="宋体">HEIGHT</font>
				</span>
				<font face="宋体">：用于设定滚动字幕的高度，高度可用像素或可视页面的百分比来表示。此属性不是必须使用的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">HEIGHT="10%"] </span>滚动字幕的高度是可视页面的<span lang="EN-US">10%[ /MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">HEIGHT="12" ]</span>滚动字幕的高度是<span lang="EN-US">12</span>像素<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">WIDTH</span>：用于设定字幕的宽度，宽度可用像素或可视页面的百分比来表示。此属性不是必须使用的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">WIDTH="90%"] </span>滚动字幕的宽度是可视页面的<span lang="EN-US">90% [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">WIDTH="200" ]</span>滚动字幕的宽度是<span lang="EN-US">200</span>像素<span lang="EN-US"> [/MARQUEE</span>　</font>
				<font face="宋体">
						<span lang="EN-US">]<br /></span>　　　　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">HSPACE</span>：用于设定滚动字幕左右的空白空间，空白空间用像素表示。此属性不是必须使用的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">HSPACE="15" ]</span>滚动字幕左右空白空间为<span lang="EN-US">15</span>个像素<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">VSPACE</span>：用于设定滚动字幕上下的空白空间，空白空间用像素表示。此属性不是必须使用的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">VSPACE="2"] </span>滚动字幕上下的空白空间为<span lang="EN-US">2</span>个像素<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">LOOP</span>：用于设定滚动字幕的滚动次数。当<span lang="EN-US">LOOP</span>的值为<span lang="EN-US">"INFINITE"</span>或是<span lang="EN-US">"-1"</span>时，则文字会无限制地滚</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">动。此属性不是必须使用的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">LOOP="-1" ]</span>文字滚动无数次<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">LOOP="5" ]</span>文字滚动<span lang="EN-US">5</span>次<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">SCROLLAMOUNT</span>：用于设定每个连续滚动文本后面的间隔，该间隔用像素表示。此属性不是必须使用</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">SCROLLAMOUNT="10"] </span>此文本后面的间隔为<span lang="EN-US">10</span>个像素<span lang="EN-US"> [/MARQUEE]</span>　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　　　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">SCROLLDELAY</span>：用于设定两次滚动操作之间的间隔时间，该时间以毫秒为单位。此属性不是必须使用</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">的。　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　例：　</font>
				<span lang="EN-US">
						<br />
				</span>
				<font face="宋体">　　　　<span lang="EN-US">[MARQUEE</span>　<span lang="EN-US">SCROLLDELAY="5"] </span>此文本两次滚动之间的间隔时间为<span lang="EN-US">5</span>毫秒</font>
				<font face="宋体">
						<span lang="EN-US"> [/MARQUEE]<br /><br />ONMOUSEOUT=this.start() </span>：用来设置鼠标移出该区域时继续滚动</font>
				<span lang="EN-US">
						<br />
						<font face="宋体">ONMOUSEOVER=this.stop()</font>
				</span>
				<font face="宋体">：用来设置鼠标移入该区域时停止滚动</font>
				<span lang="EN-US">
						<br />
						<br />
				</span>
				<font face="宋体">现举如下事例：</font>
				<span lang="EN-US">
						<br />
						<font face="宋体">       &lt;marquee direction=up behavior=scroll scrollamount=3 scrolldelay=100 align=top bgcolor=#321654 height=150 width=100% hspace=0 vspace=5 onmouseover=this.stop() onmouseout=this.start() src="update.htm"&gt;<br />        &lt;p align='center'&gt;&lt;a hrer="#" onclick="alert('ddd')"&gt;</font>
				</span>
				<font face="宋体">第二条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/a&gt;&lt;/p&gt;<br />        &lt;p align='center'&gt;</span>第一条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/p&gt;<br />        &lt;p align='center'&gt;</span>第二条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/p&gt;<br />        &lt;p align='center'&gt;</span>第三条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/p&gt;<br />        &lt;p align='center'&gt;</span>第四条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/p&gt;<br />        &lt;p align='center'&gt;</span>第五条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/p&gt;<br />       &lt;/marquee&gt;<br /></span>如上面事例<span lang="EN-US">,</span>如果想添加滚动内容的链接，可以使用上面的方法。近来看到一个从外部导入<span lang="EN-US">html</span>的使用这个属性的事例，一并整理修改附加如下（不知原作者为谁，甚为抱歉）：</font>
				<span lang="EN-US">
						<br />
						<font face="宋体">&lt;html&gt;<br />   &lt;head&gt;<br />         &lt;title&gt;</font>
				</span>
				<font face="宋体">使用<span lang="EN-US">marquee</span>从外部导入<span lang="EN-US">html</span>页面</font>
				<span lang="EN-US">
						<font face="宋体">&lt;/title&gt;<br />   &lt;/head&gt;<br />   &lt;body&gt;<br />        &lt;table&gt;<br />                &lt;tr&gt;<br />                     &lt;td&gt;<br />             &lt;marquee id="externalmarquee" direction=up scrollAmount=4 style="width:100%px;height:150px;border:1px solid black;padding:3px" onMouseover="this.scrollAmount=2" onMouseout="this.scrollAmount=4" src="update.htm"&gt;&lt;/marquee&gt;<br />                     &lt;/td&gt;<br />                 &lt;/tr&gt;<br />        &lt;/table&gt;<br />   &lt;/body&gt;<br />&lt;/html&gt;<br />&lt;!--[if IE]&gt;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></font>
				</span>
		</p>
		<p>
				<span lang="EN-US">
						<font face="宋体">&lt;IE:Download ID="marqueedata" STYLE="behavior:url(#default#download)" /&gt; <o:p></o:p></font>
				</span>
		</p>
		<p>
				<span lang="EN-US">
						<font face="宋体"> <o:p></o:p></font>
				</span>
		</p>
		<p>
				<span lang="EN-US">
						<font face="宋体">&lt;script language="JavaScript1.2"&gt;<o:p></o:p></font>
				</span>
		</p>
		<p>
				<span lang="EN-US">
						<font face="宋体">function downloaddata(){<br />marqueedata.startDownload(externalmarquee.src,displaydata)<br />}<o:p></o:p></font>
				</span>
		</p>
		<p>
				<span lang="EN-US">
						<font face="宋体">function displaydata(data){<br />externalmarquee.innerHTML=data<br />}<o:p></o:p></font>
				</span>
		</p>
		<p>
				<span lang="EN-US">
						<font face="宋体">if (document.all)<br />window.onload=downloaddata<o:p></o:p></font>
				</span>
		</p>
		<p>
				<span lang="EN-US">
						<br />
						<font face="宋体">&lt;/script&gt;<o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN-BOTTOM: 12pt">
				<font face="宋体">
						<span lang="EN-US">&lt;![endif]--&gt;<br /></span>另一个页面<span lang="EN-US">update.htm</span>内容就是你想滚动显示的内容，例如：</font>
				<span lang="EN-US">
						<br />
						<font face="宋体">      &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" class="table_output1"&gt;<br />       &lt;tr&gt;<br />        &lt;td&gt;</font>
				</span>
				<font face="宋体">第一条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/td&gt;<br />       &lt;/tr&gt;<br />       &lt;tr&gt;<br />        &lt;td&gt;</span>第一条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/td&gt;<br />       &lt;/tr&gt;<br />       &lt;tr&gt;<br />        &lt;td&gt;</span>第一条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/td&gt;<br />       &lt;/tr&gt;<br />       &lt;tr&gt;<br />        &lt;td&gt;</span>第一条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/td&gt;<br />       &lt;/tr&gt;<br />       &lt;tr&gt;<br />        &lt;td&gt;</span>第一条公告</font>
				<font face="宋体">
						<span lang="EN-US">&lt;/td&gt;<br />       &lt;/tr&gt;<br />       &lt;tr&gt;<br />        &lt;td&gt;</span>第一条公告</font>
				<span lang="EN-US">
						<font face="宋体">&lt;/td&gt;<br />       &lt;/tr&gt;<br />      &lt;/table&gt; <o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<p> </p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/45868.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-05-12 16:50 <a href="http://www.blogjava.net/TrampEagle/archive/2006/05/12/45868.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>经典管理（转载）</title><link>http://www.blogjava.net/TrampEagle/archive/2006/05/09/45205.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Tue, 09 May 2006 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/05/09/45205.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/45205.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/05/09/45205.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/45205.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/45205.html</trackback:ping><description><![CDATA[
		<font face="宋体" color="#333333">原文引自：<a href="http://www.ndrcms.edu.cn/bbs/dispbbs.asp?boardID=3&amp;RootID=0&amp;ID=11103&amp;skin=1">http://www.ndrcms.edu.cn/bbs/dispbbs.asp?boardID=3&amp;RootID=0&amp;ID=11103&amp;skin=1</a><br /><br />地主的奋斗 <br />古代，有一个地主，家有良田百亩，算是一个小地主，他家一共雇佣了4个雇农，都属于长工性质，主要负责田地的耕种。 <br />　　开始，地主按照传统的方式对雇农采用高压政策，雇佣了一个护卫作为监工，现场监督雇农劳作，雇农稍有懈怠就会招来监工的一顿鞭打。雇农们非常气愤，经常聚集在一起声讨地主，一致达成默契，表面服从，但暗地里都不努力劳动，一有可能就磨洋工。 　 </font>
		<p>
		</p>
		<p>　　一年下来，收成比别家低了许多，地主一怒之下，认为护卫监工不力，便换了个护卫，由于成本问题，他不可能雇佣更多的人来做监工。第二年收成依然下降，而且还发生了雇农集体罢工事件。 　 </p>
		<p>　　地主气不打一处来，将监工和雇农全部拿下，并增加了四个雇农，他们分别是张三、李四、王五、赵六，同时地主亲自参与监督雇农的劳作，但情况丝毫没有转变，到了年底收成依然达不到理想水平。 　 </p>
		<p>　　地主苦恼极了，正在此时，一个西方的传教士来到这个封闭的山庄，经过与传教士的深层次交流，地主深感资本主义的先进性，他转变成为了新兴派人物，同时落实到实际情况上，他辞退了监工，并强调给予雇农们充分人权和自由，保证不再采用强制性的高压政策，而采用固定工资制并制定了详细的规章制度。 　 </p>
		<p>　　规章制度规定雇农们每日鸡叫必须起床，太阳升起之前必须上岗劳动，中午太阳烈时可以在树荫下休息一个时辰，太阳落山了才能够收工。上工和收工都必须在地主家按拇指印，考虑到雇农还得照顾家庭，地主规定雇农每隔5天可以休息2天，但条件是不得耽误农活。 　 </p>
		<p>　　凡违反劳动记录，一次迟到或早退扣罚当天工资，一次旷工扣罚10天工资，一年累计5次旷工（三次迟到或早退算一次旷工，缺少一个拇指印按半次旷工处理）做自动离职处理。劳动期间不准偷懒和晒太阳，凡发现者一律按迟到论处。 　 </p>
		<p>　　由于地主提供的薪金极具挑战性，而且按月提供，不至于青黄不接，雇农们欣喜若狂，纷纷表示一定要努力工作，以报答地主的大恩大德。 　 </p>
		<p>　　当年土地收成提高了50%，地主看到民主管理带来的巨大收益，高兴得嘴都笑不合拢。兴奋之余，他决定扩大生产规模，于是向其他地主购买了100亩土地，另外又招聘了周七、武八两个雇农，准备大干一场。 　 </p>
		<p>　　一切照旧，想象着年底丰厚的收成，地主经常从睡梦中笑醒，日子一天天过去，年底来了，收成汇总下来，在新增100亩地和两个人的情况下，收入仅仅增长了10%.地主气急败坏，把雇农们召集起来，开了一个声色俱厉的批判大会。大会会场悬挂了一幅大大的横幅上书一行大字“今天不努力耕作，明天就努力找耕作”让人看了胆战心惊、不寒而栗。 　 </p>
		<p>　　会上地主在深刻批判了雇农们的懒惰和无能后，宣布今年年终最后一个月的工资全部扣罚。 　 </p>
		<p>　　这一下子向捅了马蜂窝一样，大家纷纷表示不满和抗议，地主用手指朝横幅一指，丢下一句话“谁不想干，立马走人”转身便走。大家象焉了的茄子一般，都不讲话。 　 </p>
		<p>　　会后，张三、李四和王五在一起打“斗地主”，一边打，一边骂地主狠心，让他们过年都没有钱拿回家，这下子回家不被老婆骂死才怪。 　 </p>
		<p>　　一番发泄之后他们决定分头去找地主说情。 　 </p>
		<p>　　张三首先出发，找到地主诉苦说他们四个人本来干得好好的，由于新来的周七、武八两个人平时工作不努力，一有机会就偷懒，而每个月工资和大家拿得一样多，时间长了大家觉得心里不公平，于是便纷纷开始偷懒，所以才造成了收成下降的原因。 　 </p>
		<p>　　地主勃然大怒，决定找其他人来确认此事，他决心一旦落实此事，定当对当事人予以重罚。 　 </p>
		<p>　　张三走后，李四旋即来找地主反映情况，地主当即核实了周七、武八的事情，情况基本与张三讲的一致。 　 </p>
		<p>　　李四走后，王五也找地主谈心来了，除了张三、李四提及的问题外，他还提到了另外一个情况，说他有一次看到隔壁家的牛来吃庄稼，他去赶的时候被牛角顶破了腿，第二天没有能够来上班，被地主扣罚了10天的工资，于是以后他看见别家的牛吃庄稼就再也不管了。地主哼他一顿道“当时你为什么不声明理由呢？”王五说“我本来准备说的，但你当时气急败坏的样子把我吓慌了，就没有讲，过后也没有机会再说”。 　 </p>
		<p>　　地主想，接下来该赵六来了，谁知等了一天却没有等到。地主等不及了，正准备召开员工大会，宣布对周七和武八的处分决定。俩人同时来找地主了，地主将他们大声责罚一番，两人大呼冤枉，说张三、李四他们仗着是老员工，资历老，人数多，平时经常欺负他们，自己从不好好劳动，还嘲笑他们俩踏实肯干是傻冒，还说他们经常在地主去视察的时候装着勤劳的样子。 　 </p>
		<p>　　地主晕了，一下子分不清真伪，将六人找来当面对质，大家除了吵成一团外，没有解决丝毫的问题。 <br />地主被吵得不行，恍惚中似乎发现了问题的症结所在，他决定推行承包制，将土地划分为六份，采用招标的方式，根据土地的肥沃程度和面积大小以及耕种难度等指标，由地主事先根据往年的指标核定一个最低土地收益，由六人投标竟价，最后价高者承包成功，以此类推，直到最后一块土地。 　 </p>
		<p>　　雇农们似乎对此都表示了极大的热情，投标当天，他们六人共同用竹竿支撑起一条更大更醒目的横幅，上书“地主，地主我爱你，我们永远支持你！”。地主看到横幅，前段时间的不快一扫而光，笑眯了双眼看着大家，大家回报给他的是自信而激昂向上的眼光。 　 </p>
		<p>　　招标非常成功在经过激烈的竟标之后大家都获得了比较满意的结果。 　 </p>
		<p>　　会场散去，地主的目光中散发出一种醉人的芬芳，他仿佛又看到了明年谷物满仓的丰收景象。 　 </p>
		<p>　　刚开始，地主不放心，不时的到田间地头去转转，看见大家都在辛勤的耕种，庄稼一块比一块好，地主终于放下了心，在传教士朋友的邀请下，他们一起去游历祖国大好的河山，一去就是大半年。 　 </p>
		<p>　　年底地主回到家里，看到自家的谷仓里面装满了稻谷、玉米等粮食，看到老婆脸上灿烂的笑容，不用说，今年的收成好得不得了。 　 </p>
		<p>　　一算下来，“哇”，地主禁不住跳了起来，今年的净收益比上年增长了100%，雇农们全部完成定额，每人还主动多贡献了20%.地主尝试到了包产到户的甜头，决心将事业做大做强，他发誓要做乡里，不，县里、省里最大的地主。 　 </p>
		<p>　　可是地主没有多余的钱大规模买地，怎么办？ 　 </p>
		<p>　　地主苦恼不已。 　 </p>
		<p>　　第二天一开门，“哇”，门口站满了大大小小的地主们，他们每个人的额上都用血书写着“来吧，兼并我吧！” 　 </p>
		<p>　　原来，大大小小的地主们看到地主取得了如此巨大的成绩，纷纷表示愿意用自有土地入股，与地主一起发展壮大。 　 </p>
		<p>　　经过仔细挑选，地主选定了地主甲、地主乙、地主丙三个当地最有名的大地主作为战略合作伙伴，成立了一个土地合作经营联社，又地主出任社长负责日常经营，地主甲、地主乙、地主丙作为副社长，重大经营决策必须有三票以上同意才能通过。收益按1：1：1：1分配。 　 </p>
		<p>　　由于几个大地主的参与，地主的经营规模一下子扩大了10倍，达到了2000亩。按每个人平均承包40亩计算，地主需要招聘50人，而目前只有6个人，地主决定公开对外招聘。 　 </p>
		<p>　　地主放话出去，来竟标的人挤破了地主的大门，地主决定对参加投标者每人收取1两银子的投标费用，以保证投标活动的支出。仅此一项就收入1000两银子。地主们无不对地主的经营能力佩服得五体投地，尚未开张就净赚250，真是太划算了，这更增加了他们对地主的信任和爱戴。 　 </p>
		<p>　　投标活动的会场非常热闹，到处洋溢着热烈的气氛，各种各样的横幅飘扬在会场当中好不精彩。 　 </p>
		<p>　　“宝锄一出，谁与争锋！” 　 </p>
		<p>　　“放眼田间，舍我其谁！” 　 </p>
		<p>　　“东风吹，战鼓擂，如今的田地谁怕谁？” 　 </p>
		<p>　　“没有了地，我的世界雨下个不停” 　 </p>
		<p>　　“东方红，太阳升，我们出了个好地主！” 　 </p>
		<p>　　还是老员工们的横幅比较感人“东家，东家，好东家，世世代代跟着你！”此条横幅被后人评选为投标最佳横幅，奖品是地主口头表扬一次。 　 </p>
		<p>　　竟标按预期进行，五十人经过长达三天的征战终于将和约拿下，按照同等条件，老员工优先获得和约的规则，六个老员工如愿的拿到了和约。 　 </p>
		<p>　　从和约的统计来看，今年的每亩收益至少在去年的基础上增长50%，对于地主来说总收益的增长将达到去年的375%，想想都让人兴奋。其他的地主总收益也有很大的提高，大家都非常高兴，期待着来年的快快到来。 　 </p>
		<p>　　第二年，地主主动邀约传教士去周游各地，这次他们去的是遥远的东瀛，一来一回正好一年的时间，地主玩得好不痛快。 　 </p>
		<p>　　临到家了，想着家里新增的谷仓装满粮食的情景，地主的心情真是急不可耐。 　 </p>
		<p>　　远远的看到了家门，还有门口站着的地主甲、地主乙和地主丙，他们一定是来欢迎我了。 　 </p>
		<p>　　大老远的，地主就打着招呼“大家好！我回来了” 　 </p>
		<p>　　看见大家阴沉着脸都没有答话，地主发现情况不对，连忙问其详情。 　 </p>
		<p>　　原来今年的每亩收益只比去年增长了1%，这样各个地主的总收益不升反降，你叫他们怎么高兴得起来。 　 </p>
		<p>　　“怎么会这样呢？”地主不断的自言自语到。 　 </p>
		<p>　　地主连夜召集了10个雇农代表参加的土地收成分析研讨会，经过与会人员的充分讨论，汇总后得出如下原因：一、今年的天气比去年干旱，由于没有人肯出钱修建引水渠，导致庄稼缺水，收成下降。 　 </p>
		<p>　　二、由于投标额太高，大部分雇农基本没有多余的收益，极大的影响了他们的积极性的发挥。 　 </p>
		<p>　　三、没有人愿意多施肥，因为明年耕种的土地可能就不属于他们了，客观上导致土地施肥不足，产量下降。 　 </p>
		<p>　　四、由于土地面积较以前扩大比较多，每户人家都需要增加耕牛和农具这对大家造成了新的困难，而平时这些东西闲置又比较多，这使得大家本来就薄的收益更加雪上加霜，这也是大家不愿意努力的原因。 　 </p>
		<p>　　五、粮食收成之后，大家集中在一起竟卖，由于要卖掉换银子，大家的卖价一个比一个低，使得大家的收益降低。 　 </p>
		<p>　　六、少数雇农缺乏职业道德，存心不交或少交承包金，甚至不惜举家迁徙到他乡，据初步统计大约有10户人家，直接导致大量的经济损失。 　 </p>
		<p>　　经过仔细分析，地主看到了包产到户的各种弊端，决心进行大幅度的改革，但他面临的问题还很多，首当其冲的是副社长们的支持问题，地主甲已经明确提出要退股，地主乙和地主丙也在徘徊之中，维护联社的稳定是当务之急。 　 </p>
		<p>　　由于地主耐心而细致的劝说，并承诺如果明年每亩收益增加不超过10%，地主分文不收，地主们总算同意再合作经营一年 <br />经过上年的教训，地主成熟了许多。 　 </p>
		<p>　　首先他意识到，作为领导者，仅仅制定了正确的政策，确立了发展战略就交给大家放手去做，自己不闻不问已经不适合现在的经营方式了，他必须亲自参与管理，这点对于不管何种模式来说都是至关重要的。 　 </p>
		<p>　　其次，追求短期效应，要想在短期内年年大幅度增长，忽视了长期的投资，导致土地的后续资源不足。 　 </p>
		<p>　　最后在经营方针上，鉴于历史原因和目前土地经济发展的状况，包产到户对农户的积极性具有重大的促进作用，地主再次肯定了在目前的联社规模下将继续坚持并不断完善包产到户的经营方式，同时针对其目前所具有的各种局限性，特地做了如下调整：一、鉴于农户的短期效应，不愿意对田地进行有效的维护，将土地承包期提高到5年。 　 </p>
		<p>　　二、在设置投标金额上除设置保底金额外，另外设置封顶金额，在封顶金额上选取最佳人选中标，以保障投标人的合理利益。 　 </p>
		<p>　　三、在社长和副社长的高层领导下面增设以下几个部门： 　 </p>
		<p>　　1、水利部：负责辖区内的水利基础设施的建设和维护工作，农户根据用水量合理收取费用，从体制上保障耕地和人畜的用水。 　 </p>
		<p>　　2、耕牛和农具部：出资将农户手中的耕牛全部收购上来，统一管理，并根据农户的需要安排耕种，并根据每亩收取相应的费用，多余的耕牛可以租借给其他农户。负责农具的购买和日常保养，先进农具的采购和试用等3、农肥部：建立联社统一的肥料中心，将各家各户的农家肥集中起来，并通过废料发酵等方式科学、合理的提供庄稼所需要的肥料。 　 </p>
		<p>　　4、农技部：负责新产品、新技术以及先进的耕种方式的推广，提高农户的耕种效率和经济效益。 　 </p>
		<p>　　5、管理部：负责农户的日常管理和相互间纠纷处理，保障农户能够安心劳作，对于可能发生欠款和困难的农户建立预警机制，确保承包金的安全。 　 </p>
		<p>　　6、销售部：负责农产品的销售问题，确保收益的增加。 　 </p>
		<p>　　四、确定管理人员的人选：建立了各个部门之后，选取相应的负责人就成为一个重要的任务，鉴于地主对张三等的了解决定启用他们六人作为联社的第一批管理人员。 　 </p>
		<p>　　地主找张三等谈话，希望他们能够去农从管，提升自己的层次。张三等表示非常愿意，但对于收入提出了疑问，充当管理人员之后，自己的收入会不会发生大幅度的下降。对此，地主予以明确答复，由于工作性质已发生了改变，在目前的生产规模下，要保证以前的收益是比较困难的，但工作本身具备很高的挑战性，同时对于自己未来职业生涯的帮助非常大，大家应该克服暂时的困难，将来我们的规模扩大了，我保证大家的收益会发生巨大的转变。 　 </p>
		<p>　　由于对地主的信任和对新工作的憧憬以及对今后人生的重新认识，张三等人决定跟着地主就新生活赌上一把，他们对自己和联社的未来充满了激情。 　 </p>
		<p>　　张三沟通能力比较强，综合处理各种冲突的水平比较高，负责管理部。 　 </p>
		<p>　　李四头脑灵活，善于专营，习惯和经销商打交道，负责销售部。 　 </p>
		<p>　　王五擅长养牛负责耕牛和农具部。 　 </p>
		<p>　　赵六喜欢专研新的农耕技术负责农技部。 　 </p>
		<p>　　周七的农田灌溉搞得比较好，负责水利部。 　 </p>
		<p>　　武八没什么专长，但踏实肯干，就负责农肥部。 　 </p>
		<p>　　地主全面而系统的整体安排获得了联社其他地主的一致通过，他们决心在未来的日子里再跟地主一起同风雨共患难，共同打造美好的明天。 　 </p>
		<p>　　工作紧张而有序的进行着，大家怀着满腔的激情奔赴各自的岗位，尽心尽力，不辞劳苦，各项工作均得到了有效的落实，事业在稳固而扎实的前进。 　 </p>
		<p>　　这一年共做了如下大的事情： 　 </p>
		<p>　　1、完成红河河水引水工程，并根据农田的布局，建设了一系列的庄稼灌溉设施。 　 </p>
		<p>　　2、组成了50头牛的耕牛队，除圆满完成本联社的耕作计划外，在外承包了大量的耕作工程，为联社创造效益500两银子。 　 </p>
		<p>　　3、建立了统一的肥料供应中心，保障了农民用肥需要。 　 </p>
		<p>　　4、新推广“红河一号”产品，并取得初步见效，获得农户们的热烈欢迎。 　 </p>
		<p>　　5、完美协调农户间的关系，全年没发生一起大的纠纷和逃税事件。 　 </p>
		<p>　　6、寻找到好的粮食销售商，并在往年的基础上提高10%的粮食售价。 　 </p>
		<p>　　由于各项措施安排得力，在水利、耕种、施肥、技术、农户管理、市场销售等的有力保障下，扣除大量的基础投资之后，年底每亩收益仍然较上年增长15%，考虑基础设施建设，实际增长在30%以上，而且这种增长是长期的，可以预见和有充足保障的。 　 </p>
		<p>　　年底，在地主的倡导下，地主们一致同意对表现优异的张三等管理人员一个丰厚的红包，并加发一个月的工资。 　 </p>
		<p>　　公司走上了正轨，大家也走上了管理者的道路，对此大家都非常高兴，期待着来年更大的收获。 　 </p>
		<p>　　联社高层领导在经过协商后，一致同意新增资本，为此他们又引进了地主戊、地主戌、地主庚、地主辛，总耕地规模扩展到4000亩，新引进的地主表决权占原有地主的50%.新的一年开始了，新增的土地招标工作也取得了巨大的成功，新引进农户50家，这样联社直接管理的农户数目达到100家。 　 </p>
		<p>　　一切在按部就班的执行着，但地主渐渐发现目前的管理形式出现了一些不和谐的情况，比如农户间的纠纷增多，农户对联社的各种不满情绪在扩大，张三们的工作激情似乎在减退，而且工作效率似乎不如从前，工作中相互扯皮的事件经常出现，地主经常忙于处理各种各样的冲突，尽管最后都获得了解决，但地主还是觉得其中存在明显的问题。 　 </p>
		<p>　　年底，问题终于集中爆发了。 　 <br />问题是由李四那里开始的，今年粮食的销售价格比去年足足下降了15%，平均每亩总产量仅增长10%，这样总收益比去年还下降8%，考虑今年固定资产投资减少，汇总后每亩收益较去年依旧增加15%.相同的15%却具备不同的概念，联社高层在召开了相关的收益分析会议后，决定由地主出面组成一个调查小组，就今年出现的情况进行深入而仔细的调查分析。 　 </p>
		<p>　　地主在深入走访各农户后，又召开了张三等中层管理人员和少数农户代表参加的分析会议，希望能够通过大家的畅所欲言，发现问题的症结所在。 　 </p>
		<p>　　会上，地主先对大家去年一年的辛苦工作，表示感谢，并提出对去年的工作进行全面总结。 　 </p>
		<p>　　总结首先从问题的源头，李四开始。 　 </p>
		<p>　　李四发言了：今年的销售比往年下降的主要原因有以下几点。 　 </p>
		<p>　　1、今年风调雨顺，农户们都有好的收成，客观上增加了供应，加大了市场的竞争，经销商压价情况比较严重。 　 </p>
		<p>　　2、经销商普遍反映我们主要产品的成色下降，色泽还是饱满程度都不好，市民也反映不好吃。 　 </p>
		<p>　　3、我们去年的新产品“红河一号”虽然外观比较美观，味道也好，但价格太高，市民不接受。 　 </p>
		<p>　　针对李四的发言，赵六发言了。 　 </p>
		<p>　　今年我们主要产品的成色下降，味道不好，主要原因在于肥料的肥度不足和灌溉水源经常出现问题，至于“红河一号”成本高的原因主要在于没有大面积的耕种，农户的耕种技巧还不成熟等原因。 　 </p>
		<p>　　听了赵六的发言，武八不干了，他立马反驳到，由于新增2000亩的农田，而肥料中心又没有扩建，农肥部在人手不足的情况下采用轮流加班的办法，不分白天黑夜的努力工作，基本保证了才农田的用肥，那里还管得了肥料的技术指标，另外，他也指出，既然农肥的肥度不足，为什么没有人跟他提出来过。 　 </p>
		<p>　　周七对李四的发言也表示了极大的不满，他几乎用愤概的语气说道，去年我们新增了2000亩田地的灌溉工程建设，而红河饮水工程的主渠道又没有拓宽，你叫我到哪里去找水源，能够基本保证供水我们已经是出了大力了。 　 </p>
		<p>　　农户甲说，联社去年总的说来工作效率非常低，有一次，为了水源，他同其他农户乙发生了纠纷，要求联社出面解决，结果，整整三天后，才有人来问了一下情况，后又没了下文，这样的情况几乎所有的农户都遇见过，无论是缺少化肥、种子，还是相互间的纠纷，联社都处理得非常另人不满意，农户们对联社基本上已丧失了信任，有纠纷，有困难基本都自己解决。 　 </p>
		<p>　　张三听后，也坐不做了，他站起来说道，农户甲说的的确不错，去年我们的工作的确存在这样或那样的问题，可是我敢保证，所有的纠纷，凡是报到管理部的，我们都负责处理了的，只是由于人手的原因，处理得不是很及时。他随即叫来当时处理该问题的小刘。 　 </p>
		<p>　　小刘来了后，说道，当时由于每天要处理的纠纷太多，而农户相互间又互相不买账，所以只好根据当时的情况，直接处理了，后来具体他们到底服不服气，有没有执行就没有时间去追问。 　 </p>
		<p>　　大家都讲完了，只有王五没有发言，也没有农户对王五的工作指出不满，但地主还是指了出来，他问到，今年耕牛和农具部在新增50头牛的基础上，为什么赚取的外汇反而比去年减少了许多？ 　 </p>
		<p>　　王五似乎也憋着一肚子气，他说道，新增50头牛，2000亩地，我的人手才增加了2人，忙都忙不过来，哪点还有时间去接外面的活儿，再说，弟兄们平时工作够累的了，出去接活也不增加收入，就算我安排他们去，也没人愿意去。 　 </p>
		<p>　　王五的话成了一个火药引子，大家纷纷开始诉苦，主题均是关于工作、收入和付出的。主要集中在如下几点：1、去年，大家刚刚转型，联社也处于创业的阶段，富有激情和冲劲，不辞辛苦，不计报酬使得联社取得了较大的收益，今年大家都适应了新的工作方式，土地也增加了100%，而大家的收入却没有增加多少，目前他们管理人员的收入仅是农户的1/2，而下属员工的收入就更加少了，这极大的影响了大家的工作热情和工作效率。 　 </p>
		<p>　　2、工作缺乏考核和激励，大家干好，干坏一个样，创造效益和亏损的都不会影响大家的工资收入。 　 </p>
		<p>　　3、部门间缺乏有效的沟通和配合，互相不买账，各自为政的特点非常明显。 　 </p>
		<p>　　4、个别部门官僚主义严重，对农户反映的问题不及时处理。 　 </p>
		<p>　　在听了大家的汇报和争吵后，地主的心中对目前联社存在的问题有了清晰的认识，他决心就这些问题做一个完整的规划，以保证今后不再出现以上问题。 　 </p>
		<p>　　地主从100亩的小地主发展到如今拥有良田4000亩的大型合作联社的董事长兼CEO，他的奋斗历程是特别而艰苦的，他能够克服目前联社存在的问题，并带领联社走向新的辉煌吗？</p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/45205.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-05-09 14:24 <a href="http://www.blogjava.net/TrampEagle/archive/2006/05/09/45205.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何将.war包中的文件读取到服务器硬盘</title><link>http://www.blogjava.net/TrampEagle/archive/2006/05/08/44971.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 08 May 2006 03:41:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/05/08/44971.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/44971.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/05/08/44971.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/44971.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/44971.html</trackback:ping><description><![CDATA[
		<p>这两天做一个小东西，要求将一个文件打包到.war文件中，然后还要将这个文件从.war包中读取出来，并在服务器硬盘上重新建一个新的文件。本来很简单的东西，却浪费了不少时间，写出来，做一下笔记，同时给那些需要的朋友提供一下参考，下面是我写的一个示例，在servlet中写的：<br /></p>
		<div>
				<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
				<span style="COLOR: #008080">1</span>
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">package</span>
				<span style="COLOR: #000000">com.hyq.servlets; <br /></span>
				<span style="COLOR: #008080">2<br /></span>
				<span style="COLOR: #008080">3</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">javax.servlet.ServletException; <br /></span>
				<span style="COLOR: #008080">4</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">javax.servlet.http.HttpServletRequest;<br /></span>
				<span style="COLOR: #008080">5</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">javax.servlet.http.HttpServletResponse; <br /></span>
				<span style="COLOR: #008080">6</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">java.io.IOException; <br /></span>
				<span style="COLOR: #008080">7</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">javax.servlet.http.HttpServlet; <br /></span>
				<span style="COLOR: #008080">8</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">java.io.InputStream; <br /></span>
				<span style="COLOR: #008080">9</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">java.io.</span>
				<span style="COLOR: #000000">*</span>
				<span style="COLOR: #000000">; <br /></span>
				<span style="COLOR: #008080">10</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000">java.io.InputStreamReader; <br /></span>
				<span style="COLOR: #008080">11</span>
				<span style="COLOR: #000000">
						<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000">
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000">SystemInitServlet </span>
				<span style="COLOR: #0000ff">extends</span>
				<span style="COLOR: #000000">HttpServlet </span>
				<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
				<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_358_1467_Open_Text">
						<span style="COLOR: #000000">{ <br /></span>
						<span style="COLOR: #008080">12</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #0000ff">final</span>
						<span style="COLOR: #000000">String CONTENT_TYPE </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">text/html; charset=GBK</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">; <br /></span>
						<span style="COLOR: #008080">13</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">Initialize global variables</span>
						<br />
						<span style="COLOR: #008000">
						</span>
						<span style="COLOR: #008080">14</span>
						<span style="COLOR: #008000">
								<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000">init() </span>
						<span style="COLOR: #0000ff">throws</span>
						<span style="COLOR: #000000">ServletException </span>
						<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
						<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_508_1311_Open_Text">
								<span style="COLOR: #000000">{ <br /></span>
								<span style="COLOR: #008080">15</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> java.io.InputStream stream </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">
								</span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">; <br /></span>
								<span style="COLOR: #008080">16</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> File newFile </span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">
								</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000">java.io.File(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">C:/hyq</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);   <span style="COLOR: #008000">//</span><span style="COLOR: #008000">新建一个文件目录</span><br /></span>
								<span style="COLOR: #008080">17</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> newFile.mkdirs();                                           <span style="COLOR: #008000">//</span> 生成目录<br /></span>
								<span style="COLOR: #008080">18</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										<br />
								</span>
								<span style="COLOR: #008080">19</span>
								<span style="COLOR: #000000">
										<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
										<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
								</span>
								<span style="COLOR: #0000ff">try</span>
								<span style="COLOR: #000000">
								</span>
								<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
								<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_627_1233_Open_Text">
										<span style="COLOR: #000000">{ <br /></span>
										<span style="COLOR: #008080">20</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #0000ff">int</span>
										<span style="COLOR: #000000">bytesRead </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">21</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												<br />
										</span>
										<span style="COLOR: #008080">22</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> javax.servlet.ServletContext context </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">getServletContext(); <br /></span>
										<span style="COLOR: #008080">23</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> stream </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">context.getResourceAsStream(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">/hyq/hyq.cer</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">); <br /></span>
										<span style="COLOR: #008080">24</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												<br />
										</span>
										<span style="COLOR: #008080">25</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> FileWriter tempFileWriter </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">
										</span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000">FileWriter(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">C:/hyq/test.cer</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">); <br /></span>
										<span style="COLOR: #008080">26</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												<br />
										</span>
										<span style="COLOR: #008080">27</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												<br />
										</span>
										<span style="COLOR: #008080">28</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> InputStreamReader inputd </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">
										</span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000">InputStreamReader(stream); <span style="COLOR: #008000">//</span> 这个地方一定要进行转换<br /></span>
										<span style="COLOR: #008080">29</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> Reader tempReader </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">inputd; <br /></span>
										<span style="COLOR: #008080">30</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #0000ff">char</span>
										<span style="COLOR: #000000">[] buffer </span>
										<span style="COLOR: #000000">=</span>
										<span style="COLOR: #000000">
										</span>
										<span style="COLOR: #0000ff">new</span>
										<span style="COLOR: #000000">
										</span>
										<span style="COLOR: #0000ff">char</span>
										<span style="COLOR: #000000">[</span>
										<span style="COLOR: #000000">8192</span>
										<span style="COLOR: #000000">]; <br /></span>
										<span style="COLOR: #008080">31</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
												<br />
										</span>
										<span style="COLOR: #008080">32</span>
										<span style="COLOR: #000000">
												<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
										</span>
										<span style="COLOR: #0000ff">try</span>
										<span style="COLOR: #000000">
										</span>
										<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
										<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1000_1127_Open_Text">
												<span style="COLOR: #000000">{ <br /></span>
												<span style="COLOR: #008080">33</span>
												<span style="COLOR: #000000">
														<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
														<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
												</span>
												<span style="COLOR: #0000ff">while</span>
												<span style="COLOR: #000000">((bytesRead</span>
												<span style="COLOR: #000000">=</span>
												<span style="COLOR: #000000">tempReader.read(buffer))</span>
												<span style="COLOR: #000000">!=-</span>
												<span style="COLOR: #000000">1</span>
												<span style="COLOR: #000000">)</span>
												<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
												<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1057_1119_Open_Text">
														<span style="COLOR: #000000">{ <br /></span>
														<span style="COLOR: #008080">34</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> tempFileWriter.write(buffer,</span>
														<span style="COLOR: #000000">0</span>
														<span style="COLOR: #000000">,bytesRead); <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">使用缓存读入，不要使用</span> write(buffer<span style="COLOR: #000000">),避免读入空字符 </span><br /></span>
														<span style="COLOR: #008080">35</span>
														<span style="COLOR: #000000">
																<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
														<br />
												</span>
												<span style="COLOR: #000000">
												</span>
												<span style="COLOR: #008080">36</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
										</span>
										<span style="COLOR: #000000">
										</span>
										<span style="COLOR: #008080">
												<br />37</span>
										<span style="COLOR: #000000">
												<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
										</span>
										<span style="COLOR: #0000ff">catch</span>
										<span style="COLOR: #000000">(IOException ex2) </span>
										<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
										<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1159_1167_Open_Text">
												<span style="COLOR: #000000">{ <br /></span>
												<span style="COLOR: #008080">38</span>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
												<br />
										</span>
										<span style="COLOR: #000000">
										</span>
										<span style="COLOR: #008080">39</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> tempFileWriter.flush();                              <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">记得清空缓存，否则读入到缓存中不满时，不会写入文件</span><br /></span>
										<span style="COLOR: #008080">40</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> tempFileWriter.close();                            <span style="COLOR: #008000">//</span> <font color="#008000">要记得关闭</font><br /></span>
										<span style="COLOR: #008080">
												<span style="COLOR: #008080">41</span>
												<font color="#000000">
												</font>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> inputd.close();                            <span style="COLOR: #008000">//</span> <font color="#008000">要记得关闭</font><br /></span>
												<span style="COLOR: #008080">42</span>
												<font color="#000000">
												</font>
												<span style="COLOR: #000000">
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> tempReader.close();                            <span style="COLOR: #008000">//</span> <font color="#008000">要记得关闭</font><br /></span>43</span>
										<span style="COLOR: #000000">
												<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" /> }</span>
								</span>
								<span style="COLOR: #000000">
								</span>
								<span style="COLOR: #0000ff">catch</span>
								<span style="COLOR: #000000">(Exception e) </span>
								<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
								<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1255_1307_Open_Text">
										<span style="COLOR: #000000">{ <br /></span>
										<span style="COLOR: #008080">44</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> System.err.println(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">Load File failed</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">); <br /></span>
										<span style="COLOR: #008080">45</span>
										<span style="COLOR: #000000">
												<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
										<br />
								</span>
								<span style="COLOR: #000000">
								</span>
								<span style="COLOR: #008080">46</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
								<br />
						</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #008080">47</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">48</span>
						<span style="COLOR: #000000">
								<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000">doGet(HttpServletRequest request, HttpServletResponse response) </span>
						<span style="COLOR: #0000ff">throws</span>
						<span style="COLOR: #000000">ServletException, IOException </span>
						<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
						<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1429_1433_Open_Text">
								<span style="COLOR: #000000">{ <br /></span>
								<span style="COLOR: #008080">49</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span> <br /></span>
						<font color="#008080">50</font>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /> <br /></span>
						<font color="#008080">51</font>
						<span style="COLOR: #000000">
								<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Open_Image" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Open_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Closed_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Closed_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Closed_Text').style.display='none'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Open_Image').style.display='inline'; document.getElementById('ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Open_Text').style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />
						</span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000">destroy() </span>
						<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">...</span>
						<span id="ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1460_1464_Open_Text">
								<span style="COLOR: #000000">{ <br /></span>
								<span style="COLOR: #008080">52</span>
								<span style="COLOR: #000000">
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /> }</span>
								<br />
						</span>
						<span style="COLOR: #000000">
						</span>
						<span style="COLOR: #008080">53</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
						</span>
						<span style="COLOR: #008080">54</span>
						<span style="COLOR: #000000">
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
						<br />
				</span>
				<span style="COLOR: #000000">
				</span>
				<span style="COLOR: #008080">55</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: #008080">56</span>
				<span style="COLOR: #000000">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />     至于为什么一定要使用<span style="COLOR: #000000">context.getResourceAsStream，而不使用其他的如context.getRealPath("/")等来获<br /><br />取.war包中的文件,可以参考：<a href="/TrampEagle/archive/2006/04/20/42195.html">http://www.blogjava.net/TrampEagle/archive/2006/04/20/42195.html</a>一文，同时在测<br /><br />试过程中发现，在jsp页面中不能直接使用这个方法，要使用application.getResourceAsStream(),但是仍然要使用InputStreamReader，进行转换（这里要向thinkbase和lizongbo表示感谢）。如下：<br />&lt;%<br />ChrBuffer=new char[10]; java.io.InputStream stream = application.getResourceAsStream("/hyq/hyq.cer"); InputStreamReader inputd = new InputStreamReader(stream); <br />Reader tempReader = inputd; <br />char[] buffer = new char[8192]; <br />int hyql = 0; <br />while((hyql = tempReader.read(buffer))!=-1){ <br />out.write(buffer,0,hyql); <br />} <br />out.flush();    <br />%&gt;<br /><br />注意：一定要使用缓冲字符数组char[] ，我经过测试，如果不使用的话，只能得到一半的内容，使用缓冲<br /><br />后，才能得到全部的内容。<br /><br />如果哪位有更好的方法，还望不吝赐教！</span></span>
		</div>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/44971.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-05-08 11:41 <a href="http://www.blogjava.net/TrampEagle/archive/2006/05/08/44971.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的一次项目管理实战</title><link>http://www.blogjava.net/TrampEagle/archive/2006/04/29/44042.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Sat, 29 Apr 2006 09:20:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/04/29/44042.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/44042.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/04/29/44042.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/44042.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/44042.html</trackback:ping><description><![CDATA[这份文档摘自我的一份项目管理总结：<br /><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-weight: bold">下面是我的工作流程，如下图所示：<br /><img height="560" alt="MyWork.gif" src="http://www.blogjava.net/images/blogjava_net/trampeagle/MyWork.gif" width="486" border="0" /><br /></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">简要介绍一下：</span><span lang="EN-US" style="FONT-SIZE: 15pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在做一个项目时，我首先从主管那里了解任务情况信息，然后根据自己的经验，对项目作出自己的理解，其实这一步非常关键，因为我的理解的正确与否，直接关系到后续开发的进展，所以这一步，我要反复的和主管进行沟通交流，当我自认为完全理解时，我就把整个理解情况向主管复述一遍，如果主管认为没有偏差就开始分配任务，如果有偏差，我们就继续交流。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后，在分配任务时，我期待我的团队成员能清晰地明白我的计划要求，所以我先把所有任务简要分析一下，然后将项目开发计划发给他们，让他们对整个项目进行思考，考虑项目的进程，可能出现的情况，以及对整个项目开发的建议和感想，我会给他们两个小时的时间来进行这件事情，而我在这段时间内就处理一些项目开发中的一些最基本的问题。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后我就回答他们的问题，同他们进行交流沟通，分析他们认为的可能出现的问题，参考他们的建议对项目的实施进行规划。<span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">在这个过程中，如果有以前我没有发现的，但是经他们提出来的，我自己也不是很清楚的地方，我会把主管请过来，大家共同学习，一起探讨，一同解决可能出现的问题。</span></span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接着，我会让他们根据自己的能力和经验挑选自己熟悉的功能模块，我需要给出的就是时间计划表，他们的计划一定要在我的时间表内。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来，我需要做的就是在计划时间内完成其他的功能，如果剩余量较多，也没关系的，我自己也可以挑选一部分，剩余的工作量可以放在稍后的时间段内来继续完成。当然，这一切都不能超出原定的时间计划表。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不过，可惜的是，经过这段时间的尝试我发现，里面有一个很大的误区：必须要保证团队中成员的工作积极性。否则的话，这个计划非常难以实施下去。我认为的需要注意的几个地方：</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">1．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">确保负责项目的人对整个团队有实效的权利（这个很重要，直接影响项目的合理或顺利进行）</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">2．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需求要写成文档，不要说，即使说一百遍，过后还会不断有人问</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">3．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">讨论时，一定要离开自己的座位，使大家尽可能的全部、全身心的投入讨论</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">4．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于讨论的结果要写成文档，项目组全员分发</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">5．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于制定的计划要有各负责人签字，一定要签字。以作为以后项目成败评定的依据。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">6．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最好能时时跟进，例如：每天下班前，大致询问一下各自的任务完成情况，要对项目进度做到心中有数。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">7．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主动和项目组成员沟通交流，很少有人会主动和项目负责人交流，可能是为了躲避吧。交流更容易发现问题，只有发现问题才能解决问题。但交流最好不要妨碍他人的正常工作。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">8．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">最好在项目开发过程中能共同出去参加一些活动</span>。</span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">9．<span style="FONT: 7pt 'Times New Roman'">         </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">鼓励是很重要的，哪怕是一个微笑。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: -36pt; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 15pt; mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">10．<span style="FONT: 7pt 'Times New Roman'">    </span></font></span></span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">承诺一定要兑现。<br /></span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这一切，其实并没有什么，对于一个成熟的团队来说，我相信他们做的更好，但对于一个不成熟的团队来说，要想做好真的并不容易，我们的目的就是提升整个团队的战斗力。所以一旦养成了一个良好的习惯，团队的整体效能就可以大大加强。<br /></span><span lang="EN-US" style="FONT-SIZE: 15pt"><o:p></o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 24pt"><span lang="EN-US" style="FONT-SIZE: 12pt; mso-bidi-font-weight: bold"><o:p><br />当然了，这只是我现在的一点总结，随着以后认识的深入，肯定还会有其他的想法，不过我会不断地调整修改自己的思路，毕竟这对我来说还不是一个成熟的思想！</o:p></span></p><img src ="http://www.blogjava.net/TrampEagle/aggbug/44042.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-04-29 17:20 <a href="http://www.blogjava.net/TrampEagle/archive/2006/04/29/44042.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网页中框架的动态拉动的控制</title><link>http://www.blogjava.net/TrampEagle/archive/2006/04/22/42493.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Sat, 22 Apr 2006 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/04/22/42493.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/42493.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/04/22/42493.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/42493.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/42493.html</trackback:ping><description><![CDATA[
		<p>下面的是左右框架可以动态拉动的源代码<br />&lt;html&gt;<br />  &lt;head&gt;<br />    &lt;title&gt;scollingConsole&lt;/title&gt;<br />    &lt;script language="javascript"&gt;</p>
		<p>
				<br />function bringToTop() {<br />    if( self != top ) {<br />      top.location.href = self.location.href;<br />    }<br />}</p>
		<p>    &lt;/script&gt;</p>
		<p>  &lt;/head&gt;</p>
		<p>  &lt;frameset onload='javascript:bringToTop();' cols='240,*' frameborder=yes frameborder=5 name='TrampEagle'&gt;<br />   <br />    &lt;frame src='' name='hyq' scrolling='no' marginheight='0' marginwidth='0' &gt;</p>
		<p>    &lt;frame src='' name='312' marginheight='0' marginwidth='0'&gt;<br />   <br />  &lt;/frameset&gt;</p>
		<p>  &lt;noframes&gt;<br />    &lt;body bgcolor=white text='#666666'&gt;</p>
		<p>      &lt;center&gt;&lt;H3&gt;Please use a frames-capable browser&lt;/H3&gt;&lt;/center&gt;<br />    &lt;/body&gt;<br />  &lt;/noframes&gt;</p>
		<p>&lt;/html&gt;</p>
		<p>
				<br /> 其实很简单的，但是以前总以为很神秘，以为要搞很多代码去实现这个功能。如果不希望拉动，也很简单，就是在frame 属性后再加一个NORESIZE就可以了，如：&lt;frame src='' name='hyq' scrolling='no' marginheight='0' marginwidth='0' NORESIZE &gt;，三个框架的和这个同理，事例如下：<br /><br />&lt;html&gt;<br />  &lt;head&gt;<br />    &lt;title&gt;scollingConsole&lt;/title&gt;<br />    &lt;script language="javascript"&gt;</p>
		<p>
				<br />function bringToTop() {<br />    if( self != top ) {<br />      top.location.href = self.location.href;<br />    }<br />}</p>
		<p>    &lt;/script&gt;</p>
		<p>  &lt;/head&gt;<br />&lt;FRAMESET ROWS="150,*"&gt;<br /> &lt;FRAME NAME="Frame1" FRAMEBORDER=1 SCROLLING="Yes" NORESIZE&gt;<br /> &lt;FRAMESET onload='javascript:bringToTop();' COLS="240,*"&gt;<br />  &lt;FRAME scrolling='no' marginheight='0' marginwidth='0'&gt;<br />  &lt;FRAME name='312' marginheight='0' marginwidth='0'&gt;<br /> &lt;/FRAMESET&gt;<br />&lt;/FRAMESET&gt;</p>
		<p>  &lt;noframes&gt;<br />    &lt;body bgcolor=white text='#666666'&gt;</p>
		<p>      &lt;center&gt;&lt;H3&gt;Please use a frames-capable browser&lt;/H3&gt;&lt;/center&gt;<br />    &lt;/body&gt;<br />  &lt;/noframes&gt;</p>
		<p>&lt;/html&gt;</p>
		<p>
				<br /> </p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/42493.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-04-22 15:21 <a href="http://www.blogjava.net/TrampEagle/archive/2006/04/22/42493.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用的固定表头的几种做法</title><link>http://www.blogjava.net/TrampEagle/archive/2006/04/13/40825.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Thu, 13 Apr 2006 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/04/13/40825.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/40825.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/04/13/40825.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/40825.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/40825.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#000000">这几天修改列表的样式风格，提到了列表表头的固定方法，总结一下常见的几种：<br />第一种感觉最简单的就是分放在两个&lt;table/&gt;标签里，这样只控制不含有标题的那个&lt;table/&gt;，代码如下:<br /><br />&lt;table width="300"  border="0" cellpadding="0" cellspacing="1" bgcolor="#0099CC"&gt;<br />  &lt;tr&gt; <br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题一&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题二&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题三&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题四&lt;/font&gt;&lt;/th&gt;<br />  &lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;span style="overflow-y:auto;height:100px;width:320px"&gt;<br />&lt;table width="300"  border="0" cellpadding="0" cellspacing="1" bgcolor="#0099CC"&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/span&gt;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;tr&gt;<br />&lt;/table&gt;<br /><br /></font>
				<span style="COLOR: #0000ff">
						<font color="#000000">第二种不是很灵活，但是也比较简单，就是通过一个层来进行处理，将&lt;table/&gt;放入层中，代码如下：<br /><br />&lt;html&gt;<br />&lt;head&gt;<br />   &lt;title&gt;Some Title&lt;/title&gt;<br />   &lt;style&gt; <br />    &lt;!--<br />  table {<br />    border-collapse : collapse;<br />    table-layout    : fixed;<br />  }</font>
				</span>
		</p>
		<p>
				<font color="#000000">
						<span style="COLOR: #0000ff">  <font color="#000000">td, th {<br />    background-color: #aaaaaa;<br />    border-right    : 1px solid #ffffff;<br />    color           : #ffffff;<br />    width           : 100px;<br />    text-align      : center;<br />  }</font></span>
				</font>
				<font color="#000000">
				</font>
		</p>
		<p>
				<font color="#000000">
						<span style="COLOR: #0000ff">  th.locked_top {<br />    background-color: #343421;<br />    font-weight     : bold;<br />    top             : expression(document.getElementById('table_container').scrollTop);<br />    border-top      : 1px solid #ffffff;<br />    position        : relative;<br />    z-index         : 1<br />  }</span>
				</font>
		</p>
		<p>
				<font color="#000000">
						<span style="COLOR: #0000ff">  #table_container {<br />     width          : 300px;<br />     height     : 100px;<br />     overflow       : scroll;<br />     <br />  }<br />    --&gt;<br />   &lt;/style&gt;<br />   &lt;/head&gt;</span>
				</font>
		</p>
		<p>
				<font color="#000000">
						<span style="COLOR: #0000ff">&lt;body&gt;</span>
				</font>
		</p>
		<p>
				<span style="COLOR: #0000ff">
						<font color="#000000">   &lt;div id='table_container'&gt; </font>
				</span>
		</p>
		<p>
				<span style="COLOR: #0000ff">
						<font color="#000000">&lt;table width="300"  border="0" cellpadding="0" cellspacing="1" bgcolor="#0099CC"&gt;<br />  &lt;tr&gt; <br />    &lt;th width="25%"  class='locked_top'&gt;&lt;font color="#FFFFFF"&gt;标题一&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%"  class='locked_top'&gt;&lt;font color="#FFFFFF"&gt;标题二&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%"  class='locked_top'&gt;&lt;font color="#FFFFFF"&gt;标题三&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%"  class='locked_top'&gt;&lt;font color="#FFFFFF"&gt;标题四&lt;/font&gt;&lt;/th&gt;<br />  &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />&lt;/table&gt;<br />   &lt;/div&gt;  </font>
				</span>
		</p>
		<span style="COLOR: #0000ff">
				<p>
						<br />
						<font color="#000000">&lt;/body&gt;<br />&lt;/html&gt;<br /><br />从以上代码可以看出，第二种不太方便的地方就是有一个id限制，给我的感觉就不是很舒服，但的确是非常的简单易用。<br /><br />第三种也不是很麻烦，不使用id，但是这个代价却是通过增加一个层（&lt;div/&gt;）的代价换来的，这时其中层的宽度设置就成为了关键。可以看一下源代码，如下：<br /><br />&lt;html&gt;<br />&lt;head&gt;<br />   &lt;title&gt;Some Title&lt;/title&gt;<br />   &lt;style&gt; <br />DIV.tableContainer {<br /> OVERFLOW-X: auto; WIDTH: 100px<br />}<br />DIV.bodyContainer {<br /> OVERFLOW-Y: auto; OVERFLOW-X: hidden; WIDTH: 300px; HEIGHT: 100px;<br />}<br />   &lt;/style&gt;<br />   &lt;/head&gt;</font>
				</p>
				<p>
						<font color="#000000">&lt;body&gt;</font>
				</p>
				<p>
						<font color="#000000">   &lt;DIV class=tableContainer&gt;<br />&lt;table&gt;<br /> &lt;tr&gt;<br />  &lt;td&gt;<br />&lt;table width="300"  border="0" cellpadding="0" cellspacing="1" bgcolor="#0099CC"&gt;<br />  &lt;tr&gt; <br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题一&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题二&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题三&lt;/font&gt;&lt;/th&gt;<br />    &lt;th width="25%" nowrap&gt;&lt;font color="#FFFFFF"&gt;标题四&lt;/font&gt;&lt;/th&gt;<br />  &lt;/tr&gt;<br />&lt;/table&gt;<br />  <br />    &lt;DIV class=bodyContainer&gt;<br />      &lt;table width="300"&gt;<br />     &lt;tbody&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />  &lt;tr bgcolor="#FFFFFF"&gt; <br />    &lt;td width="25%"&gt; 1&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 2&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 3&lt;/td&gt;<br />                <br />    &lt;td width="25%"&gt; 4&lt;/td&gt;<br />        &lt;/tr&gt;<br />      &lt;/tbody&gt;<br />    &lt;/table&gt;<br />  &lt;/div&gt;<br />&lt;/td&gt;&lt;/tr&gt;<br />   &lt;/table&gt;<br />   &lt;/div&gt;  </font>
				</p>
				<p>
						<br />
						<font color="#000000">&lt;/body&gt;<br />&lt;/html&gt;<br /><br />使用第三种方法时要特别注意：<br />最外边的层&lt;div/&gt;中设置的宽度，仅仅为显示整个列表的宽度，高度也是如此。里面的层(&lt;div/&gt;)中的宽度一定要和表格的宽度一致，例如此处为300。否则就会出现不对应的现象。</font>
				</p>
		</span>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/40825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-04-13 10:36 <a href="http://www.blogjava.net/TrampEagle/archive/2006/04/13/40825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一次web项目从Weblogic服务到oracle AS10gR2的迁移过程</title><link>http://www.blogjava.net/TrampEagle/archive/2006/04/06/39518.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Thu, 06 Apr 2006 01:39:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/04/06/39518.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/39518.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/04/06/39518.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/39518.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/39518.html</trackback:ping><description><![CDATA[
		<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">前两天由于客户的需要，没办法搞了一次应用服务器的迁移，从</span>
						<span lang="EN-US">
								<font face="Times New Roman">weblogic8.1</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span>
						<span lang="EN-US">
								<font face="Times New Roman">oracle AS10gR2</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。中间出了一些小问题，费了一些时间，现在记于此，权作一份文档吧。<br /></span>
						<span lang="EN-US" style="BACKGROUND: silver; mso-highlight: silver">
								<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
								<o:p>
								</o:p>
						</span>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
						<span style="BACKGROUND: silver; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-highlight: silver">
								<br />第一步：</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置</span>
						<span lang="EN-US">
								<font face="Times New Roman">oracle application server 10</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务：</span>
				</p>
				<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				</p>
		</span>  
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将</span><span lang="EN-US"><a class="" title="oracle-jbsp.jar" href="/Files/TrampEagle/oracle-jbsp.zip" target="">oracle-jbsp.jar</a></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包放至</span><span lang="EN-US">\JBuilderX\lib\servers</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下，重起</span><span lang="EN-US">JBuilderX;</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">2．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打开项目属性菜单，点击</span><span lang="EN-US">server</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">后，选择右边的</span><span lang="EN-US">single server,</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选择新的服务（</span><span lang="EN-US">oracle application server 10</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）；</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><code><span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; mso-ansi-font-size: 10.5pt"><span style="mso-list: Ignore">3．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span></code><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将新窗口右边的</span><span lang="EN-US"> Enable server</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选中，点击</span><span lang="EN-US">General</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标签，修改</span><span lang="EN" style="mso-ansi-language: EN">home directory</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN">为</span><font size="3"><code><span lang="EN" style="FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-ansi-language: EN">$ORACLE_HOME/j2ee/home</span></code><code><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: EN">（</span></code><span lang="EN-US">AS10gR2</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">安装目录下</span><code><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: EN">）。</span></code><code><span lang="EN-US" style="FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-font-size: 10.5pt"><o:p></o:p></span></code></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">4．<span style="FONT: 7pt 'Times New Roman'"><font size="3"></font></span></span></span></b><font size="3"><code><span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-ansi-language: EN">点击</span></code><strong><span lang="EN" style="mso-ansi-language: EN">Custom</span></strong><strong><span style="FONT-WEIGHT: normal; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN; mso-bidi-font-weight: bold">标签，在</span></strong><strong><span lang="EN" style="mso-ansi-language: EN">Admin password</span></strong><strong><span style="FONT-WEIGHT: normal; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN; mso-bidi-font-weight: bold">域填入安装</span></strong><span lang="EN-US">AS10gR2</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时输入的密码。</span><b style="mso-bidi-font-weight: normal"><span lang="EN-US"><o:p></o:p></span></b></font></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">5．<span style="FONT: 7pt 'Times New Roman'"><font size="3"></font></span></span></span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">点击</span><span lang="EN-US">ok</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">按钮保存。</span><b style="mso-bidi-font-weight: normal"><span lang="EN-US"><o:p></o:p></span></b></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt"><span lang="EN-US"><o:p> </o:p></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="BACKGROUND: silver; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-highlight: silver">第二步：</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">原代码修改<br /><br /></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span lang="EN-US">1。由于此次中间件的迁移后不再有weblogic，所以就要把代码中涉及到weblogic的特有的类的源程序修改为通用的代码。主要的地方就是InitialContext的初始化了，不能再使用t3了，可以简单修改如下：<br />InitialContext ctx = null;<br /><span lang="EN-US">ctx = new InitialContext();<br /></span>如果你本身用的就是通用的初始化方法，当然也就不需要修改了。总之就是不能使其它服务特有的东西杂合进来。<br /><font face="宋体">    2。<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">代码规范性问题，有些</font></span></font><font size="3"><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">jsp</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文件用到诸如</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Iterator</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">类而没有</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">import </span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">包</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">java.uitl</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">，</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Oracle AS</span></font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">不能容错。<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">要应用了</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">java util</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">包的</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">jsp</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文件中使用</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">&lt;%@ page import=”java.util.*”%&gt;</span></font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">语句。<br />     3。</font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">中文问题：<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">代码规范性问题，</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">JSP</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">代码中</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">ContextType</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">两次定义在</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Oracle AS</span></font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">不能容错。<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">去掉</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">common</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文件夹下</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">header.jsp</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">等所有被包含文件中的编码语句“</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">&lt;%@ page contentType="text/html; charset=GBK" %&gt;</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">”，增加其他所有</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">jsp</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文件编码语句（如不存在编码语句），并去除包含</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> include/charset.inc</span></font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">文件的语句。<br />     4。<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">ejb Local</span></font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">接口：<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">应用系统中会话</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Bean</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">能过</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Local</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">接口调用实体</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Bean</span></font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">，调用方式与应用服务器存在相关性，需要修改描述文件及代码。<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore"><font face="Times New Roman">1)<span style="FONT: 7pt 'Times New Roman'">      </span></font></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">修改描述文件，在“</span><span lang="EN-US"><font face="Times New Roman">ejb-jar.xml</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”文件中增加“</span><span lang="EN-US"><font face="Times New Roman">ejg-local-ref</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”描述符，可运行</span><span lang="EN-US"><font face="Times New Roman">JBuilder</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">添加；2）</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">修改代码</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">在被调用本地接口的实体</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Bean</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">JNDI</span><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">名称前增加</span><span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">java:com/env</span></font><span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><font size="3">前缀。<br /></font>     </span></span></span></span></span></span></span></span><br /></span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="BACKGROUND: silver; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-highlight: silver">第三步：部署应用程序到服务器</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">1．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在原项目下新建一个</span><span lang="EN-US">ear</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用，编译整个项目生成</span><span lang="EN-US">.ear</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">2．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">启动</span><span lang="EN-US">oracle AS </span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务，打开</span><span lang="EN-US"><a href="http://hyq:1810/">http://hyq:1810</a></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，进入应用服务的控制台主页面。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">3．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">点击创建</span><b style="mso-bidi-font-weight: normal"><span lang="EN-US">OC4J</span></b><b style="mso-bidi-font-weight: normal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实例按钮</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，输入一个实例名如</span><span lang="EN-US">HYQ</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。点击<b style="mso-bidi-font-weight: normal">创建</b>按钮。创建成功后点击<b style="mso-bidi-font-weight: normal">确定</b>。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">4．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打开新建的</span><span lang="EN-US"><span lang="EN-US"><strong>HYQ</strong></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用</span><span lang="EN-US">(</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在系统组件域内</span><span lang="EN-US">)</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">5．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">单击<b style="mso-bidi-font-weight: normal">管理</b>标签后进入新的页面，点击<b style="mso-bidi-font-weight: normal">应用程序默认值</b>域内的<b style="mso-bidi-font-weight: normal">数据源</b></span><b style="mso-bidi-font-weight: normal"><span lang="EN-US">(D)</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标签进行数据源创建。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">6．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在新页面中点击<b style="mso-bidi-font-weight: normal">创建</b>按钮，输入名称如</span><span lang="EN-US"><span lang="EN-US">HyqDS</span>,</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据源类输入</span><span lang="EN-US">com.evermind.sql.DriverManagerDataSource</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span><span lang="EN-US">Jdbc url</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中输入</span><span lang="EN-US">jdbc:oracle:thin:@//192.168.0.1:1521/hyq</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span><span lang="EN-US">jdbc</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">驱动输入</span><span lang="EN-US">oracle.jdbc.driver.OracleDriver</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。输入用户名和密码（使用明文口令）。在</span><span lang="EN-US">JNDI </span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">位置中输入</span><span lang="EN-US">HyqDS，事务处理 (XA) 位置输入：XA/<span lang="EN-US">HyqDS；<u>E</u>JB 位置输入：<span lang="EN-US">HyqDS</span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。点击创建。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">7．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span>点击<strong>OC4J: <span lang="EN-US">HYQ</span></strong></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标签，返回主页面</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">8．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">点击<b style="mso-bidi-font-weight: normal">部署</b></span><b style="mso-bidi-font-weight: normal"><span lang="EN-US">EAR</span></b><b style="mso-bidi-font-weight: normal"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件</span></b><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行部署（时间较长）。</span></p><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo2; tab-stops: list 39.0pt"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'"><span style="mso-list: Ignore">9．<span style="FONT: 7pt 'Times New Roman'"><font size="3">  </font></span></span></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一切</span><span lang="EN-US">ok</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，完成！<br /><br /><font size="4"><strong>另外注意：</strong><br /></font>1。在安装oracle AS10gR2时，如果同台电脑上已经安装的有oracle db，要确保db的所有服务全部手动关掉，否则，安装过程中就会出现服务冲突的现象，尤其是http server。<br />2。安装过程中，会创建一个应用实例，它的管理员用户名为：ias_admin。这是固定的，但是密码一定要记住，因为你要使用这个密码登陆控制台。<br />3。安装完oracle AS10gR2时会有提示，要求你记住安装后的一些信息，包括登陆首页的链接和登陆管理控制台的链接等。其中，登陆首页的端口号也就是你登陆发布应用后，链接你自己应用的端口号。<br /></span></p><img src ="http://www.blogjava.net/TrampEagle/aggbug/39518.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-04-06 09:39 <a href="http://www.blogjava.net/TrampEagle/archive/2006/04/06/39518.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>环境变量classpath引发的一场灾难</title><link>http://www.blogjava.net/TrampEagle/archive/2006/03/20/36365.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 20 Mar 2006 08:32:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/03/20/36365.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/36365.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/03/20/36365.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/36365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/36365.html</trackback:ping><description><![CDATA[
		<p>这两天同事的项目工程突然出现了故障，web包发布后，不断地抛异常，由于刚好我在修改登陆的页面，所以他们不约而同地认为是我搞得鬼，天可怜见，我可是一安分守己之公民啊，没办法，只好削尖了头往问题里钻，但是愣没看出个所以然，<img height="19" src="http://www.blogjava.net/Emoticons/confused_smile.gif" width="19" border="0" />，好晕阿。于是拿到其他同事的机器上面部署，一切OK，更晕<img height="20" src="http://www.blogjava.net/Emoticons/QQ/noidea.gif" width="20" border="0" /><img height="20" src="http://www.blogjava.net/Emoticons/QQ/noidea.gif" width="20" border="0" /><img height="20" src="http://www.blogjava.net/Emoticons/QQ/noidea.gif" width="20" border="0" />！！！！！！<br />第一次打开index.jsp时，异常如下：<br />Error 500--Internal Server Error <br />java.lang.ExceptionInInitializerError<br /> at jsp_servlet.__login._jspService(__login.java:209)<br /> at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)<br /> at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)<br /> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)<br /> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:446)<br /> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)<br /> at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6354)<br /> at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)<br /> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)<br /> at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)<br /> at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)<br /> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<br /> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<br />Caused by: java.util.MissingResourceException: Can't find bundle for base name org.apache.struts.taglib.html.LocalStrings, locale zh_CN<br /> at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:804)<br /> at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:773)<br /> at java.util.ResourceBundle.getBundle(ResourceBundle.java:511)<br /> at org.apache.struts.util.MessageResources.(MessageResources.java:102)<br /> at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:579)<br /> at org.apache.struts.taglib.html.FormTag.(FormTag.java:140)<br /> ... 13 more<br />然后刷新了一下页面，马上就变了：<br />java.lang.NoClassDefFoundError<br /> at jsp_servlet.__login._jspService(__login.java:209)<br /> at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)<br /> at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)<br /> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)<br /> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)<br /> at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6354)<br /> at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)<br /> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)<br /> at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)<br /> at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)<br /> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<br /> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<br /><br />这个错误实属可恨，给我造成了很大的误解，初一看，哦，很明显嘛，是Struts标签的问题，没难度的，打开页面开始查找，一看，原来是说formbean找不到了，不可能阿，这怎么会找不到呢？<img height="20" src="http://www.blogjava.net/Emoticons/QQ/16.gif" width="20" border="0" />，这个用了几年了，不可能出问题阿!<br />又调了几次，实在受不了了，干脆把struts标签搞掉算了，这下问题又变了，说是资源文件找不到了，很可惜，这个异常没有记录下来。<br /><img height="20" src="http://www.blogjava.net/Emoticons/QQ/noidea.gif" width="20" border="0" /><img height="20" src="http://www.blogjava.net/Emoticons/QQ/noidea.gif" width="20" border="0" /><img height="20" src="http://www.blogjava.net/Emoticons/QQ/noidea.gif" width="20" border="0" />。。。。。。重装了服务器，仍然不行，痛苦啊！<br />后来换了个用户登录了一下，惊奇的发现竟然可以正常运行，<img height="20" src="http://www.blogjava.net/Emoticons/QQ/02.gif" width="20" border="0" />，恩，还不算太坏，于是才发现原来是环境变量出了问题，classpath配置到了另一个项目中，<img height="20" src="http://www.blogjava.net/Emoticons/QQ/noidea.gif" width="20" border="0" />。去掉了这个环境变量后，一切OK!<br /><br />做项目时，真的要细心细心再细心阿，环境变量这个东西，太容易在项目开发过程中忽视了，但有时问题就偏偏出在这上面，这样当问题出现时，就很难真正的发现错误的源泉，解决起来只能靠时间和经验了，同时，希望大家在做项目时尽量不要交叉进行，否则，出现莫名其妙的问题的几率太大了！<br /><br />特写于此，以对自己以示警戒！</p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/36365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-03-20 16:32 <a href="http://www.blogjava.net/TrampEagle/archive/2006/03/20/36365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何使用keytool创建密钥仓库</title><link>http://www.blogjava.net/TrampEagle/archive/2006/03/20/36201.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 20 Mar 2006 01:47:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/03/20/36201.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/36201.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/03/20/36201.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/36201.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/36201.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">这两天，一直忙着搞SSL，其间遇到了不少小麻烦，为了总结自己的得失，同时也为了给后来者一些参考，就整理了一下。<br />其实主要的就是要创建一个密钥仓库以管理您的公钥</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">/</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">私钥对来自您所信任实体的证书。<br /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥"> <br /></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">
						<strong>第一步：</strong>生成密钥对</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<br />
				</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">您首先要做的是创建一个密钥仓库和生成密钥对。您可以使用以下命令：</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥"> <br />keytool -genkey -keyalg RSA -keysize 512 -dname "cn=hyq,o=eagle,c=cn" -alias weblogic -keypass 123456 -keystore C:/mykeystore/weblogic.jks -storepass 123456 -validity 365<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">（请注意：键入该命令时必须使其成为一行。此处用多行来显示，主要是为了可读性。）如下图：<br /><img height="152" alt="Snap2.gif" src="http://www.blogjava.net/images/blogjava_net/trampeagle/Snap2.gif" width="648" border="0" /><br /><img height="1" src="/WebResource.axd?d=pLXXeGbWF7eXU8SMs2-GFZvUWY2JNH05dFx5YzJhGUYAYJAFEaTEq36NAhTPy7_KekvzDFwt8wvQWdByvJIGWdEq6x2KpKD80&amp;t=632780334080781250" width="1" /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<br />
				</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">该命令将在</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥"> C </span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">盘的</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“mykeystore”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">目录中创建名为</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“weblogic.jks”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">的密钥仓库，并赋予它口令</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“</span>
				<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?>
				<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="123456" unitname="”">
						<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">123456</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">”</span>
				</st1:chmetcnv>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">。它将为实体生成公钥</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">/</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">私钥对，该实体的</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">特征名</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">为：常用名</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“hyq”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">、组织</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“eagle”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">和两个字母的国家代码</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“cn”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">。“</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">-keyalg</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">”指定它使用的是那种密钥生成算法来创建密钥，缺省的是</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“DSA”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">密钥生成算法（会使用缺省的</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">带</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥"> DSA </span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">的</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥"> SHA<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="”">1”</st1:chmetcnv></span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">签名算法），两个密钥（公钥与私钥）的长度是</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">512</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">位，由</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">-keysize</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">来指定，默认的是</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">1024 </span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">位。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥"> </span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">该证书包括公钥和特征名信息。该证书的有效期为</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">365</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">天，由</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">-validity</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">来指定，且与别名</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“business”</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">所代表的密钥仓库项关联。私钥被赋予口令</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">“</span>
				<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="123456" unitname="”">
						<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">123456</span>
						<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">”</span>
				</st1:chmetcnv>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">。</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 126.5pt; TEXT-ALIGN: left; mso-char-indent-count: 12.0; mso-layout-grid-align: none" align="left">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">命令行里</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">DName </span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">信息注解</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<o:p> </o:p>
				</span>
		</p>
		<table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1">
				<tbody>
						<tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">DN </span>
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">信息域</span>
												<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-font-kerning: 0pt">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">含义</span>
												<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 1">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">CN<o:p></o:p></span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">域名或</span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">IP</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 2">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">OU<o:p></o:p></span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">部门，没有部门的可不要此项</span>
												<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 3">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">O<o:p></o:p></span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">单位名称</span>
												<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 4">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">L<o:p></o:p></span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">单位地址</span>
												<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 5">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">S<o:p></o:p></span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">省份的拼音（第一个字母大写）</span>
												<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
						<tr style="mso-yfti-irow: 6; mso-yfti-lastrow: yes">
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">C<o:p></o:p></span>
										</p>
								</td>
								<td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #ece9d8; WIDTH: 213.05pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="284">
										<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">国家的简写 （</span>
												<span lang="EN-US" style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt">CN </span>
												<span style="FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 10.5pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">代表中国）</span>
												<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
														<o:p>
														</o:p>
												</span>
										</p>
								</td>
						</tr>
				</tbody>
		</table>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<br />
				</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">如果采用选项的缺省值，可以大大缩短该命令。实际上，这些选项并不是必需的；对于有缺省值的选项，未指定时将使用缺省值，对于任何被要求的值，您将会得到要求输入它的提示。例如：输入命令</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">keytool -genkey -keystore "C:/tone.jks" -storepass 123456 -keyalg RSA</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">，就会有如下提示：<br /><img height="339" alt="Snap3.gif" src="http://www.blogjava.net/images/blogjava_net/trampeagle/Snap3.gif" width="645" border="0" /><br /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
						<img height="1" src="/WebResource.axd?d=pLXXeGbWF7eXU8SMs2-GFZvUWY2JNH05dFx5YzJhGUYAYJAFEaTEq36NAhTPy7_KekvzDFwt8wvQWdByvJIGWdEq6x2KpKD80&amp;t=632780334080781250" width="1" />
						<br />注意：这里的</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">密钥仓库路径一定要存在，如果不存在的话，它就会抛如下的异常<br /></span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">
								<img height="39" alt="Snap4.gif" src="http://www.blogjava.net/images/blogjava_net/trampeagle/Snap4.gif" width="647" border="0" />
								<br />第二步</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: ˎ̥">:</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
						</span>
				</b>
				<span style="FONT-SIZE: 16pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">产生证书请求<span lang="EN-US">certreq.pem </span>文件<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">使用如下命令：<span lang="EN-US"><o:p></o:p></span></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">keytool -certreq -alias weblogic -sigalg "MD5withRSA" -file C:/mykeystore/certreq.pem -keypass 123456 -keystore C:/mykeystore/weblogic.jks -storepass 123456</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 16.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">
						<img height="83" alt="Snap5.gif" src="http://www.blogjava.net/images/blogjava_net/trampeagle/Snap5.gif" width="650" border="0" />
						<br />这样在</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">C:/mykeystore/</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">目录下</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">就会产生一个</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">certreq.pem</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">文件，内容如下：</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">-----BEGIN NEW CERTIFICATE REQUEST-----<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">MIHlMIGQAgEAMCsxCzAJBgNVBAYTAmNuMQ4wDAYDVQQKEwVlYWdsZTEMMAoGA1UEAxMDaHlxMFww<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">DQYJKoZIhvcNAQEBBQADSwAwSAJBAMhaIG2Ki7+RwZUP4gPBdTbnY38bisW16u1XUyysPxdNwSie<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">aSd6E3Hm277E7NjHoz56ZoaYdPPDmdiTkMrS9rcCAwEAAaAAMA0GCSqGSIb3DQEBBAUAA0EAYRNl<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">l5dyGgV9hhu++ypcJNQTrDIwjx<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="qt">1QT</st1:chmetcnv>4fgVubrtIaHU0fzHamD5QG6PYddw9TL51XQHvu6tOS0NUc/<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">ItNKJw==<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: ˎ̥">-----END NEW CERTIFICATE REQUEST-----<br /><br /><strong>第三步：</strong>这就相对来说简单多了，就是<span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">向<span lang="EN-US">CA</span>提交证书请求。<br />    你可以随便从网上找一家免费的CA认证适用机构（很多的），然后按照上面的提示进行操作就可以了，这一步就要用到前面生成的<font size="4"><span lang="EN-US">certreq.pem </span>文件了</font>。（注意：一定要下载根证书）<br />    将生成的证书和下载的根证书放至你比较容易找到的位置，我一般将它们和生成的jks文件放到一起。<br /><br /><strong>第四步：</strong>导入证书<br />    通过命令：keytool -import -alias RootCA -trustcacerts -file C:/mykeystore/RootCADemo.cer -keystore C:/mykeystore/weblogic.jks -storepass 123456将根证书导入第一步生成的weblogic.jks中，接着将所有其它的证书按照此命令全部导入。（<strong>注意</strong>证书的别名不能重复，同时一定<strong>注意</strong>要用上 -trustcacerts，否则，你在以后使用时，它将会认为你导入的这些证书是不可信任的 ，就会导致你在配置SSL时不能正常的工作。）<br />    这就全部完成了<font size="3">密钥仓库</font>的创建。然后就可以在支持这些证书格式的服务器上使用了。下一篇将会写一下在weblogic上如何配置双向SSL。</span></span>
		</p>
<img src ="http://www.blogjava.net/TrampEagle/aggbug/36201.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-03-20 09:47 <a href="http://www.blogjava.net/TrampEagle/archive/2006/03/20/36201.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分析异常“ 插入的值对于列过大”的可能情况</title><link>http://www.blogjava.net/TrampEagle/archive/2006/03/10/34589.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Fri, 10 Mar 2006 00:45:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/03/10/34589.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/34589.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/03/10/34589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/34589.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/34589.html</trackback:ping><description><![CDATA[这两天在做项目时，频频出现：ORA-01401: 插入的值对于列过大的异常，根据经验，我以为是数据为空造成的结果，调了好长时间，仍没有结果，浪费了不少时间，后来才发现，原来是插入的数值和数据库钟表字段的定义的问题。以前的系统默认日期为10位长，现在突然修改成了8位，结果就出问题了。同时，还有一个异常：ORA-01438: 值大于此列指定的允许精确度。这个同样是因为表字段的属性修改了的缘故，以前是<SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">numeric(8,4)，现在是<SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">numeric(4,3)，肯定要出问题了<IMG height=19 src="http://www.blogjava.net/Emoticons/sad_smile.gif" width=19 border=0>。只怪自己不细心阿，其实文档里也挺全的，但是就没看，看了也没在意，一切还是按照以前的习惯，真是坏习惯害死人阿，特写此以警示！<IMG height=19 src="http://www.blogjava.net/Emoticons/star.gif" width=19 border=0><BR>&nbsp;&nbsp;&nbsp;&nbsp; 总结一下，我碰到过的情况：<BR><BR>1。插入的值对于列过大的异常：暂时有两种可能，一是数值为空（null），结果插入时就会抛此异常，&nbsp;&nbsp; 二是因为插入的数值超出了表字段定义的范围，如上。<BR><BR>2。值大于此列指定的允许精确度：主要是因为插入的数值超出了表字段定义的范围，同上。<BR><BR>以后再碰到其它情况就慢慢补充了！</SPAN></SPAN><img src ="http://www.blogjava.net/TrampEagle/aggbug/34589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-03-10 08:45 <a href="http://www.blogjava.net/TrampEagle/archive/2006/03/10/34589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用weblogic8.1调用oracle9.1存储过程中出现的问题</title><link>http://www.blogjava.net/TrampEagle/archive/2006/03/09/34413.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Thu, 09 Mar 2006 01:54:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/03/09/34413.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/34413.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/03/09/34413.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/34413.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/34413.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用weblogic8.1自带的oracle驱动调用oracle9.1存储过程时，配置连接池一定要小心，否则你错都不知错在哪个地方，报的异常信息比较模糊，看了以后有点莫名其妙。如下图：<BR><IMG alt="" hspace=0 src="C:\Documents and Settings\Admin\桌面\aaa.jpg" align=baseline border=0>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当我配置连接池时，我选择了Type 4，其他情况下也并没有什么异常，但是当我连接oracle数据库，调用存储过程时，它就不行了，抛的异常如下：<BR>java.sql.SQLException: [BEA][Oracle JDBC Driver]Incorrect parameter bindings for<BR>&nbsp;stored procedure call. Check your bindings against the stored procedure's parameters.<BR>搞了很长时间也不清楚是哪个地方的问题，好晕。后来才怀疑是驱动的问题，换了Oracle's Driver(thin)以后一切就正常了，但是其它的驱动还是不行。下面是weblogic配置oracle连接池的一些说明:<BR><IMG alt="" hspace=0 src="C:\Documents and Settings\Admin\桌面\bbb.jpg" align=baseline border=0><BR>具体的配置连接池的方法可以参考<A href="http://dev2dev.bea.com.cn/techdoc/2004120203.html">http://dev2dev.bea.com.cn/techdoc/2004120203.html</A><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在调用存储过程时，还有一点，就是jdbc返回游标时，它是返回的java.sql.ResultSet&nbsp;类型，由于某些原因，我们在项目中对这个类进行了封装，结果，在调用时，它抛出java.lang.ClassCastException，说是类型转换错误，只好进行强制类型转换。&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 项目开发过程中，问题还有不少，一步一步来吧，等把剩下的问题解决后，再传上来。<img src ="http://www.blogjava.net/TrampEagle/aggbug/34413.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-03-09 09:54 <a href="http://www.blogjava.net/TrampEagle/archive/2006/03/09/34413.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebWork和JDK的版本问题</title><link>http://www.blogjava.net/TrampEagle/archive/2006/03/02/33138.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Thu, 02 Mar 2006 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/03/02/33138.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/33138.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/03/02/33138.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/33138.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/33138.html</trackback:ping><description><![CDATA[使用Struts时间长了，对版本之间的更换变化也变得麻木了，因为很少换版本，并且它的版本之间的兼容性挺好的，但是现在出问题了，出在了WebWork上，郁闷之极！<BR>下了一个最新的版本，也没看版本说明，在公司里就试了下，结果搞得灰头灰脸的<IMG height=19 src="http://www.blogjava.net/Emoticons/sad_smile.gif" width=19 border=0><IMG height=19 src="http://www.blogjava.net/Emoticons/sad_smile.gif" width=19 border=0><IMG height=19 src="http://www.blogjava.net/Emoticons/sad_smile.gif" width=19 border=0>，后来看了一下说明才知道，必须要JDK1.5的版本，<IMG height=19 src="http://www.blogjava.net/Emoticons/red_smile.gif" width=19 border=0><IMG height=19 src="http://www.blogjava.net/Emoticons/red_smile.gif" width=19 border=0><IMG height=19 src="http://www.blogjava.net/Emoticons/red_smile.gif" width=19 border=0>,没办法,又下了个较早的版本，但是耽误了没试成，毕竟在公司嘛，身不由己。回到家里再试，忘了换过版本了，用的是JDK1.5，还是有问题，这下可烦死了，上网查了好久也不明所以然，那个郁闷阿，最后才想起是JDK1.5和WebWork的版本问题，<IMG height=19 src="http://www.blogjava.net/Emoticons/confused_smile.gif" width=19 border=0><IMG height=19 src="http://www.blogjava.net/Emoticons/confused_smile.gif" width=19 border=0><IMG height=19 src="http://www.blogjava.net/Emoticons/confused_smile.gif" width=19 border=0>,晕阿。重新更改后，一切OK!<BR>下面是版本不一致时抛的异常：<BR>23:11:52,531 ERROR XmlConfigurationProvider: Caught exception while loading file<BR>&nbsp;xwork.xml<BR>java.lang.Exception: Could not open file xwork.xml<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.load<BR>ConfigurationFile(XmlConfigurationProvider.java:536)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init<BR>(XmlConfigurationProvider.java:124)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(Defaul<BR>tConfiguration.java:85)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(C<BR>onfigurationManager.java:56)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.setupConfigIfActionI<BR>sCommand(DefaultActionProxyFactory.java:58)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(De<BR>faultActionProxyFactory.java:43)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(S<BR>ervletDispatcher.java:270)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet<BR>Dispatcher.java:237)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run<BR>(ServletStubImpl.java:971)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:402)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:305)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio<BR>n.run(WebAppServletContext.java:6350)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate<BR>dSubject.java:317)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:<BR>118)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe<BR>rvletContext.java:3635)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm<BR>pl.java:2585)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<BR>23:11:52,562 FATAL XmlConfigurationProvider: Could not load XWork configuration<BR>file, failing<BR>com.opensymphony.xwork.config.ConfigurationException: Caught exception while loa<BR>ding file xwork.xml<BR>&nbsp;&nbsp;&nbsp; with nested exception<BR>java.lang.Exception: Could not open file xwork.xml<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.load<BR>ConfigurationFile(XmlConfigurationProvider.java:543)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init<BR>(XmlConfigurationProvider.java:124)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(Defaul<BR>tConfiguration.java:85)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(C<BR>onfigurationManager.java:56)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.setupConfigIfActionI<BR>sCommand(DefaultActionProxyFactory.java:58)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(De<BR>faultActionProxyFactory.java:43)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(S<BR>ervletDispatcher.java:270)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet<BR>Dispatcher.java:237)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run<BR>(ServletStubImpl.java:971)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:402)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:305)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio<BR>n.run(WebAppServletContext.java:6350)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate<BR>dSubject.java:317)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:<BR>118)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe<BR>rvletContext.java:3635)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm<BR>pl.java:2585)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<BR>with nested exception java.lang.Exception: Could not open file xwork.xml<BR>java.lang.Exception: Could not open file xwork.xml<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.load<BR>ConfigurationFile(XmlConfigurationProvider.java:536)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init<BR>(XmlConfigurationProvider.java:124)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(Defaul<BR>tConfiguration.java:85)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(C<BR>onfigurationManager.java:56)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.setupConfigIfActionI<BR>sCommand(DefaultActionProxyFactory.java:58)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(De<BR>faultActionProxyFactory.java:43)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(S<BR>ervletDispatcher.java:270)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet<BR>Dispatcher.java:237)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run<BR>(ServletStubImpl.java:971)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:402)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:305)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio<BR>n.run(WebAppServletContext.java:6350)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate<BR>dSubject.java:317)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:<BR>118)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe<BR>rvletContext.java:3635)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm<BR>pl.java:2585)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<BR>23:11:52,562 ERROR ServletDispatcher: Could not find action<BR>com.opensymphony.xwork.config.ConfigurationException: Error loading configuratio<BR>n file xwork.xml<BR>&nbsp;&nbsp;&nbsp; with nested exception<BR>com.opensymphony.xwork.config.ConfigurationException: Caught exception while loa<BR>ding file xwork.xml<BR>&nbsp;&nbsp;&nbsp; with nested exception<BR>java.lang.Exception: Could not open file xwork.xml<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init<BR>(XmlConfigurationProvider.java:127)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(Defaul<BR>tConfiguration.java:85)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(C<BR>onfigurationManager.java:56)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.setupConfigIfActionI<BR>sCommand(DefaultActionProxyFactory.java:58)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(De<BR>faultActionProxyFactory.java:43)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(S<BR>ervletDispatcher.java:270)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet<BR>Dispatcher.java:237)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run<BR>(ServletStubImpl.java:971)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:402)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:305)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio<BR>n.run(WebAppServletContext.java:6350)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate<BR>dSubject.java:317)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:<BR>118)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe<BR>rvletContext.java:3635)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm<BR>pl.java:2585)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<BR>with nested exception com.opensymphony.xwork.config.ConfigurationException: Caug<BR>ht exception while loading file xwork.xml<BR>&nbsp;&nbsp;&nbsp; with nested exception<BR>java.lang.Exception: Could not open file xwork.xml<BR>com.opensymphony.xwork.config.ConfigurationException: Caught exception while loa<BR>ding file xwork.xml<BR>&nbsp;&nbsp;&nbsp; with nested exception<BR>java.lang.Exception: Could not open file xwork.xml<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.load<BR>ConfigurationFile(XmlConfigurationProvider.java:543)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init<BR>(XmlConfigurationProvider.java:124)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(Defaul<BR>tConfiguration.java:85)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(C<BR>onfigurationManager.java:56)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.setupConfigIfActionI<BR>sCommand(DefaultActionProxyFactory.java:58)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(De<BR>faultActionProxyFactory.java:43)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(S<BR>ervletDispatcher.java:270)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet<BR>Dispatcher.java:237)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run<BR>(ServletStubImpl.java:971)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:402)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:305)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio<BR>n.run(WebAppServletContext.java:6350)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate<BR>dSubject.java:317)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:<BR>118)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe<BR>rvletContext.java:3635)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm<BR>pl.java:2585)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<BR>with nested exception java.lang.Exception: Could not open file xwork.xml<BR>java.lang.Exception: Could not open file xwork.xml<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.load<BR>ConfigurationFile(XmlConfigurationProvider.java:536)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.providers.XmlConfigurationProvider.init<BR>(XmlConfigurationProvider.java:124)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(Defaul<BR>tConfiguration.java:85)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(C<BR>onfigurationManager.java:56)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.setupConfigIfActionI<BR>sCommand(DefaultActionProxyFactory.java:58)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(De<BR>faultActionProxyFactory.java:43)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(S<BR>ervletDispatcher.java:270)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(Servlet<BR>Dispatcher.java:237)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run<BR>(ServletStubImpl.java:971)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:402)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm<BR>pl.java:305)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio<BR>n.run(WebAppServletContext.java:6350)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate<BR>dSubject.java:317)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:<BR>118)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe<BR>rvletContext.java:3635)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm<BR>pl.java:2585)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)<BR><img src ="http://www.blogjava.net/TrampEagle/aggbug/33138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-03-02 10:29 <a href="http://www.blogjava.net/TrampEagle/archive/2006/03/02/33138.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>上帝的需求是什么？--谈软件的需求设计</title><link>http://www.blogjava.net/TrampEagle/archive/2006/02/27/32593.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 27 Feb 2006 02:54:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/02/27/32593.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/32593.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/02/27/32593.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/32593.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/32593.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">前段时间到沃尔玛买冰箱，去的时候就已经打算好了要买海尔的，价位定在了</SPAN><SPAN lang=EN-US>1500</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">元左右，感觉已经很不错了。到那里以后，经过比较，看中了一款</SPAN><SPAN lang=EN-US>2200</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">多的，功能多，性能好，看得眼馋，同时又看到了其它品牌也有几款很不错的，价格也不算很高，功能比海尔的这款还要多，相比似互更划算，有点作难，但是后来还是选择了海尔的这一款，为什么</SPAN><SPAN lang=EN-US>?</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">理由如下：</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一是：这是我能接受的范围；</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">二是：海尔的产品质量可靠；</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三是：功能多，性能好；</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">四是：海尔的售后服务好，一旦出现故障能得到及时的维护；</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">五是：海尔的信誉好，买了放心。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实，我想这四条中，起到关键作用的还是第一条，第二条和第五条。比如：</SPAN><SPAN lang=EN-US>TCL</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的，功能其实也很多，但是我就不买它的，为什么？二哥的朋友结婚时买了个</SPAN><SPAN lang=EN-US>TCL</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的彩电，不到一周就出问题了，到商家换了一台后，不到一个月就又抱回去维修了，结果等了一周时间也没修好。这件事情对我的印象很深刻，后来不但我们家没买过</SPAN><SPAN lang=EN-US>TCL</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的产品，我们的很多亲朋好友也失去了对</SPAN><SPAN lang=EN-US>TCL</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其它产品的兴趣。我不知道朋友的朋友知道这件事情后会怎样，也不知道朋友的朋友的朋友或是朋友的朋友的朋友的朋友怎样，但是我却知道，</SPAN><SPAN lang=EN-US>TCL</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">失去了一个比较大的原本属于它的客户群。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实钱付了以后，心里并不像原先那样的平静，毕竟</SPAN><SPAN lang=EN-US>2000</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">多，这不是一个小数目，后来等到送货上门，用了一段时间后感觉还可以，就慢慢放下心来。突然，前两天接到了奥尔玛商场的电话，询问商场送货员送货的服务态度以及冰箱的使用情况，并一再叮嘱如出现问题一定及时告知，技术员将会尽快上门维修。电话放下后，留下的不仅仅是感动和欣慰。后来碰到熟识的朋友，我不断的提到这件事，他们也深表认同，他们给我说的一句话，让我尤为惊讶：以后再买家电，我们也买海尔的，再贵也无所谓。我突然从中悟到：产品的销售其实并不是一场简单的交易，它还有巨大的宣传作用，而且这个宣传是免费的但又是最令他人接受和信服的。<BR></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">&nbsp;我想海尔的成功也就是在于<STRONG>它把握住了客户们的需求，不光是物质的，最主要的还是心理上的！</STRONG><BR>&nbsp;&nbsp;&nbsp; 回想我们搞软件开发的，有几个项目是经过认真调研的？我们在开发过程中是否同用户进行过密切的交流？换句话说，我们是否真的知道我们的客户最终的需求是什么？客户是我们的上帝，我们是否了解他，了解他们的需求？开发初期，我们是否尊重过他们的意见？是否和他们进行过认真详细的沟通？下面仅软件行业的需求分析同大家做一番探讨。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不知道其它公司是怎样处理的，但我所经历的几家公司却惊人的相识：需求是凭以前的业务人员的经验制定的，没有同客户进行开发前的交流，开发过程中，随意性很大，跟着感觉走的次数非常之多，不断地临时更改一些需求，据说是为了某些客户可能的需要。这些缺点不再说了，笔者的另一篇随笔已经写的比较详细了。所谓幸福的家庭都相差无几，不幸的家庭却有着各自的不幸，然而这个却是不幸的项目也有着相同的不幸！</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然而，好的也不是没有</SPAN><SPAN lang=EN-US>,</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个朋友自己搞的一个项目，只有两个人，其中一个就是专门为了了解客户的需求，然后依据自己在本行业的经验，详细制定出一份需求，同时根据需求制定出一份功能需求说明书，同客户继续沟通，当客户提出一些变更后再重新设计重新交流，然后由这个朋友根据这份功能需求说明书进行开发。据说，他们这套软件已经卖了好几套，客户都是赞不绝口，偶尔一些小的需求，只需要作很小的变动。朋友说，三年了，这套软件还是非常的时髦，数据结构还是以前的结构，几乎没有改动过。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么我们能不能从中借鉴一些经验呢？开发初期，我们最好让客户介入到我们的需求分析中来，认真听取客户的意见，在这一方面不要同客户有争执，当然了也可以提建议。我们要把客户当作业务方面的专家，我们就是小学生，要向专家们学习业务知识。客户既然是我们的上帝，如果我们在开发前期不尊重上帝，那么开发后期就会受到上帝的惩罚！</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21.75pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面总结一下自己的看法：</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">1．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">总结公司以前相同软件的得失；根据以前的经验制定出一套自己的需求说明</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">2．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据这套需求展开讨论，分析不足之处以及较好的地方，重新设计</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">3．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户介入，请客户提建议，以及客户的要求和可能的需求</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">4．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果客户没有问题就执行下一步，否则回到</SPAN><SPAN lang=EN-US>2</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">5．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据需求说明制定出一套功能要求说明书，一定要详细</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">6．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户介入，听取客户的意见，重新探讨，重新更改功能要求说明书</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">7．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">美工介入，根据制定出的功能要求说明书，迅速画出一套相应的图形界面，注意是画而不是做</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">8．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户介入，根据这套画面重新进行功能需求讨论</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">9．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果没问题执行下一步，有问题回到</SPAN><SPAN lang=EN-US>6</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">10．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据画面设计表结构，不求最灵活，但求实现完整的功能</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">11．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户介入，根据制定的表结构，向客户描述能实现的功能，请用户提建议</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">12．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果没问题执行下一步，有问题回到</SPAN><SPAN lang=EN-US>8</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">13．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据制定的表结构和美工作的画面设计功能函数，同时美工开始真正作业</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l1 level1 lfo1; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">14．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分配工作任务，开始施工。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 21.75pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><STRONG>注意：</STRONG></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">1．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当客户介入时一定要求客户签名留档，提示客户如有其它重大改动，其要负重大责任，这是为了避免某些客户敷衍应付之举，因为我们的项目一旦实施，用户的需求更改会很大的影响我们的项目进度。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">2．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在功能设计上尽可能做到灵活，意思是：我们可以根据我们的需要随意去掉某些功能，这样我们面对不同的客户将有更多的选择。就好比冰箱，客户的价钱不同享受到的功能也应有所不同。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">3．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文档一定要详细，并且保证与项目同步更新。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">4．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要有规范的项目开发规范，确保大家遵守。</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 39.75pt"><SPAN lang=EN-US style="mso-fareast-font-family: 'Times New Roman'"><SPAN style="mso-list: Ignore">5．<SPAN style="FONT: 7pt 'Times New Roman'">&nbsp; </SPAN></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项目经理要随时了解项目的进度，以便及时处理一些异常情况（算了，这些还是留待下一篇文章再说吧）。<BR><BR></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 39.75pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当然了，对于一个项目的需求设计我想也就是这样了，以后想到再进行更改吧，但总之，我们的目的就是要了解用户的真正需求，只有这样我们才能得到上帝的称赞，否则，上帝的惩罚将是非常的严重！</SPAN></P><img src ="http://www.blogjava.net/TrampEagle/aggbug/32593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-02-27 10:54 <a href="http://www.blogjava.net/TrampEagle/archive/2006/02/27/32593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate检索策略（关于映射部分）</title><link>http://www.blogjava.net/TrampEagle/archive/2006/02/20/31586.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 20 Feb 2006 01:27:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/02/20/31586.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/31586.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/02/20/31586.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/31586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/31586.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 近段时间在读孙维琴的《精通hibernate》,感觉收获不少，对于hibernate检索策略的第一部分，感觉其实就是几张表，如果把几张表搞清楚了，其他的也就无所谓了，幸而书中总结的很好，就摘录如下：注意：此版本主要是基于hibernate2.x版本。类级别和关联级别可选的检索策略和默认的检索策略&nbsp;检索策略的作用域可选的检索策略默认的检索策略...&nbsp;&nbsp;<a href='http://www.blogjava.net/TrampEagle/archive/2006/02/20/31586.html'>阅读全文</a><img src ="http://www.blogjava.net/TrampEagle/aggbug/31586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-02-20 09:27 <a href="http://www.blogjava.net/TrampEagle/archive/2006/02/20/31586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于分页设计的一些做法</title><link>http://www.blogjava.net/TrampEagle/archive/2006/02/14/30540.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Tue, 14 Feb 2006 01:11:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/02/14/30540.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/30540.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/02/14/30540.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/30540.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/30540.html</trackback:ping><description><![CDATA[<P>做web时，经常要面对分页这一问题，我也不知道究竟哪一种最好，就把想到的列出来：<BR>第一种：先把所有数据都从服务器端获取到客户端，然后在web端进行分页处理。但是对于一些很大数据量的列表，无疑效率很低的，用户要等上好久才能见到效果（即使你用AJAX,它只能是用户避免见到空白页）；但这种做法减少了和服务器的交互。<BR>第二种：就是通过条件控制，web端仅获取一页的数据量，它提高了访问服务器的效率，速度比较快，但是加大了访问服务器的频率。<BR>我们用的比较多的是第二种。但还有一个问题，分页的时候，要知道总共的页数，有两种做法：<BR>&nbsp; 第一种：在web端调用两次服务端，一次获取当前页的数据，再一次获取总共的页数等信息。<BR>&nbsp; 第二种：在服务端包装数据列表和总共的页数信息，返回的仅是一个对象，然后到web端进行拆解。<BR>比方说，用一个VO存放List和totalPage，可以把totalPage存放在另一个VO中，以便于以后的扩展。<BR><BR>不同的数据库有不同的专业分页语句。我们最常用的是oracle(参考hibernate):<BR><BR><SPAN style="FONT-WEIGHT: bold; COLOR: #990066" ?>public</SPAN> <SPAN style="COLOR: #aaaadd" ?>String</SPAN> getLimitString<SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #aaaadd" ?>String</SPAN> sql<SPAN style="COLOR: #000000">)</SPAN> <SPAN style="COLOR: #000000">{</SPAN> <BR>&nbsp; <SPAN style="COLOR: #aaaadd" ?>StringBuffer</SPAN> pagingSelect = <SPAN style="FONT-WEIGHT: bold; COLOR: #990066" ?>new</SPAN> <SPAN style="COLOR: #aaaadd" ?>StringBuffer</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000" ?>100</SPAN><SPAN style="COLOR: #000000">)</SPAN>; <BR>&nbsp; pagingSelect.<SPAN style="COLOR: #000000">append</SPAN><SPAN style="COLOR: #000000">(</SPAN>"select * from <SPAN style="COLOR: #000000">(</SPAN> select row_.*, rownum rownum_ from <SPAN style="COLOR: #000000">(</SPAN> "<SPAN style="COLOR: #000000">)</SPAN>; <BR>&nbsp; pagingSelect.<SPAN style="COLOR: #000000">append</SPAN><SPAN style="COLOR: #000000">(</SPAN>sql<SPAN style="COLOR: #000000">)</SPAN>; <BR>&nbsp; pagingSelect.<SPAN style="COLOR: #000000">append</SPAN><SPAN style="COLOR: #000000">(</SPAN>" <SPAN style="COLOR: #000000">)</SPAN> row_ where rownum &lt;= ?<SPAN style="COLOR: #000000">)</SPAN> where rownum_ &gt; ?"<SPAN style="COLOR: #000000">)</SPAN>; <BR>&nbsp; <SPAN style="FONT-WEIGHT: bold; COLOR: #990066" ?>return</SPAN> pagingSelect.<SPAN style="COLOR: #000000">toString</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">)</SPAN>; <BR><SPAN style="COLOR: #000000">}<BR></SPAN><BR>MySql中的：<BR><BR><SPAN style="FONT-WEIGHT: bold; COLOR: #990066" ?>public</SPAN> <SPAN style="COLOR: #aaaadd" ?>String</SPAN> getLimitString<SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #aaaadd" ?>String</SPAN> sql<SPAN style="COLOR: #000000">)</SPAN> <SPAN style="COLOR: #000000">{</SPAN> <BR>&nbsp; <SPAN style="COLOR: #aaaadd" ?>StringBuffer</SPAN> pagingSelect = <SPAN style="FONT-WEIGHT: bold; COLOR: #990066" ?>new</SPAN> <SPAN style="COLOR: #aaaadd" ?>StringBuffer</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000" ?>100</SPAN><SPAN style="COLOR: #000000">)</SPAN>; <BR>&nbsp; pagingSelect.<SPAN style="COLOR: #000000">append</SPAN><SPAN style="COLOR: #000000">(</SPAN>sql<SPAN style="COLOR: #000000">)</SPAN>; <BR>&nbsp; pagingSelect.<SPAN style="COLOR: #000000">append</SPAN><SPAN style="COLOR: #000000">(</SPAN>" limit ?, ?"<SPAN style="COLOR: #000000">)</SPAN>; <BR>&nbsp; <SPAN style="FONT-WEIGHT: bold; COLOR: #990066" ?>return</SPAN> pagingSelect.<SPAN style="COLOR: #000000">toString</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">)</SPAN>; <BR><SPAN style="COLOR: #000000">}</SPAN><BR><BR>下面是jsp中的一些分页代码（采用第二种）：<BR><BR>&lt;script language="JavaScript"&gt;<BR>//实现分页功能 示例<BR>//&nbsp; function forwardpage(page)<BR>//&nbsp;&nbsp;&nbsp; {<BR>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.location="&lt;!--%=request.getContextPath()%--&gt;/.do?op=&amp;cp="+page;//&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; function selectPage(){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var thePage = document.all("spage").value;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(thePage&lt;1){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("请选择一页！");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; turnToPage(thePage);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; }<BR>&lt;/script&gt;<BR>&nbsp;&lt;%<BR>&nbsp;&nbsp;&nbsp;&nbsp; String totalPage = (String) request.getAttribute("totalPage");<BR>&nbsp;&nbsp;&nbsp;&nbsp; String currentNum = request.getParameter("cp");<BR>&nbsp;&nbsp;&nbsp;&nbsp; int cp = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp; int pageNum = 0;<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(totalPage==null||totalPage.equals("")){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; totalPage = "10";<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; pageNum = Integer.parseInt(totalPage);<BR>&nbsp;&nbsp;&nbsp;&nbsp; if(currentNum == null || currentNum.trim().equals("")){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp = 1;<BR>&nbsp;&nbsp;&nbsp;&nbsp; }else{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp = Integer.parseInt(currentNum);<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; currentNum = null;<BR>&nbsp;&nbsp;&nbsp;&nbsp; totalPage = null;<BR>%&gt;</P>
<P>&lt;table width="100%" border="0"&gt;<BR>&nbsp;&nbsp; &lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;共&lt;%=pageNum%&gt;页&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;/td&gt;<BR>&nbsp; &lt;% if(cp == 1){ %&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&nbsp; width="30" align="center" align="center"&gt;&lt;IMG alt=第一页<BR>&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; src="&lt;%=request.getContextPath()%/public/images/splitpage/unfirstpg.gif"&gt;&lt;/td&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&nbsp; width="20" align="center"&gt;&lt;IMG<BR>&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; alt=上一页 src="&lt;%=request.getContextPath()%&gt;/public/images/splitpage/unpreviouspg.gif"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<BR>&nbsp; &lt;%<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp; %&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&nbsp; width="20" align="center"&gt;&lt;IMG alt=第一页<BR>&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; src="&lt;%=request.getContextPath()%&gt;/public/images/splitpage/firstpg.gif" onclick="forwardpage('1')" style="cursor:hand"&gt;&lt;/td&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="20" align="center"&gt;&lt;IMG<BR>&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; alt=上一页 src="&lt;%=request.getContextPath()%&gt;/public/images/splitpage/previouspg.gif" onclick="forwardpage('&lt;%=cp-1%&gt;')" style="cursor:hand"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;<BR>&nbsp;&nbsp; &lt;%<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; if(cp == pageNum){<BR>&nbsp; %&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&nbsp; width="20" align="right"&gt;&lt;IMG&nbsp; alt=下一页<BR>&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; src="&lt;%=request.getContextPath()%&gt;/public/images/splitpage/unnextpg.gif"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&nbsp; width="20" align="right"&gt;&lt;IMG&nbsp; alt=最后一页<BR>&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; src="&lt;%=request.getContextPath()%&gt;/public/images/splitpage/unlastpg.gif"&gt;&lt;/td&gt;</P>
<P>&nbsp; &lt;% }<BR>&nbsp;&nbsp;&nbsp;&nbsp; else{<BR>&nbsp; %&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="20" align="right"&gt;&lt;IMG&nbsp; alt=下一页<BR>&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; src="&lt;%=request.getContextPath()%&gt;/public/images/splitpage/nextpg.gif" onclick="forwardpage('&lt;%=cp+1%&gt;')" style="cursor:hand"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/td&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td class="redbutton" width="20" align="right"&gt;&lt;IMG&nbsp; alt=最后一页<BR>&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; src="&lt;%=request.getContextPath()%&gt;/public/images/splitpage/lastpg.gif" onclick="forwardpage('&lt;%=pageNum%&gt;')" style="cursor:hand"&gt;&lt;/td&gt;</P>
<P>&nbsp; &lt;%&nbsp;&nbsp; }&nbsp;&nbsp; %&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&nbsp; width="20"&gt;&amp;nbsp;&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;跳转到&lt;select name="spage" onchange="selectPage()"&gt;&lt;%<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int pi=1;pi&lt;=pageNum;pi++){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option value="&lt;%=pi%&gt;"&gt;&lt;%=pi%&gt;&lt;/option&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %&gt;&lt;/select&gt;页&lt;/td&gt;<BR>&nbsp;&nbsp; &lt;/tr&gt;<BR>&lt;/table&gt;<BR></P><img src ="http://www.blogjava.net/TrampEagle/aggbug/30540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-02-14 09:11 <a href="http://www.blogjava.net/TrampEagle/archive/2006/02/14/30540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过jdbc获取数据库表字段信息</title><link>http://www.blogjava.net/TrampEagle/archive/2006/02/13/30427.html</link><dc:creator>TrampEagle</dc:creator><author>TrampEagle</author><pubDate>Mon, 13 Feb 2006 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/TrampEagle/archive/2006/02/13/30427.html</guid><wfw:comment>http://www.blogjava.net/TrampEagle/comments/30427.html</wfw:comment><comments>http://www.blogjava.net/TrampEagle/archive/2006/02/13/30427.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TrampEagle/comments/commentRss/30427.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TrampEagle/services/trackbacks/30427.html</trackback:ping><description><![CDATA[<P>在使用jdbc查询数据库返回的ResultSet中，含有一个对象“ResultSetMetaData”，可以通过这个对象来获取表字段的所有信息，包括：字段名，字段类型，字段类型名称等等，非常的不错，这样我们在使用查询的时候就有了更大的自由发挥程度，我们在获取一张表里的值时，并不需要对数据库表有过多的了解，我们照样可以对它进行正常的操作。<BR><BR>举例如下：<BR>package test.come.hyq.src;<BR><BR>import java.sql.*;<BR><BR>public class HyqTest {<BR>&nbsp; public HyqTest() {<BR>&nbsp; }<BR><BR>&nbsp; public static void main(String[] args){<BR><BR>&nbsp;&nbsp;&nbsp; String driver = "oracle.jdbc.driver.OracleDriver";</P>
<P>&nbsp;&nbsp;&nbsp; String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521: HYQ";</P>
<P>&nbsp;&nbsp;&nbsp; Statement stmt = null;</P>
<P>&nbsp;&nbsp;&nbsp; ResultSet rs = null;</P>
<P>&nbsp;&nbsp;&nbsp; Connection conn = null;</P>
<P>&nbsp;&nbsp;&nbsp; PreparedStatement pstmt = null;<BR><BR>&nbsp;&nbsp;&nbsp; ResultSetMetaData rsmd =&nbsp;null;<BR><BR>&nbsp;&nbsp;&nbsp; try {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Class.forName(driver);</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn =&nbsp; DriverManager.getConnection(strUrl, "hyq", "hyq");</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pstmt = conn.prepareStatement("SELECT * FROM H_TEST");</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs = pstmt.executeQuery();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rsmd = rs.getMetaData(); //获取字段名<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(rsmd != null){<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int count&nbsp; = rsmd.getColumnCount();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=1;i&lt;=count;i++){<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("hyqTest======"+rsmd.getColumnName(i));<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; }<BR><BR>&nbsp;&nbsp;&nbsp; catch (SQLException ex2) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ex2.printStackTrace();</P>
<P>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp; catch (Exception ex2) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ex2.printStackTrace();</P>
<P>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; finally{<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rsmd&nbsp; = null;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(rs != null){</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.close();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(stmt!=null){</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stmt.close();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(conn!=null){</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.close();</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (SQLException ex1) {</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>}<BR>}</P><img src ="http://www.blogjava.net/TrampEagle/aggbug/30427.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TrampEagle/" target="_blank">TrampEagle</a> 2006-02-13 11:25 <a href="http://www.blogjava.net/TrampEagle/archive/2006/02/13/30427.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>