﻿<?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-JCoffee's blog-随笔分类-j2se</title><link>http://www.blogjava.net/gosyl/category/6582.html</link><description>做最好的自己</description><language>zh-cn</language><lastBuildDate>Thu, 24 Apr 2008 04:54:12 GMT</lastBuildDate><pubDate>Thu, 24 Apr 2008 04:54:12 GMT</pubDate><ttl>60</ttl><item><title>如何用jar命令对java工程进行打包</title><link>http://www.blogjava.net/gosyl/archive/2008/04/18/194107.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Fri, 18 Apr 2008 12:52:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2008/04/18/194107.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/194107.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2008/04/18/194107.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/194107.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/194107.html</trackback:ping><description><![CDATA[<span style="color: #339966">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有时候为了更方便快捷的部署和执行Java程序，要把java应用程序打包成一个jar包。而这个基础的操作有时候也很麻烦，为了方便java程序员们能够方便的打包java应用程序，下面对jar命令进行介绍，并举出几个简单例子针对不同情况进行打包。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一.&nbsp;jar命令用法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在cmd命令窗口下输入jar，回车，就会提示改命令的用法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/gosyl/jar.jpg" border="0" /><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;二.例子（这里介绍的都是生成双击可执行的jar包）：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.首先介绍如何在命令行下执行打包程序。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.1.没有包结构的最简单的工程。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)在c：盘下新建文件&#8220;HelloWorld.java&#8221;：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div align="center">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<div align="left"><span style="color: #008080">1</span>&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;HelloWorld<br />
</span><span style="color: #008080">2</span>&nbsp;<span style="color: #000000">{<br />
</span><span style="color: #008080">3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args){<br />
</span><span style="color: #008080">4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Hello&nbsp;world!</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">6</span>&nbsp;<span style="color: #000000">}</span></div>
</div>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)在命令行下输入<span style="color: #0000ff">c:\javac HelloWorld.java</span>，在c：盘下编译生成&#8220;HelloWorld.class&#8221;。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)在c：盘下新建文件&#8220;menefest&#8221;（没有后缀名）：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div align="center">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98.12%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 26px; background-color: #eeeeee">
<div align="left"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">Main</span><span style="color: #000000">-</span><span style="color: #000000">Class:&nbsp;HelloWorld</span></div>
</div>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">注意最后要有一个空行</span>，否则会出现找不到类的错误。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(4)打包：输入<span style="color: #ff0000"><span style="color: #0000ff">c:\jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class</span><span style="color: #339966">,在c：盘下生成&#8220;HelloWorld.jar&#8221;。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(5)执行：输入<span style="color: #0000ff">c:\java -jar HelloWord.jar</span>。屏幕回显&#8220;HelloWorld&#8221;。<br />
<br />
</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.有包结构的java工程。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)在c:\com\gosyl\demo\下新建文件&#8220;HelloWorld.java&#8221;：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div align="center">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<div align="left"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.gosyl.demo;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;HelloWorld{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">HelloWorld</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
</div>
</div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)在命令行下输入<span style="color: #0000ff">c:\javac com/gosyl/demo/HelloWorld.java</span>，在c:\com\gosyl\demo\文件夹下编译生成&#8220;HelloWorld.class&#8221;。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)在c：盘下新建文件&#8220;menefest2&#8221;（没有后缀名）：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div align="center">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<div align="left"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">Main</span><span style="color: #000000">-</span><span style="color: #000000">Class:&nbsp;com.gosyl.demo.HelloWorld</span></div>
</div>
</div>
<span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注意最后要有一个空行</span>，<span style="color: #0000ff">冒号后面要一个空格。</span>否则会出现找不到类的错误。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(4)打包：输入<span style="color: #ff0000"><span style="color: #0000ff">c:\jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/</span><span style="color: #339966">,在c：盘下生成&#8220;HelloWorld.jar&#8221;。<br />
<br />
</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(5)执行：输入<span style="color: #0000ff">c:\java -jar HelloWord.jar</span>。屏幕回显&#8220;HelloWorld&#8221;。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.3.引用到外部jar包的java工程。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)在c:\com\gosyl\demo\下新建文件&#8220;Car.java&#8221;：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div align="center">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<div align="left"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.gosyl.demo;<br />
<br />
</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Car<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Light.on();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
</div>
</div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)在c:\com\gosyl\demo\下新建文件&#8220;Light.java&#8221;：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div align="center">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<div align="left"><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.gosyl.demo;<br />
<br />
</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Light&nbsp;<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;on(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">Light&nbsp;is&nbsp;on!</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
</div>
</div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(3)打包1：输入<span style="color: #ff0000"><span style="color: #0000ff">c:\jar cvf&nbsp; Light.jar&nbsp;com/gosyl/demo/Light.class</span><span style="color: #339966">,在c：盘下生成&#8220;Light.jar&#8221;。</span></span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(4)在c：盘下新建文件&#8220;menefest-car&#8221;（没有后缀名）：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<div align="center">
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee">
<div align="left"><span style="color: #000000">Main</span><span style="color: #000000">-</span><span style="color: #000000">Class:&nbsp;com.gosyl.demo.Car<br />
Class</span><span style="color: #000000">-</span><span style="color: #000000">Path:&nbsp;Light.jar</span></div>
</div>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注意最后要有一个空行，</span><span style="color: #0000ff">冒号后面要一个空格。</span>否则会出现找不到类的错误。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(5)打包2：输入<span style="color: #ff0000"><span style="color: #0000ff">c:\jar cvmf&nbsp; menifest-car Car.jar&nbsp;com/gosyl/demo/Car.class</span><span style="color: #339966">,在c：盘下生成&#8220;Car.jar&#8221;。</span></span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(6)执行：输入<span style="color: #0000ff">c:\java -jar Car.jar</span>。屏幕回显&#8220;Light is on&#8221;。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;三.总结<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.清单文件menifest，对格式要求很高，注意每个冒号后面要有一个空格，文件最后要有一个空行。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.对于引用到外部jar包的工程，需要在manifest中定义好Class-Path属性。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.对于双击.bat文件出现刷屏现象的情况，请直接把.bat文件的内容键入命令行执行。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.对于重复签名的jar包，在META-INF里面会出现多个签名文件，删除掉多余的，保存其中一个才能保证jws正常启动。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
<img src ="http://www.blogjava.net/gosyl/aggbug/194107.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2008-04-18 20:52 <a href="http://www.blogjava.net/gosyl/archive/2008/04/18/194107.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何对jar包进行数字签名？</title><link>http://www.blogjava.net/gosyl/archive/2008/04/08/191506.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Tue, 08 Apr 2008 07:19:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2008/04/08/191506.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/191506.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2008/04/08/191506.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/191506.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/191506.html</trackback:ping><description><![CDATA[<p>目的：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为了使Applet或者Java Web Start程序能够访问客户端本地资源，需要对Applet或者JWS程序jar包进行数字签名，之后客户端打开Applet或者JWS程序的时候会提示是否允许该程序访问本地资源，用户如果要用你的程序，当然只能选择OK了。这样你的程序就能按照某种访问权限来访问客户机的本地资源了。<br />
<br />
签名步骤：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.将程序打成jar包。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这个我就不多说了，用eclipse，netbeans等开发工具很方便就能打包的。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.用keytool命令生成.store文件。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在任意文件夹下建立一个keytool.bat文件，输入<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keytool -genkey -keystore xxx.keystore -alias&nbsp;xxx -validity 3650&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存,双击执行。将在当前目录下生成一个xxx.keystore文件， -alias后接的是别名，-validity后面接的是该证书有效天数，这里3650表示10年。（用这个证书签名的程序10年内有效）。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.用jarsigner程序对jar包进行签名。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新建jarsinger.bat文件，输入<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jarsigner -keystore xxx.keystore helloworld.jar&nbsp;xxx<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;保存，双击执行，helloworld.jar就被签名了。&nbsp;&nbsp;&nbsp;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;简单吧，有不懂的请联系我gosyl@yahoo.com.cn<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<img src ="http://www.blogjava.net/gosyl/aggbug/191506.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2008-04-08 15:19 <a href="http://www.blogjava.net/gosyl/archive/2008/04/08/191506.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求助：myeclipse5.0.1GA+eclipse3.2开发struts的问题</title><link>http://www.blogjava.net/gosyl/archive/2006/09/16/70080.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Sat, 16 Sep 2006 13:20:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2006/09/16/70080.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/70080.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2006/09/16/70080.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/70080.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/70080.html</trackback:ping><description><![CDATA[   我使用myeclipse5.0.1GA+eclipse3.2。新建一个web project，然后添加struts cababilities.在struts-config.xml的design标签页下（如下图）不能新建jsp文件。为什么呢？<br /><img height="325" alt="o_未命名.JPG" src="http://www.blogjava.net/images/blogjava_net/gosyl/15267/o_未命名.JPG" width="723" border="0" /><br /><img src ="http://www.blogjava.net/gosyl/aggbug/70080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2006-09-16 21:20 <a href="http://www.blogjava.net/gosyl/archive/2006/09/16/70080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>毕业了</title><link>http://www.blogjava.net/gosyl/archive/2006/05/21/47286.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Sun, 21 May 2006 06:17:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2006/05/21/47286.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/47286.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2006/05/21/47286.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/47286.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/47286.html</trackback:ping><description><![CDATA[
		<p> </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img id="Codehighlighter1_20_224_Open_Image" onclick="this.style.display='none'; Codehighlighter1_20_224_Open_Text.style.display='none'; Codehighlighter1_20_224_Closed_Image.style.display='inline'; Codehighlighter1_20_224_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
				<img id="Codehighlighter1_20_224_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_20_224_Closed_Text.style.display='none'; Codehighlighter1_20_224_Open_Image.style.display='inline'; Codehighlighter1_20_224_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> Student</span>
				<span id="Codehighlighter1_20_224_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_20_224_Open_Text">
						<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_46_76_Open_Image" onclick="this.style.display='none'; Codehighlighter1_46_76_Open_Text.style.display='none'; Codehighlighter1_46_76_Closed_Image.style.display='inline'; Codehighlighter1_46_76_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_46_76_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_46_76_Closed_Text.style.display='none'; Codehighlighter1_46_76_Open_Image.style.display='inline'; Codehighlighter1_46_76_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    Student(String name)</span>
						<span id="Codehighlighter1_46_76_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_46_76_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">this</span>
								<span style="COLOR: #000000">.name</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #000000">name;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_105_125_Open_Image" onclick="this.style.display='none'; Codehighlighter1_105_125_Open_Text.style.display='none'; Codehighlighter1_105_125_Closed_Image.style.display='inline'; Codehighlighter1_105_125_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_105_125_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_105_125_Closed_Text.style.display='none'; Codehighlighter1_105_125_Open_Image.style.display='inline'; Codehighlighter1_105_125_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">boolean</span>
						<span style="COLOR: #000000"> hasPassedCET4()</span>
						<span id="Codehighlighter1_105_125_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_105_125_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        <br /><img id="Codehighlighter1_166_186_Open_Image" onclick="this.style.display='none'; Codehighlighter1_166_186_Open_Text.style.display='none'; Codehighlighter1_166_186_Closed_Image.style.display='inline'; Codehighlighter1_166_186_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_166_186_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_166_186_Closed_Text.style.display='none'; Codehighlighter1_166_186_Open_Image.style.display='inline'; Codehighlighter1_166_186_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">boolean</span>
						<span style="COLOR: #000000"> gotEnoughCredits()</span>
						<span id="Codehighlighter1_166_186_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_166_186_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> age;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> name;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img id="Codehighlighter1_264_1113_Open_Image" onclick="this.style.display='none'; Codehighlighter1_264_1113_Open_Text.style.display='none'; Codehighlighter1_264_1113_Closed_Image.style.display='inline'; Codehighlighter1_264_1113_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" />
						<img id="Codehighlighter1_264_1113_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_264_1113_Closed_Text.style.display='none'; Codehighlighter1_264_1113_Open_Image.style.display='inline'; Codehighlighter1_264_1113_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> GraduateStudent </span>
				<span style="COLOR: #0000ff">extends</span>
				<span style="COLOR: #000000"> Student</span>
				<span id="Codehighlighter1_264_1113_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_264_1113_Open_Text">
						<span style="COLOR: #000000">{<br /><img id="Codehighlighter1_303_326_Open_Image" onclick="this.style.display='none'; Codehighlighter1_303_326_Open_Text.style.display='none'; Codehighlighter1_303_326_Closed_Image.style.display='inline'; Codehighlighter1_303_326_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_303_326_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_303_326_Closed_Text.style.display='none'; Codehighlighter1_303_326_Open_Image.style.display='inline'; Codehighlighter1_303_326_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">boolean</span>
						<span style="COLOR: #000000"> completedGraduateThesis()</span>
						<span id="Codehighlighter1_303_326_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_303_326_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/dot.gif" />   </span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_348_368_Open_Image" onclick="this.style.display='none'; Codehighlighter1_348_368_Open_Text.style.display='none'; Codehighlighter1_348_368_Closed_Image.style.display='inline'; Codehighlighter1_348_368_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_348_368_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_348_368_Closed_Text.style.display='none'; Codehighlighter1_348_368_Open_Image.style.display='inline'; Codehighlighter1_348_368_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    Photo getPhoto()</span>
						<span id="Codehighlighter1_348_368_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_348_368_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_397_417_Open_Image" onclick="this.style.display='none'; Codehighlighter1_397_417_Open_Text.style.display='none'; Codehighlighter1_397_417_Closed_Image.style.display='inline'; Codehighlighter1_397_417_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_397_417_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_397_417_Closed_Text.style.display='none'; Codehighlighter1_397_417_Open_Image.style.display='inline'; Codehighlighter1_397_417_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">boolean</span>
						<span style="COLOR: #000000"> healthCheckUp()</span>
						<span id="Codehighlighter1_397_417_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_397_417_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_434_454_Open_Image" onclick="this.style.display='none'; Codehighlighter1_434_454_Open_Text.style.display='none'; Codehighlighter1_434_454_Closed_Image.style.display='inline'; Codehighlighter1_434_454_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_434_454_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_434_454_Closed_Text.style.display='none'; Codehighlighter1_434_454_Open_Image.style.display='inline'; Codehighlighter1_434_454_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> stay()</span>
						<span id="Codehighlighter1_434_454_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_434_454_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />
								</span>
								<span style="COLOR: #000000">    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_478_479_Open_Image" onclick="this.style.display='none'; Codehighlighter1_478_479_Open_Text.style.display='none'; Codehighlighter1_478_479_Closed_Image.style.display='inline'; Codehighlighter1_478_479_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_478_479_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_478_479_Closed_Text.style.display='none'; Codehighlighter1_478_479_Open_Image.style.display='inline'; Codehighlighter1_478_479_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> leaveSchool()</span>
						<span id="Codehighlighter1_478_479_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_478_479_Open_Text">
								<span style="COLOR: #000000">{}</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img id="Codehighlighter1_510_511_Open_Image" onclick="this.style.display='none'; Codehighlighter1_510_511_Open_Text.style.display='none'; Codehighlighter1_510_511_Closed_Image.style.display='inline'; Codehighlighter1_510_511_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
								<img id="Codehighlighter1_510_511_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_510_511_Closed_Text.style.display='none'; Codehighlighter1_510_511_Open_Image.style.display='inline'; Codehighlighter1_510_511_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> enterAnotherSchool()</span>
						<span id="Codehighlighter1_510_511_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_510_511_Open_Text">
								<span style="COLOR: #000000">{}</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img id="Codehighlighter1_559_1111_Open_Image" onclick="this.style.display='none'; Codehighlighter1_559_1111_Open_Text.style.display='none'; Codehighlighter1_559_1111_Closed_Image.style.display='inline'; Codehighlighter1_559_1111_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_559_1111_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_559_1111_Closed_Text.style.display='none'; Codehighlighter1_559_1111_Open_Image.style.display='inline'; Codehighlighter1_559_1111_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">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">void</span>
						<span style="COLOR: #000000"> main(Sting[] args)</span>
						<span id="Codehighlighter1_559_1111_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_559_1111_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Student me</span>
								<span style="COLOR: #000000">=</span>
								<span style="COLOR: #0000ff">new</span>
								<span style="COLOR: #000000"> GraduateStudent(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">syl</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(me.hasPassCET4()<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />           </span>
								<span style="COLOR: #000000">&amp;&amp;</span>
								<span style="COLOR: #000000"> me.gotEnoughCredits()<br /><img id="Codehighlighter1_715_1066_Open_Image" onclick="this.style.display='none'; Codehighlighter1_715_1066_Open_Text.style.display='none'; Codehighlighter1_715_1066_Closed_Image.style.display='inline'; Codehighlighter1_715_1066_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_715_1066_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_715_1066_Closed_Text.style.display='none'; Codehighlighter1_715_1066_Open_Image.style.display='inline'; Codehighlighter1_715_1066_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />           </span>
								<span style="COLOR: #000000">&amp;&amp;</span>
								<span style="COLOR: #000000"> me.completedGraduateThesis())</span>
								<span id="Codehighlighter1_715_1066_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_715_1066_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            me.getPhoto();<br /><img id="Codehighlighter1_779_866_Open_Image" onclick="this.style.display='none'; Codehighlighter1_779_866_Open_Text.style.display='none'; Codehighlighter1_779_866_Closed_Image.style.display='inline'; Codehighlighter1_779_866_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_779_866_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_779_866_Closed_Text.style.display='none'; Codehighlighter1_779_866_Open_Image.style.display='inline'; Codehighlighter1_779_866_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span>
										<span style="COLOR: #0000ff">if</span>
										<span style="COLOR: #000000"> (me.healthCheckUp())</span>
										<span id="Codehighlighter1_779_866_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
												<img src="http://www.blogjava.net/images/dot.gif" />
										</span>
										<span id="Codehighlighter1_779_866_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />               me.leaveSchool();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />               me.enterAnotherSchool();<br /><img id="Codehighlighter1_871_1056_Open_Image" onclick="this.style.display='none'; Codehighlighter1_871_1056_Open_Text.style.display='none'; Codehighlighter1_871_1056_Closed_Image.style.display='inline'; Codehighlighter1_871_1056_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_871_1056_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_871_1056_Closed_Text.style.display='none'; Codehighlighter1_871_1056_Open_Image.style.display='inline'; Codehighlighter1_871_1056_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #0000ff">else</span>
										<span id="Codehighlighter1_871_1056_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
												<img src="http://www.blogjava.net/images/dot.gif" />
										</span>
										<span id="Codehighlighter1_871_1056_Open_Text">
												<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />               me.leaveSchool();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />               me.gotoHospital();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />               </span>
												<span style="COLOR: #0000ff">while</span>
												<span style="COLOR: #000000">(</span>
												<span style="COLOR: #000000">!</span>
												<span style="COLOR: #000000">me.healthCheckUp())<br /><img id="Codehighlighter1_1001_1002_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1001_1002_Open_Text.style.display='none'; Codehighlighter1_1001_1002_Closed_Image.style.display='inline'; Codehighlighter1_1001_1002_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1001_1002_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1001_1002_Closed_Text.style.display='none'; Codehighlighter1_1001_1002_Open_Image.style.display='inline'; Codehighlighter1_1001_1002_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />                   </span>
												<span id="Codehighlighter1_1001_1002_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
														<img src="http://www.blogjava.net/images/dot.gif" />
												</span>
												<span id="Codehighlighter1_1001_1002_Open_Text">
														<span style="COLOR: #000000">{}</span>
												</span>
												<span style="COLOR: #000000">
														<br />
														<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />               me.enterAnotherSchool();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span>
										</span>
										<span style="COLOR: #000000">
												<br />
												<img id="Codehighlighter1_1071_1105_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1071_1105_Open_Text.style.display='none'; Codehighlighter1_1071_1105_Closed_Image.style.display='inline'; Codehighlighter1_1071_1105_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" />
												<img id="Codehighlighter1_1071_1105_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1071_1105_Closed_Text.style.display='none'; Codehighlighter1_1071_1105_Open_Image.style.display='inline'; Codehighlighter1_1071_1105_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #0000ff">else</span>
								<span id="Codehighlighter1_1071_1105_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_1071_1105_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />             me.stay();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span>
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
		</div>
<img src ="http://www.blogjava.net/gosyl/aggbug/47286.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2006-05-21 14:17 <a href="http://www.blogjava.net/gosyl/archive/2006/05/21/47286.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]Tomcat5.5下配置JNDI JDBC数据源 </title><link>http://www.blogjava.net/gosyl/archive/2006/05/05/44680.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Fri, 05 May 2006 13:54:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2006/05/05/44680.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/44680.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2006/05/05/44680.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/44680.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/44680.html</trackback:ping><description><![CDATA[转载自<a href="http://www.kaifz.com/Tomcat5-5-JNDI-JDBC-t39764.htm">http://www.kaifz.com/Tomcat5-5-JNDI-JDBC-t39764.htm</a><br /><br />Tomcat5.5下配置JNDI JDBC数据源<br />w.kejia@gmail.com<br />1. 安装JDBC驱动<br />通常，将JDBC驱动安装到$CATALINA_HOME/common/lib下。<br />2. 声明你的资源引用<br />这里我们为JDBC数据源建立的JNDI资源名为“jdbc/dataSource2005”,需要在web应用部署描述文件web.xml中添加资源声明：<br />&lt;resource-ref&gt;<br />&lt;description&gt;<br />Resource reference to a factory for java.sql.Connection<br />instances that may be used for talking to a particular<br />database that is configured in the server.xml file.<br />&lt;/description&gt;<br />&lt;res-ref-name&gt;<br />jdbc/dataSource2005<br />&lt;/res-ref-name&gt;<br />&lt;res-type&gt;<br />javax.sql.DataSource<br />&lt;/res-type&gt;<br />&lt;res-auth&gt;<br />Container<br />&lt;/res-auth&gt;<br />&lt;/resource-ref&gt;<br />以下是一份简单、完整的web.xml文件内容：<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" <br />"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"&gt;<br />&lt;web-app id="StrutsWuApplication"&gt;<br />&lt;welcome-file-list&gt;<br />&lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />&lt;/welcome-file-list&gt;<br />&lt;resource-ref id="datasource"&gt;<br />&lt;description&gt;Database connection&lt;/description&gt;<br />&lt;res-ref-name&gt;jdbc/dataSource2005&lt;/res-ref-name&gt;<br />&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;<br />&lt;res-auth&gt;Container&lt;/res-auth&gt;<br />&lt;/resource-ref&gt;<br />&lt;/web-app&gt;<br />3. 配置Tomcat资源工厂<br />接下来修改应用的$CATALINA_HOME/conf/server.xml或web应用的/META-INF/context.xml文件，在相应的context节添加：<br />&lt;Context ...&gt;<br />...<br />&lt;Resource name="jdbc/dataSource2005" auth="Container" type="javax.sql.DataSource" username="sa" password="sa" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;databasename=northwind" maxActive="8" maxIdle="4"/&gt;<br />...<br />&lt;/Context&gt;<br />Tomcat标准数据源资源工厂配置项如下：<br />* driverClassName - 所使用的JDBC驱动类全称。<br />* maxActive - 同一时刻可以自数据库连接池中被分配的最大活动实例数。<br />* maxIdle - 同一时刻数据库连接池中处于非活动状态的最大连接数。<br />* maxWait - 当连接池中没有可用连接时，连接池在抛出异常前将等待的最大时间，单位毫秒。<br />* password - 传给JDBC驱动的数据库密码。<br />* url - 传给JDBC驱动的连接URL。<br />* user - 传给JDBC驱动的数据库用户名。<br />* validationQuery - 一个SQL查询语句，用于在连接被返回给应用前的连接池验证。如果指定了该属性，则必为至少返回一行记录的SQL SELECT语句。<br />4. 使用<br />Context initCtx = new InitialContext();<br />Context envCtx = (Context) initCtx.lookup("java:comp/env");<br />DataSource ds = (DataSource)envCtx.lookup("jdbc/dataSource2005");<br />Connection conn = ds.getConnection();<br />... use this connection to access the database ...<br />conn.close();<br />注意：Tomcat5.5不支持ConnectionPoolDataSource接口。<br />5. 参考<br />* http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html<br /><img src ="http://www.blogjava.net/gosyl/aggbug/44680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2006-05-05 21:54 <a href="http://www.blogjava.net/gosyl/archive/2006/05/05/44680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何让iis支持jsp，servlet</title><link>http://www.blogjava.net/gosyl/archive/2006/04/27/43515.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Thu, 27 Apr 2006 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2006/04/27/43515.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/43515.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2006/04/27/43515.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/43515.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/43515.html</trackback:ping><description><![CDATA[
		<p>配置要求：IIS（win2000 server 自带）、Java 2 SDK 1.4.2 (或更高版本)、Tomcat Web Server 连接器、Tomcat 5.0.24 (或更高版本)</p>
		<p>准备</p>
		<p>一、Java 2 SDK 1.4.2 (或更高版本)<br />1、 <a href="http://www.java.sun.com/downloads/">www.java.sun.com/downloads/</a> 网站中下载，选择<br />2、 Java 2 Platform, Standard Edition (J2SE)<br />3、  在下拉列表框中选择All platforms<br />4、  J2SE v 1.4.2_04  SDK  includes the JVM technology 下选择<br />5、  Download J2SE SDK<br />6、 选择accept后下载Windows Offline Installation, Multi-language        (j2sdk-1_4_2_04-windows-i586-p.exe, 49.36 MB) 版本</p>
		<p>二、Tomcat 5.0.24 (或更高版本)<br />1、<a href="http://jakarta.apache.org/site/binindex.cgi">http://jakarta.apache.org/site/binindex.cgi</a>下载<br />2、在Downloads中选择Binaries <br />3、在Tomcat 5.0.25 KEYS 中选择5.0.25 exe PGP MD5 下载</p>
		<p>三、Tomcat Web Server 连接器<br />1、<a href="http://jakarta.apache.org/site/binindex.cgi">http://jakarta.apache.org/site/binindex.cgi</a>下载<br />2、在Downloads中选择Binaries <br />3、在Tomcat Web Server Connectors KEYS 中选择<br />4、JK 2 <br />   JK 2 Binary Releases <br />5、出现Index of/dist/jakarta/tomcat-connectors/jk2/binaries<br />  界面，选择win32/然后选择下载<br />  jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip<br /> 注意 这个目录列表显示的文件名称被截断，所以需要观察浏览器状态栏中的提示，确认你准备下载的文件应该是以\"...iis.zip\"为结尾的</p>
		<p>安装</p>
		<p>一、Java 2 SDK<br />运行j2sdk-1_4_2_04-windows-i586-p.exe 按照提示安装（可以更改安装路径到你习惯的地方）。这里选择<br />d:\\jdk(jdk为自己新建的文件夹)</p>
		<p>二、Tomcat 5<br />运行jakarta-tomcat-5.0.24.exe 按照提示安装（可以更改至其它路径）。<br />这里选择d:\\tomcat5.0(tomcat5.0为自己新建的文件夹)<br />选择本地机器的jdk路径，一般情况下，安装文件会自动搜索并显示，如果没有正确显示，也可以手动更改<br />成功安装后，程序会提示启动tomcat并查看readme文档。<br />注意: 启动Tomcat之前要确定系统没有其它服务已经占用8080端口(Tomcat默认端口)和8009端口( Tomcat\'s AJP13 连接器端口) <br />Tomcat正常启动后会在系统栏加载图标<br />注意： tomcat5.0以下的版本必须设初始密码，tomcat5.0以上的可以不设</p>
		<p>三、Tomcat JK2 IIS 连接器<br />解压缩jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip得到bin  conf  doc三个文件夹，进入<a href="file://\\bin\\">\\bin\\</a>后可见isapi_redirector2.dll。<br />剪切/复制isapi_redirector2.dll 文件到Tomcat\'s bin\\目录中<br />新建目录win32\\i386\\ 并粘贴isapi_redirector2.dll。<br />记住这个路径，稍后配置IIS的时候还会用到。这个路径不是系统要求的，可改变！<br />现在可以删除jakarta-tomcat-connectors-jk2.0.4-win32-IIS目录，这里面的文件已经没用了。实际上在jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip中我们只用到了isapi_redirector2.dll一个文件</p>
		<p>设置<br />一、tomcat<br />进入 Tomcat\'s conf\\ 文件夹.<br />要支持 JK2 连接器, 你可能需要修改jk2.properties文件. 大多数情况下保留此文件的默认状态即可，本人的多次配置过程都没有修改过这个文件。</p>
		<p>## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED<br />## WHEN YOU EDIT THE FILE.</p>
		<p>## COMMENTS WILL BE _LOST_</p>
		<p>## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.</p>
		<p># Set the desired handler list<br /># handler.list=apr,request,channelJni<br /># <a href="http://www.domain.com">www.domain.com</a><br /># Override the default port for the socketChannel<br /># channelSocket.port=8019<br /># Default: <br /># channelUnix.file=${jkHome}/work/jk2.socket<br /># Just to check if the the config  is working<br /># shm.file=${jkHome}/work/jk2.shm</p>
		<p># In order to enable jni use any channelJni directive<br /># channelJni.disabled = 0<br /># And one of the following directives:</p>
		<p># apr.jniModeSo=/opt/apache2/modules/mod_jk2.so</p>
		<p># If set to inprocess the mod_jk2 will Register natives itself<br /># This will enable the starting of the Tomcat from mod_jk2<br /># apr.jniModeSo=inprocess<br />request.tomcatAuthentication=false</p>
		<p>
				<br />设置环境变量tomcat_home。指向tomcat的安装目录d:\\Tomcat 5.0下。注意要求系统有可用JAVA_HOME环境变量</p>
		<p>创建workers2.properties到d:\\Tomcat 5.0\\conf下。workers2.properties内容文件如下：<br />[shm]<br />file=\"d:/Tomcat 5.0/logs/jk2.shm\"<br />size=1048576</p>
		<p># Example socket channel, override port and host.<br />[channel.socket:localhost:8009]<br />port=8009<br />host=127.0.0.1</p>
		<p># define the worker<br />[ajp13:localhost:8009]<br />channel=channel.socket:localhost:8009</p>
		<p># Uri mapping<br />[uri:/*.jsp]<br />[uri:/servlet/*]<br />worker=ajp13:localhost:8009</p>
		<p>三、Tomcat IIS 连接器<br />你已经放置isapi_redirector2.dll在你的路径下，本例子中是<br />d:\\Tomcat 5.0\\bin\\win32\\i386<br />现在需要添加一些必要的注册信息到注册表，redirector被IIS调用时会读到。建立一个.reg文件</p>
		<p>Windows Registry Editor Version 5.00<br />[HKEY_LOCAL_MACHINE\\SOFTWARE\\Apache Software Foundation\\Jakarta Isapi Redirector\\2.0]<br />\"workersFile\"=\"d:\\\\Tomcat 5.0\\\\conf\\\\workers2.properties\"<br />\"extensionUri\"=\"/jakarta/isapi_redirector2.dll\"<br />\"logLevel\"=\"debug\"<br />\"serverRoot\"=\"d:\\\\Tomcat 5.0\\\\\"<br />在记事本中写入上面的文字，并保存为 reg.reg <br />双击.reg文件,在注册表中的内容将会添加成功<br />HKEY_LOCAL_MACHINE\\SOFTWARE\\Apache Software Foundation\\Jakarta Isapi Redirector\\2.0中可以看到。</p>
		<p>四、给Tomcat配制虚拟主机多个站点。<br />新建两个文件夹d:\\tomcat1和d:\\tomcat2。在两个文件夹里面再分别建立一个ROOT目录。</p>
		<p>记事本打开d:\\Tomcat5.0\\conf\\server.xml文件。在文件server.xml中找到<br />标签；在标签之后新建如下信息：</p>
		<p>
				<a href="http://www.tomcat1.com\">www.tomcat1.com\</a>" appBase=\"d:\\tomcat1\" &gt;</p>
		<p>
				<a href="http://www.tomcat2.com\">www.tomcat2.com\</a>" appBase=\"d:\\tomcat2\"&gt;</p>
		<p>主要就是新建两个虚拟主机<a href="http://www.tomcat1.com">www.tomcat1.com</a>和<a href="http://www.tomcat2.com">www.tomcat2.com</a>。站点目录分别是d:\\tomcat1和d:\\tomcat2。d:\\tomcat1\\ROOT和d:\\tomcat2\\ROOT。分别是两个站点的主目录。也建立了日志文件和访问日志文件。</p>
		<p>五、打开tomcat的/servlet/*的映射。<br />记事本打开d:\\Tomcat 5.0\\conf\\web.xml文件。<br />把<br />    <br />        invoker<br />        <br />         org.apache.catalina.servlets.InvokerServlet<br />        <br />        <br />            debug<br />            0<br />        <br />        2<br />    <br />和<br />    <br />        invoker<br />        /servlet/*<br />    <br />这两个代码段的注释去掉，使其生效。</p>
		<p>六、在iis中建立两个站点tomcat1和tomcat2。建立时注意主机头分别设成<a href="http://www.tomcat1.com">www.tomcat1.com</a>和<a href="http://www.tomcat2.com">www.tomcat2.com</a>。主目录分别设成d:\\tomcat1\\ROOT和d:\\tomcat2\\ROOT。两个站点分别建立名称为jakarta的ISAPI筛选器。可执行文件都指向d:\\Tomcat 5.0\\conf\\connector\\isapi_redirector2.dll。</p>
		<p>两个站点分别新建虚拟目录别名都填：jakarta，目录选择指向：d:\\Tomcat 5.0\\bin\\win32\\i386在\"执行（例如ISAPI应用程序或CGI）\"一项打上勾，完成。</p>
		<p>IIA筛选器<br />再进行筛选器的选择时，选用jakarta可执行文件为d:\\Tomcat 5.0\\bin\\win32\\i386<br /> <br />建筛选器所需要的虚拟目录<br />选择需要加载Tomcat服务站点，右键选择新建,再选择虚拟目录。创建虚拟目录，别名为jakarta。注意这个名字是固定值，不要拼写错误！指定目录为isapi_redirector2.dll所在目录. 本例子中是 d:\\Tomcat 5.0\\bin\\win32\\i386<br /> <br />重启tomcat和iis。</p>
		<p>在tomcat1和tomcat2文件夹下最好放一个index.htm和一个index.jsp文件.方便测试。<br /></p>
<img src ="http://www.blogjava.net/gosyl/aggbug/43515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2006-04-27 11:35 <a href="http://www.blogjava.net/gosyl/archive/2006/04/27/43515.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java学习</title><link>http://www.blogjava.net/gosyl/archive/2006/04/24/42852.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Mon, 24 Apr 2006 08:50:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2006/04/24/42852.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/42852.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2006/04/24/42852.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/42852.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/42852.html</trackback:ping><description><![CDATA[        学习java是个长期的过程。每次想学习某种java技术的时候，往往会牵扯出其它好几种技术，其它的好几种技术又牵扯出其它更多的技术。学到一半的时候觉得技术面太广，往往失去兴趣，导致所有技术都只学到一点皮毛。现在急需一个大型项目让自己深入应用这些东西。<br />        发现自己还是没有找到一种很好的自学方式。。。<br /><img src ="http://www.blogjava.net/gosyl/aggbug/42852.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2006-04-24 16:50 <a href="http://www.blogjava.net/gosyl/archive/2006/04/24/42852.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java Web服务 学习笔记1</title><link>http://www.blogjava.net/gosyl/archive/2006/04/21/42404.html</link><dc:creator>gosyl</dc:creator><author>gosyl</author><pubDate>Fri, 21 Apr 2006 11:43:00 GMT</pubDate><guid>http://www.blogjava.net/gosyl/archive/2006/04/21/42404.html</guid><wfw:comment>http://www.blogjava.net/gosyl/comments/42404.html</wfw:comment><comments>http://www.blogjava.net/gosyl/archive/2006/04/21/42404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gosyl/comments/commentRss/42404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gosyl/services/trackbacks/42404.html</trackback:ping><description><![CDATA[
		<p>
				<br />面向服务的体系结构<br />   a服务<br />   b服务描述</p>
		<p>一些术语<br />SOAP（Simple Object Access Protocal,简单对象访问协议）<br />WSDL(Web Service Description Language,Web服务描述语言)<br />UDDI（Universal Description,Discovery and Integration,通用描述，发现和集成）</p>
		<p>参与者角色<br />1.提供者：提供者是一个被他人视为可以通过网络访问的服务的软件资产。<br />  ａ具有xml形式的描述<br />  ｂ具有一个封装了行为的具体实现</p>
		<p>2.注册中心：一个注册中心管理着关于提供者及其软件资产的信息资料库。<br />这个资料库包括:<br />　ａ业务数据，如名字，描述和联系信息。<br />　ｂ数据描述策略，业务处理以及软件绑定。</p>
		<p>3.请求者：从面向服务的体系结构中，请求者是一个业务对象，它发现并调用由一个或多个提供者提<br />供的软件资产。从复合计算的观点来说，服务请求者是一个应用程序，它查找提供者并初始化与提供<br />者的交互。这个角色可以由下列事物承担：<br />   a使用web浏览器的人。<br />   b没有用户界面的计算实体，例如另外一个web服务。</p>
		<p>参与者的交互<br />1.发布：提供者将服务信息发布到注册中心。发布机制有多种：<br />   a直接的<br />        服务提供者通过email，FTP或者分发CD的方式，直接向服务提供者提供服务描述。<br />在这种情况下没有注册中心，请求者负责定位服务并获取它们的描述。<br />   bHTTP GET请求<br />        服务请求者直接使用HTTP GET请求直接从服务提供者处获取服务描述。<br />这个模型使用了注册中心（公共的web资料库）<a href="http://www.xmethods.com/" target="_blank"><a href="http://www.xmethods.com/" target="_blank">http://www.xmethods.com</a></a><br />   c动态发现<br />这种机制通过编程在本地和公共的注册中心中存储或者获取服务描述。在web服务世界中，<br />虽然有许多注册中心（例如ebXML等），然而最常用的却是UDDI。从字面上来说，服务提<br />供者是使用特殊的API继来发布web服务描述的应用程序。<br />2.服务定位（发现）<br />   在这种情况下，服务请求者是一个使用特殊API集向公共或者私有注册中心查询服务描述的应用<br />   程序。这些查询采用定义良好的XML格式。<br />3.绑定<br />   绑定交互设计服务提供者和服务请求者，而注册中心是可选项。<br />   绑定是一个应用程序在使用服务描述生成消息并发送给服务提供者的过程中所做的事情。<br />   Web服务描述文件（WSDL文件）指定服务所支持的网络协议，用来访问服务的API，以及<br />   与请求者使用服务相关的其它内容。</p>
<img src ="http://www.blogjava.net/gosyl/aggbug/42404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gosyl/" target="_blank">gosyl</a> 2006-04-21 19:43 <a href="http://www.blogjava.net/gosyl/archive/2006/04/21/42404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>