﻿<?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>IT博客- i have only belief--wjw-随笔分类-JAVA(JSP)</title><link>http://www.cnitblog.com/wjw/category/3787.html</link><description>             生活是精彩还是黑暗，完全取决于自己-------I  BELIEF。</description><language>zh-cn</language><lastBuildDate>Wed, 28 Sep 2011 11:55:16 GMT</lastBuildDate><pubDate>Wed, 28 Sep 2011 11:55:16 GMT</pubDate><ttl>60</ttl><item><title>The type XXX cannot be resolved. It is indirectly referenced from required .class files错误.....</title><link>http://www.cnitblog.com/wjw/archive/2007/08/02/31125.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Thu, 02 Aug 2007 02:00:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2007/08/02/31125.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/31125.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2007/08/02/31125.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/31125.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/31125.html</trackback:ping><description><![CDATA[<div class=postTitle>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误.....,查找的解决办法如下:</div>
<div class=postText>
<p>一: <font color=#ff0000>错误提示：</font>&nbsp;It is indirectly referenced from required .class file 错误的解决</p>
<p><font color=#ff0000>原因：</font>你正要使用的类调用了另一个类，而这个类又调用了其他类，这种关系可能会有好多层。而在这个调用的过程中，某个类所在的包的缺失就会造成以上那个错误。</p>
<p><font color=#ff0000>解决方法：</font>导入缺失的包<br><br>二:<br><span class=content><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">The</strong> project was not built since its build path is incomplete. <strong style="COLOR: white; BACKGROUND-COLOR: #886800">Cannot</strong> find <strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">the</strong> class file for <strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">java.lang.Object</strong>. Fix <strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">the</strong> build path then try building this project <br><br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">The</strong> <strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">type</strong> <strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">java.lang.Object</strong> <strong style="COLOR: white; BACKGROUND-COLOR: #886800">cannot</strong> <strong style="COLOR: white; BACKGROUND-COLOR: #004699">be</strong> <strong style="COLOR: white; BACKGROUND-COLOR: #990099">resolved</strong>. It is indirectly referenced from required .class files <br><br>出現以上訊息的原因是因為你裝了多個版本的jre或jdk的關係。本來Eclipse在建立專案時，會自動參照你的jre路徑，但多個版本就沒辦法了。 <br>你只能手動建立&#8230; <br>1. 進入window\preferences\java\Installed JREs <br>1)按Add <br>2)輸入JRE Name, 例JDK1.5.0.03 <br>3)JRE home directory, 選擇安裝的路徑 <br>4)按OK <br>2. 進入Project\properties\Java Bulid Path <br>1)Add library <br>2)選JRE System Library後按Next <br>3)選workplace default JRE後按finish... <br></span></p>
<p><br>按照这种方式处理了看下...&nbsp; 解决了来结帖...<br></p>
</div>
<img src ="http://www.cnitblog.com/wjw/aggbug/31125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2007-08-02 10:00 <a href="http://www.cnitblog.com/wjw/archive/2007/08/02/31125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>轻松设置classpath变量的方法 转</title><link>http://www.cnitblog.com/wjw/archive/2007/08/01/31084.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Wed, 01 Aug 2007 04:31:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2007/08/01/31084.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/31084.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2007/08/01/31084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/31084.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/31084.html</trackback:ping><description><![CDATA[<div class=posthead>windows classpath环境变量只需要把jar包复制到某个地方就大功告成.首先写bat：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="COLOR: #008000">REM</span><span style="COLOR: #008000">&nbsp;%windir%\system32\cp.bat</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">@echo&nbsp;off<br></span><span style="COLOR: #0000ff">set</span><span style="COLOR: #000000">&nbsp;CLASSPATH</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">.<br></span><span style="COLOR: #0000ff">FOR</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">R&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">C:\Program&nbsp;Files\Java\jdk1.5.0_06\lib</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;%%F&nbsp;IN&nbsp;(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">.jar)&nbsp;</span><span style="COLOR: #0000ff">DO</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">call</span><span style="COLOR: #000000">&nbsp;:addcp&nbsp;%%~sF<br></span><span style="COLOR: #0000ff">FOR</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">R&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">f:\acumon\pro\jars</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;%%F&nbsp;IN&nbsp;(</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">.jar)&nbsp;</span><span style="COLOR: #0000ff">DO</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">call</span><span style="COLOR: #000000">&nbsp;:addcp&nbsp;%%~sF<br><br></span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">&nbsp;extlibe<br><br>:addcp<br></span><span style="COLOR: #0000ff">set</span><span style="COLOR: #000000">&nbsp;CLASSPATH</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">%CLASSPATH%;%</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">&nbsp;:eof<br><br>:extlibe<br></span><span style="COLOR: #008000">REM</span><span style="COLOR: #008000">&nbsp;echo&nbsp;%classpath%</span><span style="COLOR: #008000"><br></span></div>
<br>其中"f:\acumon\pro\jars" 是放jar包的文件路径，/R参数表示递归添加其下所有子文件夹里边的jar包，然后把它保存到path变量关照到的地方去（比如%windir%\system32），需要设置classpath就cp一下.</div>
<img src ="http://www.cnitblog.com/wjw/aggbug/31084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2007-08-01 12:31 <a href="http://www.cnitblog.com/wjw/archive/2007/08/01/31084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java、JavaApplet与JavaScript间的通信  转</title><link>http://www.cnitblog.com/wjw/archive/2007/08/01/31079.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Wed, 01 Aug 2007 02:47:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2007/08/01/31079.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/31079.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2007/08/01/31079.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/31079.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/31079.html</trackback:ping><description><![CDATA[<table style="TABLE-LAYOUT: fixed">
    <tbody>
        <tr>
            <td>
            <div class=cnt><font color=#333333>　　javascript是用于HTML环境的开发语言，提供了能够响应Web页面事件的脚本，可以完全访问浏览器窗口的各个方面，善于合并HTML、Java Applet小程序、插入件、服务器方程序和其他Web组件，形成完全集成的Web应用程序。而Java是功能强大的著名开发语言，能够支持Web应用程序的开发，用于开发高级Web对象，并提供实现嵌入Web页面的可执行内容，具有更强的编程功能，可以作为javascript功能的良好补充，只不过这些功能被限制在有限的浏览器窗口区中。 <br>　　Java与javascript可以互相补充，以开发功能更完美的Web应用程序。本文归纳了笔者编程中曾使用过的，涉及到有关javascript与Java、Java Applet小程序之间互访的问题的一些方法，仅供参考。 <br>　　<br>　　<strong>一、从javascript中访问Java方法　</strong><br>　　<br>　　在HTML脚本中可以用javascript直接调用Java中的方法，只需要在调用语句前用&#8220;java.lang.&#8221;加以表示即可。具体语句用法如下例所示： <br>　　java.Lang.System.Out.println(&#8220;Hello!&#8221;) <br>　　但此种方法只适用于Netscape Navigator，一般不提倡在Web应用程序中使用。 <br>　　<br>　　<strong>二、从javascript中访问Java Applet小程序中的方法和变量 </strong><br>　　<br>　　通过javascript提供的Applet对象，javascript代码可以访问Java的变量和方法，具体步骤和用法示例如下。需要注意的是，javascript提供的applet对象具有name属性，而没有方法和事件处理器。 <br>　　步骤： <br>　　1） 将要访问的Java Applet小程序的方法和变量声明为Public，且必须在Public类中声明； <br>　　2） Java Applet小程序要先装入才能访问，尽管applet对象没有定义onLoad事件，但可以在HTML文档的〈body〉标志中，指定使用Window对象的onLoad事件处理器； <br>　　3） Java Applet小程序可以用javascript的applet对象来访问。 <br>　　示例： <br>　　&#8220;mytest.htm&#8221; <br>　　&lt;html&gt; <br>　　&lt;head&gt; <br>　　&lt;script language="javascript"&gt; <br>　　function accessApplet() <br>　　{ setTimeout("changeText('I like javascript!')",1000); <br>　　setTimeout("changeText('I like javascript and Java!')",2000); <br>　　setTimeout("changeText('I like Java!')",3000); <br>　　setTimeout("accessApplet()",4000); <br>　　} <br>　　function changeText(s) <br>　　{ <br>　　window.document.testText.setText(s)　<br>　　//此处调用JavaApplet小程序的setText（）方法 <br>　　//注意，小程序的名字必须为〈applet〉标志 name属性所标识 <br>　　} <br>　　&lt;/script&gt; <br>　　&lt;/head&gt; <br>　　&lt;body onload="accessApplet()"&gt;　<br>　　//通过调用accessApplet（）装入小程序 <br>　　&lt;applet code="Testtext.class" name="testText" width=450 height=150&gt; <br>　　&lt;/applet&gt; <br>　　&lt;/body&gt; <br>　　&lt;/html&gt; <br>　　&#8220;Testtext.java&#8221; <br>　　import java.applet.*; <br>　　&#8230;&#8230; <br>　　public class Testtext extends Applet <br>　　{ &#8230;&#8230; <br>　　public void setText(String s) //setText（）必须声明为&#8220;public&#8221; <br>　　{ <br>　　text=s; <br>　　repaint(); <br>　　} <br>　　} <br>　　<br>　　<strong>三、在Java Applet小程序中使用javascript </strong><br>　　<br>　　Live Connect提供了Java与javascript的接口，可以允许在Java Applet小程序中使用javascript。具体步骤如下： <br>　　1） 在HTML脚本中使用〈APPLET〉标志的MAYSCRIPT属性，以允许Java Applet小程序访问脚本； <br>　　2） 将netscape. javascript包导入Java Applet小程序； <br>　　3） 在Java Applet小程序中用JSObject类的getWindow( )方法创建javascript窗口的句柄； <br>　　4） 在Java Applet小程序中用JSObject类的getMember( )方法访问javascript对象； <br>　　5） 在Java Applet小程序中用JSObject类的eval( )方法调用javascript方法。 <br>　　示例： <br>　　&#8220;Readform. Java&#8221; <br>　　import netscape.javascript.JSObject； <br>　　import netscape.javascript.JSException； //可允许在小程序中处理异常事件 <br>　　&#8230;&#8230; <br>　　win=JSObject.getWindow(this)； // 获取javascript窗口句柄，引用当前文档窗口 <br>　　doc=(JSObject)win.getMember("document")； // 访问javascript对象 <br>　　form=(JSObject)doc.getMember("textform")； <br>　　textField=(JSObject)form.getMember("textField")； <br>　　text=(String) textField.getMember("value"); //获取文本区的值 <br>　　&#8230;&#8230; <br>　　win.eval("alert(\"This alert comes from Java!\")")； <br>　　// 调用javascript的alert（）方法 <br>　　&#8230;&#8230; <br>　　&#8220;User.htm&#8221; <br>　　&#8230;&#8230; <br>　　&lt;BODY&gt; <br>　　&lt;form name="textform"&gt; <br>　　&lt;P&gt;Enter text and then click display text: <br>　　&lt;input type="text" name="textField" size="20"&gt;&lt;/P&gt; <br>　　&lt;/form&gt; <br>　　&lt;applet code="Readform.class" width=200 height=100 name="readApp" MAYSCRIPT&gt; <br>　　//必须使用MAYSCRIPT属性标志 <br>　　&lt;/APPLET&gt; <br>　　&lt;/BODY&gt; <br></font></div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.cnitblog.com/wjw/aggbug/31079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2007-08-01 10:47 <a href="http://www.cnitblog.com/wjw/archive/2007/08/01/31079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>报表使用经验、技巧大总结</title><link>http://www.cnitblog.com/wjw/archive/2007/07/30/30891.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Mon, 30 Jul 2007 02:37:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2007/07/30/30891.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/30891.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2007/07/30/30891.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/30891.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/30891.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一、&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 利用基本的TABLE元素本来页面上是用jfreechart 绘制的数据分析图。但是由于有个页面绘制的图比较多，而且是js选择性的展示哪张图，头说都用jfreechart效率太慢了，把那简单的柱状图，拿去改改（用简单点，而且不怎么占资源的方式）。我反复思量，反复研究，终于搞出个小东西。虽然没有什么技术含量，...&nbsp;&nbsp;<a href='http://www.cnitblog.com/wjw/archive/2007/07/30/30891.html'>阅读全文</a><img src ="http://www.cnitblog.com/wjw/aggbug/30891.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2007-07-30 10:37 <a href="http://www.cnitblog.com/wjw/archive/2007/07/30/30891.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google Maps API编程资源大全</title><link>http://www.cnitblog.com/wjw/archive/2007/06/27/29151.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Wed, 27 Jun 2007 14:45:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2007/06/27/29151.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/29151.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2007/06/27/29151.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/29151.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/29151.html</trackback:ping><description><![CDATA[<h2 class=post-title>Google Maps API编程资源大全</h2>
<div class=post-body><img class=thumb alt=GoogleMaps src="http://www.williamlong.info/logo/googlemaps.gif">
<p>　　Google Maps API是Google自己推出编程API，可以让全世界对Google Maps有兴趣的程序设计师自行开发基于Google Maps的服务，建立自己的地图网站。以下是我在Google Maps API开发过程中找到的一些API的编程资源，包括中文文档，中文说明，示例等等，希望对Google Maps编程感兴趣的程序员有所帮助。</p>
<p>　　<strong>中文资料部分 </strong>（包括中文的文档说明等，以下的网址都是中文内容。）</p>
<p>　　<strong>下面的关于API的中文文档</strong></p>
<p>　　Google Maps API 第2版中文文档 <a href="http://www.step1.cn/GoogleApi/map2/documentation.htm" target=_blank><u><font color=#800080>http://www.step1.cn/GoogleApi/map2/documentation.htm</font></u></a></p>
<p>　　Google Maps API 第2版升级指南 <a href="http://www.step1.cn/GoogleApi/map2/upgrade.htm" target=_blank><u><font color=#0000ff>http://www.step1.cn/GoogleApi/map2/upgrade.htm</font></u></a></p>
<p>　　Google Maps API 第2版类参考 <a href="http://www.step1.cn/GoogleApi/map2/reference.htm" target=_blank><u><font color=#0000ff>http://www.step1.cn/GoogleApi/map2/reference.htm</font></u></a></p>
<p>　　另外一个版本的Google Maps API 2中文文档 <a href="http://www.zmap.org/doc/maps/documentation/" target=_blank><u><font color=#0000ff>http://www.zmap.org/doc/maps/documentation/</font></u></a></p>
<p>　　Google Maps API 第1版中文文档 <a href="http://www.step1.cn/GoogleAPI/map/documentation.htm" target=_blank><u><font color=#0000ff>http://www.step1.cn/GoogleAPI/map/documentation.htm</font></u></a></p>
<p>　　<strong>下面是关于KML文件的中文文档</strong></p>
<p>　　Google Earth KML中文说明（一） <a href="http://gisman.bokee.com/5294713.html" target=_blank><u><font color=#0000ff>http://gisman.bokee.com/5294713.html</font></u></a></p>
<p>　　Google Earth KML中文说明（二） <a href="http://gisman.bokee.com/5294722.html" target=_blank><u><font color=#0000ff>http://gisman.bokee.com/5294722.html</font></u></a></p>
<p>　　Google Earth KML中文说明（基于Google Earth客户端版本3.0 的KML 版本2.0） <a href="http://www.step1.cn/googleapi/map/kml.htm" target=_blank><u><font color=#0000ff>http://www.step1.cn/googleapi/map/kml.htm</font></u></a></p>
<p>　　<strong>英文资料部分</strong> （主要是Google官方的文档说明，如果觉得中文翻译的有问题，也可以看看这些原始内容。)</p>
<p>　　Google Maps API 官方网 <a href="http://www.google.com/apis/maps/" target=_blank><u><font color=#0000ff>http://www.google.com/apis/maps/</font></u></a></p>
<p>　　Google Maps API 英文文档 <a href="http://www.google.com/apis/maps/documentation/" target=_blank><u><font color=#0000ff>http://www.google.com/apis/maps/documentation/</font></u></a></p>
<p>　　Google Maps API 官方Blog <a href="http://googlemapsapi.blogspot.com/" target=_blank><u><font color=#0000ff>http://googlemapsapi.blogspot.com/</font></u></a></p>
<p>　　Google Maps API 论坛 <a href="http://groups.google.com/group/Google-Maps-API" target=_blank><u><font color=#0000ff>http://groups.google.com/group/Google-Maps-API</font></u></a></p>
<p>　　Google KML 的官方文档 <a href="http://earth.google.com/kml/" target=_blank><u><font color=#0000ff>http://earth.google.com/kml/</font></u></a></p>
<p>　　Google API官方网 <a href="http://code.google.com/" target=_blank><u><font color=#0000ff>http://code.google.com/</font></u></a></p>
</div>
<img src ="http://www.cnitblog.com/wjw/aggbug/29151.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2007-06-27 22:45 <a href="http://www.cnitblog.com/wjw/archive/2007/06/27/29151.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBuilder产品蓝图以Eclipse为框架 </title><link>http://www.cnitblog.com/wjw/archive/2006/08/29/16135.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Tue, 29 Aug 2006 10:39:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/08/29/16135.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/16135.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/08/29/16135.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/16135.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/16135.html</trackback:ping><description><![CDATA[作者： <span class="textorange">颜雍（《每周电脑报》）</span><br />2005-08-29 05:20 PM<br /><br /><br /><br /><p>6 月17 日，Borland 软件公司正式发布其Java 集成开发环境的JBuilder未来发展的蓝图，细节包括加大以Eclipse作为 JBuilder 集成框架的投资和引入崭新的开发者协作和生产力功能，并指出开发者可如何尽享B o r l a n d 软件交付最优化（SDO）理念的优势。 </p><p>Borland大中华区CTO李维说：“软件开发已踏入一个新时代。现在许多开发团队规模庞大，往往涉及多个不同的企业岗位，更横跨地域。开发者要更注重在团队中提高自身的技术水平和贡献。软件交付的成功取决于团队协作、交流、灵活性以及效率。Borland 下一代以开发员为中心的解决方案专为帮助个人和团队面对新时代的挑战。” </p><p>Borland计划在来年推出两款JBuilder 新产品，以迎合企业 J a v a 开发者不断进步的需要。JBuilder 2006 将先行在今年下半年推出，另一款代号为 ‘Peloton ’的Jbuilder新产品则会在明年上半年推出。 ‘Peloton ’将以 Eclipse 作为集成框架基础，让开发者享用开放 Eclipse 平台的灵活性和全系列 E c l i p s e 的接入组件。JBuilder 支持和维护服务的的客户将可免费升级到这两项产品。新增功能包括将在JBuilder 2 0 0 5 实现的分布式重构。 JBuilder 2006 将拥有更多崭新协作功能，包括共享代码编辑视图和联合调试，就算开发队伍分散全球，亦能紧密协作，如同坐同一工作站前工作般。 </p><p>李维透露，Borland 还计划在 JBuilder 以后的版本中，进一步提高实时可视性，让开发者一眼看清源码变更对应用的不同层次甚至整个项目的影响。这对于把软件开发变革成可管理及成功业务流程至为关键。</p><img src ="http://www.cnitblog.com/wjw/aggbug/16135.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-08-29 18:39 <a href="http://www.cnitblog.com/wjw/archive/2006/08/29/16135.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Windows XP SP2下使用JDBC连接MS SQLServer 2000的问题</title><link>http://www.cnitblog.com/wjw/archive/2006/08/22/15752.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Tue, 22 Aug 2006 15:12:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/08/22/15752.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/15752.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/08/22/15752.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/15752.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/15752.html</trackback:ping><description><![CDATA[1.1433端口问题<br />在sp2下，防火墙默认的是关闭这个端口的。需要自己去打开。控制面板-防火墙-例外，分别填加TCP 1433端口UDP 1433端口<br /><br />2、下载SQL Server 2000 driver for JDBC <br />SQL Server 2000 Driver For JDBC Downloads <br />该驱动截止目前有四个版本，建议下载最新的SP3版。 <br />该驱动安装成功后，请将安装目录下的lib目录下的三个.jar文件加到CLASSPATH中；如果你使用的是JBuilder或Eclipse，将这三个文件根据IDE的提示加到工程中也可。 <br /><br />3、升级你的SQL Server 2000，为其打上最新的补丁。 <br />是安装最新的SQL Server 2000补丁（SP4）和JDBC驱动（SP3）。 <br />如果你的程序在运行时提示：Error establishing socket，一般情况下，打上SQL Server 2000的补丁就可解决。 <br /><br />4、驱动的加载方法 <br />在建立连接之前，要先加载SQL Server 2000 JDBC的驱动，代码形式如下： <br />Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); <br /><br /><br />5、获得一个连接 <br />在操作数据库之前，要先获得与数据库的一个连接，使用如下代码格式： <br />DriverManager.getConnection(连接字符串, 登录用户名, 登录密码); <br />例： <br />DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", ""); <br />在此处关键的是连接字符串的内容，localhost部分即服务器的名字，可以更改；1433部分为SQL Server使用的端口号，根据实际情况修改即可；DatabaseName即为要连接的数据库的名字，在此注意DatabaseName之前的是分号，而不是冒号。 <br /><br />6、代码实例 <br /><br />// 导入Java SQL包，连接数据库必需； <br />import java.sql.*; <br /><br />public class TestDB { <br />public static void main(String[] args) { <br />String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; <br />String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs"; <br />String userName = "sa"; <br />String userPwd = ""; <br />Connection dbConn <br /><br />try { <br />Class.forName(driverName); <br />dbConn = DriverManager.getConnection(dbURL, userName, userPwd); <br />System.out.println("Connection Successful!"); <br />} <br />catch (Exception e) { <br />e.printStackTrace(); <br />} <br />} <br />} <br /><br /><br />6、可能出现的问题 <br />如果以上的代码运行后，输出"Connection Successful!"，那就代表一切正常，连接数据库成功，你可以进行Statement、ResultSet的操作了；反之的话，一定是出现了相应的异常。 <br />如果提示错误"Error establishing socket"，请根据之前的说明安装相应的SQL Server 2000补丁即可。 <br />如果提示"ClassNotFoundException"，那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 该段代码拼写有误，或者是SQL Server 2000 Driver For JDBC Lib目录下的三个.jar文件未加入到CLASSPATH中。 <img src ="http://www.cnitblog.com/wjw/aggbug/15752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-08-22 23:12 <a href="http://www.cnitblog.com/wjw/archive/2006/08/22/15752.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java相关术语大全(转载)</title><link>http://www.cnitblog.com/wjw/archive/2006/08/22/15750.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Tue, 22 Aug 2006 14:37:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/08/22/15750.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/15750.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/08/22/15750.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/15750.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/15750.html</trackback:ping><description><![CDATA[A-<br />AJAX: (建议不译，原因：专有名词) [Asynchronous JavaScript and XML，异步JavaScript及XML]<br />annotation: 注解<br />Ant: (建议不译，原因：专有名词)<br />AOP: (建议不译，原因：专有名词) [aspect-oriented programming, 面向方面编程]<br />application: 应用<br />argument: 参数<br /><br />-B-<br />B2B: (建议不译，原因：专有名词) [Business-to-Business, 业务对业务]<br />BAM: (建议不译，原因：专有名词) [Business Activity Monitoring, 业务活动监测]<br />BMP: (建议不译，原因：专有名词) [bean-managed persistence, Bean管理的持久化]<br />BPEL: (建议不译，原因：专有名词) [Business Process Excution Language, 业务流程执行语言]<br />BPM: (建议不译，原因：专有名词) [Business Process Modeling, 业务流程建模]<br />build: 建立；编译<br /><br />-C-<br />C2B: (建议不译，原因：专有名词) [Consumer-to-Business, 客户对业务]<br />CAD: (建议不译，原因：专有名词) [Computer Aided Design, 计算机辅助设计]<br />CAM: (建议不译，原因：专有名词) [Computer Aided Modeling, 计算机辅助建模]<br />case-insensitive: 大小写不敏感<br />case-sensitive: 大小写敏感<br />container: 容器<br />cluster: 集群<br />CMP: (建议不译，原因：专有名词) [container-managed persistence, 容器管理的持久化]<br />component: 组件，部件<br />configuration: 配置<br />context: 上下文，环境<br />control: 控件<br />convention: 约定<br />CORBA: (建议不译，原因：专有名词) [Common Object Request Broker Architecture，公共对象请求代理体系]<br />COS: (建议不译，原因：专有名词) [Common Object Services，公共对象服务]<br />couple: 耦合<br />CRUD: 专指数据库操作create, read, update, delete，可以不译<br /><br />-D-<br />Daemon: (建议不译，原因：专有名词) [Internet中用于邮件收发的后台程序]<br />DAO: (建议不译，原因：专有名词) [Data Access Object, 数据访问对象]<br />data: 数据<br />DBMS: (建议不译，原因：专有名词) [Database Management System, 数据库管理系统] <br />DDL: (建议不译，原因：专有名词) [Data Definition Language, 数据定义语言]<br />Declarative Programming: 声明式编程<br />delegate: 委托<br />Dependency Injection: 依赖注入<br />deploy: 部署<br />deserialize: 反序列化(也可译为反串行化)，即取出<br />dialect: (行业)术语<br />directive: 指令<br />DIT: (建议不译，原因：专有名词) [Directory Information Tree, 目录信息树]<br />DML: (建议不译，原因：专有名词) [Data Manipulation Language, 数据操作语言]<br />DNS: (建议不译，原因：专有名词) [Internet Domain Name System, 因特网域名系统]<br />domain: 域<br />DSL: (建议不译，原因：专有名词) [Domain-Specific Languages, 特定领域语言]<br />DTOs: (建议不译，原因：专有名词) [data transfer objects, 数据传输对象]<br /><br />-E-<br />EAI: (建议不译，原因：专有名词) [Enterprise Application Integration: 企业应用集成]<br />ECC: (建议不译，原因：专有名词) [error correcting codes: 错误纠正代码]<br />EIS: (建议不译，原因：专有名词) [Enterprise Information System: 企业信息系统]<br />EJB: (建议不译，原因：专有名词) [Enterprise JavaBean, 企业JavaBean]<br />encapsulate: 封装<br />ESB: (建议不译，原因：专有名词) [Enterprise Service Bus, 企业服务总线]<br />event: 事件<br /><br />-F-<br />FAQs: (建议不译，原因：专有名词) [Frequently Asked Questions, 经常提问的问题]<br />FIFO: 先进先出 [First in, First out]<br />fire: 触发<br />firewall: 防火墙<br />framework: 框架<br />function: 函数<br /><br />-G-<br />GoF: "四人帮"，对名著Design Patterns-Elements of Reusable Object-Oriented Software的四名作者的"戏"称。 <b><a class="wiki_link" title="wiki link" href="http://wiki.matrix.org.cn/Wiki.jsp?page=Gang of Four">Gang of Four</a></b><br />granularity: 颗粒性，颗粒度<br />GUI: (建议不译，原因：专有名词) [Graphic User Interface: 图形用户接口]<br />GUID: (建议不译，原因：专有名词) [Globally Unique Identifier: 全球唯一标识符]<br /><br />-H-<br />hard-coding: 硬碥码<br />Hibernate: (建议不译，原因：专有名词) [一种为应用程序提供持久化服务的框架]<br /><br />-I-<br />IDE: 集成开发环境  <b><a class="wiki_link" title="wiki link" href="http://wiki.matrix.org.cn/Wiki.jsp?page=Integrated Development Environment">Integrated Development Environment</a></b><br />implement: 实现<br />internet: 因特网 (也可以不译，原因：在中文环境下已经得到充分理解及认同)<br />intranet: 企业内部网<br />IoC: (建议不译，原因：专有名词) [Inversion of Control, 控制反转]<br /><br />-J-<br />JavaBean: (建议不译，原因：专有名词)<br />JCP: (建议不译，原因：专有名词) [Java Community Process, Java社区研究]<br />JDBC: (建议不译，原因：专有名词) [Java DataBase Connectivity, Java数据库连接]<br />JDO: (建议不译，原因：专有名词) [Java Data Objects, Java数据对象]<br />JES: Java企业系统  <b><a class="wiki_link" title="wiki link" href="http://wiki.matrix.org.cn/Wiki.jsp?page=Java Enterprise System">Java Enterprise System</a></b><br />JOnAS: (建议不译，原因：专有名词) [ Java Open Application Server, Java开放应用服务器]<br />JNDI: (建议不译，原因：专有名词) [Java Naming and Directory Interface, Java命名与目录接口]<br />JTA: (建议不译，原因：专有名词) [Java Transaction API: Java事务API]<br />JVM: (建议不译，原因：专有名词) [Java Virtual Machine: Java虚拟机]<br />JXTA: (建议不译，原因：专有名词) [一个用于P2P应用开发的网络计算平台]<br /><br />-K-<br /><br />-L-<br />Laszlo: (建议不译，原因：专有名词) [一个大量应用于internet应用程序的基于XML平台的开源项目]<br />LDAP: (建议不译，原因：专有名词) [Lightweight Directory Access Protocol, 轻量目录访问协议]<br />leverage: 均衡<br /><br />-M-<br />MEPs: (建议不译，原因：专有名词) [message exchange patterns，消息交换模式]<br />meta: 元<br />metadata: 元数据<br />method signature: 方法签名<br />middleware: 中间件<br />mock: 虚拟的<br />modal dialog: 模态对话框<br />modular: 模组。是模块module的集合，它由多个独立的模块构成。<br />modular organization: 模组结构<br />module: 模块<br />MOM: (建议不译，原因：专有名词) [message-oriented middleware，面向消息的中间件]<br />MVC: (建议不译，原因：专有名词) [Model-View-Control，模型-视图-控制]<br /><br />-N-<br />NDS: (建议不译，原因：专有名词) [Novell Directory Service，Novell目录服务]<br />NIS: (建议不译，原因：专有名词) [Network Information Service，网络信息服务]<br />node: 节点<br /><br />-O-<br />ODMG: (建议不译，原因：专有名词) [Object Data Management Group, 对象数据管理组织]<br />OGNL: (建议不译，原因：专有名词) [Object Graph Navigation Language, 对象图导航语言]<br />OODBMS: (建议不译，原因：专有名词) [Object-Oriented Database Management System,  面向对象数据库管理系统]<br />ORM: (建议不译，原因：专有名词) [object-relational (O-R) mapping,  对象关系映射]<br /><br />-P-<br />persistence: 持久化(使用SQL语句在关系数据库中存储数据)<br />POJO: (建议不译，原因：专有名词) [Plain Old Java Objects，简单初始Java对象]<br />POJI: (建议不译，原因：专有名词) [Plain Old Java Interface，简单初始Java接口]<br />procedural: 过程的<br />profiling: 配置<br />prototype: 原型<br /><br />-Q-<br />queue: 队列<br /><br />-R-<br />RAD: (建议不译，原因：专有名词)  [Rapid application development，快速应用开发]<br />RCS: (建议不译，原因：专有名词) [Revision Control System，修订控制系统]<br />RMI: (建议不译，原因：专有名词) [Remote Method Invocation: 远程方法调用]<br />retrieve: 检索<br />RIAs: 丰富的Internet应用程序  <b><a class="wiki_link" title="wiki link" href="http://wiki.matrix.org.cn/Wiki.jsp?page=Rich Internet Applications">Rich Internet Applications</a></b><br />RPC: (建议不译，原因：专有名词) [remote procedure calls，远程过程调用]<br /><br />-S-<br />schema: 规划，设计，方案<br />serialize: 序列化(也可译为串行化)，即保存<br />session: 会话<br />SOA: (建议不译，原因：专有名词) [Service-Oriented Architecture: 面向服务体系]<br />SOAP: (建议不译，原因：专有名词) [Simple Object Access Protocol，简单对象访问协议]<br />SPI: (建议不译，原因：专有名词) [Service Provider Interface，服务提供接口]<br />Spring: (建议不译，原因：专有名词)<br />SQL: (建议不译，原因：专有名词) [Structured Query Language，结构化查询语言]<br />Struts: (建议不译，原因：专有名词) [一种基于MVC模式的Web应用程序框架]<br />surrogate keys: 替代键<br /><br />-T-<br />tag: 标签<br />TDD: (建议不译，原因：专有名词) [Test Driven Development，测试驱动的开发]<br />third-party: 第三方，泛指其他开发商，生产商等<br />transaction: 事务<br />Tomcat: (建议不译，原因：专有名词) [一个非常有名的Java Web容器]<br /><br />-U-<br />UDT: (建议不译，原因：专有名词) [user-defined column types: 用户定义字段类型]<br />use case: 用例<br />UI: 用户界面 (User Interface)<br /><br />-V-<br /><br />-W-<br />wizard: 向导<br />Web: (建议不译，原因：专有名词)<br />Web service: (可以不译，原因：专有名词) [Web服务]<br />WS-addressing: (建议不译，原因：专有名词) [web service寻址]<br />WSDL: (建议不译，原因：专有名词) [Web Service Description Language: Web服务描述语言]<br />WYSIWYG: 所见即所得  <strong> WHAT YOU SEE WHAT YOU GET</strong><img src ="http://www.cnitblog.com/wjw/aggbug/15750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-08-22 22:37 <a href="http://www.cnitblog.com/wjw/archive/2006/08/22/15750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 3.2(Callisto) 正式发布！</title><link>http://www.cnitblog.com/wjw/archive/2006/07/02/13142.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Sun, 02 Jul 2006 02:41:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/07/02/13142.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/13142.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/07/02/13142.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/13142.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/13142.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Platform																																																																																						Project Explorer view																																A new Project Explorer vi...&nbsp;&nbsp;<a href='http://www.cnitblog.com/wjw/archive/2006/07/02/13142.html'>阅读全文</a><img src ="http://www.cnitblog.com/wjw/aggbug/13142.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-07-02 10:41 <a href="http://www.cnitblog.com/wjw/archive/2006/07/02/13142.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求救！jsp连接mysql问题！</title><link>http://www.cnitblog.com/wjw/archive/2006/06/24/12804.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Sat, 24 Jun 2006 14:12:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/06/24/12804.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/12804.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/06/24/12804.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/12804.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/12804.html</trackback:ping><description><![CDATA[
		<pre>我只是把mysql-connector-java-3.1.12-bin.jar放到%tomcat%/common/lib/下面，<br /><br />然后运行出错，<br /><br />错误如下：（两个写法错误一样）<br /><br />java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'use' at line 1
	com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
	com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
	com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)
	com.mysql.jdbc.Connection.execSQL(Connection.java:2988)
	com.mysql.jdbc.Connection.execSQL(Connection.java:2917)
	com.mysql.jdbc.Statement.executeQuery(Statement.java:824)
	org.apache.jsp.testmysql_jsp._jspService(testmysql_jsp.java:53)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
<br /><br /><br /><br /><br /><br />　<br /><br /><br /><br />页面连接代码如下：<br /><br /><br /><br /><br /><br /><br /><br />第一种：<br /><br />&lt;%@ page contentType="text/html; charset=gb2312" language="java" <br />import="java.sql.*" errorPage="" %&gt;<br />&lt;%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<br />%&gt;</pre>
		<pre>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br />&lt;title&gt;登陆&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;table width="300" border="1"&gt;<br />&lt;tr&gt;<br />  &lt;td&gt;用户名&lt;/td&gt;<br />  &lt;td&gt;密码：&lt;/td&gt;<br />  &lt;td&gt;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;%<br />//驱动程序名<br />String driverName="com.mysql.jdbc.Driver";<br />//数据库用户名，根据实际情况改成你的用户名<br />String userName="root";<br />//密码，改成你的密码<br />String userPasswd="123456";<br />//数据库名，改成你的数据库名称<br />String dbName="shop";<br />//表名，更改成你的表名<br />String tableName="use";<br />//联结字符串<br />String url="jdbc:mysql://localhost:3306/"+dbName;<br />Class.forName("com.mysql.jdbc.Driver").newInstance();<br />Connection connection=DriverManager.getConnection(url,userName,userPasswd);<br />Statement statement = connection.createStatement();<br />String sql="SELECT * FROM "+tableName;<br />ResultSet rs = statement.executeQuery(sql); <br />while(rs.next()) {%&gt;<br />&lt;tr&gt;<br />  &lt;td&gt;&lt;%= rs.getInt(1) %&gt;&lt;/td&gt;<br />  &lt;td&gt;&lt;%= rs.getString(2) %&gt;&lt;/td&gt;<br />&lt;/tr&gt;<br />&lt;%}   <br />out.print("数据库操作成功，恭喜你"); <br />rs.close();   <br />statement.close();   <br />connection.close();   <br />%&gt; <br />&lt;/table&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />第二种：<br /><br />&lt;%@ page contentType="text/html;charset=gb2312"%&gt; <br />&lt;%@ page import="java.sql.*"%&gt; <br />&lt;html&gt; <br />&lt;body&gt; <br />&lt;%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); <br />String url ="jdbc:mysql://localhost/shop?user=root&amp;password=123456&amp;useUnicode=true&amp;characterEncoding=8859_1"; <br />//testDB为你的数据库名 <br />Connection conn= DriverManager.getConnection(url); <br />Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); <br />String sql="select * from use"; <br />ResultSet rs=stmt.executeQuery(sql); <br />while(rs.next()) {%&gt; <br />您的第一个字段内容为：&lt;%=rs.getString(1)%&gt; <br />您的第二个字段内容为：&lt;%=rs.getString(2)%&gt; <br />&lt;%}%&gt; <br />&lt;%out.print("数据库操作成功，恭喜你");%&gt; <br />&lt;%rs.close(); <br />stmt.close(); <br />conn.close(); <br />%&gt; <br />&lt;/body&gt; <br />&lt;/html&gt;<br /><br /><br /><br /><br /><br /><br />希望那位可以帮我解决下<br /><br />　我现在在课程设计，今天搞了半天没有搞出来．<br /><br />或者教我也可以．<br /><br />我的qq：４９３８２３７１９<br /><br />Ｅmail:ihaveonlybelief@gmail.com<br /><br />谢谢！<br /><br /><br /></pre>
<img src ="http://www.cnitblog.com/wjw/aggbug/12804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-06-24 22:12 <a href="http://www.cnitblog.com/wjw/archive/2006/06/24/12804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP, J2SDK, Tomcat, 连接SQL Server 2000 全套系统配置</title><link>http://www.cnitblog.com/wjw/archive/2006/06/04/11560.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Sun, 04 Jun 2006 13:28:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/06/04/11560.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/11560.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/06/04/11560.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/11560.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/11560.html</trackback:ping><description><![CDATA[
		<p align="center">
				<font size="5">
				</font>
				<br /> </p>
		<br />
		<strong>第一步：----安装J2SDK:<br /></strong>
		<br />      到SUN官方站点(http://java.sun.com)下载J2SDK的安装文件：j2sdk-1_4_2_04-windows-i586-p.exe，下载之后<br />      安装好J2SDK；<br />      安装完之后，设置环境变量：我的电脑---属性---高级---环境变量；<br />      选择---系统变量(S)：<br />         设置JAVA_HOME环境变量：<br />             单击---新建，在变量名中输入：JAVA_HOME<br />                          在变量值中输入：D:\Java<br />                          (假设J2SDK安装在目录D:\Java下，反正就是J2SDK的安装目录。)<br />             然后---确定，到此已经设置好JAVA_HOME环境变量。<br />         设置CLASSPATH环境变量：<br />             单击---新建，在变量名中输入：CLASSPATH<br />                          在变量值中输入：D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;D:\Java\lib\tools.jar<br />                          (中间的点号“.”和分号“;”必不可少。)<br />             然后---确定，到此已经设置好CLASSPATH环境变量。<br />         设置PATH环境变量：<br />             单击---新建，在变量名中输入：PATH<br />                          在变量值中输入：D:\Java;.;D:\Java\bin<br />                          (中间的点号“.”和分号“;”必不可少。)<br />             然后---确定，到此已经设置好JAVA_HOME环境变量。<br />      三个环境变量设置好后，写一个简单的java程序来测试J2SDK是否已安装成功：<br />         在D:\下新建一个目录test；然后写如下程序：<br />              public class Test { <br />                   public static void main(String args[]) { <br />                        System.out.println("This is a test program."); <br />                   } <br />              }<br />         将上面的这段程序保存为文件名为Test.java的文件，保存在目录D:\test下。<br />         然后打开命令提示符窗口，cd到你的test目录，然后键入下面的命令  <br />              javac Test.java <br />              java Test <br />         此时如果看到打印出来This is a test program.的话说明安装成功了，<br />         如果没有打印出这句话，你需要仔细检查一下你的配置情况。 <br /><br />         如果上面的J2SDK安装成功的话，接下来继续安装Tomcat:<br /><br /><strong>第二步：----安装Tomcat:</strong><br /><br />      到tomcat官方站点(http://www.apache.org/dist/jakarta/tomcat-4/)下载tomcat:<br />      jakarta-tomcat-4.1.30.exe，下载之后安装。(比如安装在D:\Tomcat下。)<br />      安装完之后，设置环境变量：我的电脑---属性---高级---环境变量；<br />      选择---系统变量(S)：<br />         设置CATALINA_HOME环境变量：<br />             单击---新建，在变量名中输入：CATALINA_HOME<br />                          在变量值中输入：D:\Tomcat<br />             然后---确定，到此已经设置好CATALINA_HOME环境变量。<br />         设置CATALINA_BASE环境变量：<br />             单击---新建，在变量名中输入：CATALINA_BASE<br />                          在变量值中输入：D:\Tomcat<br />             然后---确定，到此已经设置好CATALINA_BASE环境变量。<br />      然后修改环境变量中的CLASSPATH，把Tomat安装目录下的common\lib下的servlet.jar追加到CLASSPATH中去，<br />      修改后的CLASSPATH如下： <br />      CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;D:\Java\lib\tools.jar;D:\Tomcat\common\lib\servlet.jar <br />      接着可以启动tomcat，在IE中访问http://localhost:8080，如果看到tomcat的欢迎页面的话说明安装成功了。<br /><br />      如果上面的tomcat安装成功的话，接下来继续安装JSP访问SQL Server 2000的驱动程序:<br />第三步：----安装JSP访问SQL Server 2000的驱动程序:<br />      从微软的网站上下载驱动程序：SQL Server 2000 For JDBC 驱动程序，在Google中随便搜索就有。<br />      然后将它安装好。(比如安装目录是D:\SQLDriverForJDBC。)<br />      然后必须将安装目录中的lib目录下三个jar文件：<br />      msbase.jar, mssqlserver.jar, msutil.jar拷贝到Tomcat目录下common\lib目录下，之后，<br />      修改环境变量中的CLASSPATH，<br />      把SQL Server 2000 For JDBC 驱动程序安装目录下的<br />         D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;D:\SQLDriverForJDBC\msutil.jar<br />      追加到CLASSPATH中去，<br />      修改后的CLASSPATH如下： <br />      CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;D:\SQLDriverForJDBC\msutil.jar<br /><br />      必须重新启动Tomcat！<br />      这样做的目的是，jsp页面在编译过程中不会出现找不到sql server driver类库的问题<br /><br />      写一个简单的用来测试连接SQL Server 2000的JSP代码<br />       &lt;%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %&gt;<br />       &lt;html&gt;<br />       &lt;body&gt;<br />       &lt;% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();<br />          String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";<br />          //pubs 为你的数据库的<br />          String user="sa";<br />          String password="admin";<br />          Connection conn= DriverManager.getConnection(url,user,password);<br />          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);<br />          String sql="select job_id,job_desc from jobs";<br />          ResultSet rs=stmt.executeQuery(sql);<br />          while(rs.next()) { %&gt;<br />                您的第一个字段内容为：&lt;%=rs.getString(1)%&gt;&lt;br&gt;<br />                您的第二个字段内容为：&lt;%=rs.getString(2)%&gt;&lt;br&gt;<br />       &lt;% } %&gt;<br />       &lt;% out.print("数据库操作成功，恭喜你"); %&gt;<br />       &lt;% rs.close();<br />          stmt.close();<br />          conn.close();<br />       %&gt;<br />       &lt;/body&gt;<br />       &lt;/html&gt;<br />       将上面的JSP代码保存为sql_test.jsp，放在/Root目录下。<br />       在地址中输入：http://localhost:8080/sql_test.jsp，如果全部配置成功的话，将显示如下：<br />            您的第一个字段内容为：1<br />            您的第二个字段内容为：New Hire - Job not specified<br />            您的第一个字段内容为：2<br />            您的第二个字段内容为：Chief Executive Officer<br />            您的第一个字段内容为：3<br />            您的第二个字段内容为：Business Operations Manager<br />            您的第一个字段内容为：4<br />            您的第二个字段内容为：Chief Financial Officier<br />            您的第一个字段内容为：5<br />            您的第二个字段内容为：Publisher<br />            您的第一个字段内容为：6<br />            您的第二个字段内容为：Managing Editor<br />            您的第一个字段内容为：7<br />            您的第二个字段内容为：Marketing Manager<br />            您的第一个字段内容为：8<br />            您的第二个字段内容为：Public Relations Manager<br />            您的第一个字段内容为：9<br />            您的第二个字段内容为：Acquisitions Manager<br />            您的第一个字段内容为：10<br />            您的第二个字段内容为：Productions Manager<br />            您的第一个字段内容为：11<br />            您的第二个字段内容为：Operations Manager<br />            您的第一个字段内容为：12<br />            您的第二个字段内容为：Editor<br />            您的第一个字段内容为：13<br />            您的第二个字段内容为：Sales Representative<br />            您的第一个字段内容为：14<br />            您的第二个字段内容为：Designer<br />            数据库操作成功，恭喜你 <br /> <br /><br /><img src ="http://www.cnitblog.com/wjw/aggbug/11560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-06-04 21:28 <a href="http://www.cnitblog.com/wjw/archive/2006/06/04/11560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MyEclipse+struts+Hibernate配置和开发手册</title><link>http://www.cnitblog.com/wjw/archive/2006/06/04/11541.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Sun, 04 Jun 2006 05:36:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/06/04/11541.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/11541.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/06/04/11541.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/11541.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/11541.html</trackback:ping><description><![CDATA[
		<table class="width_fix" cellspacing="0" cellpadding="0" border="0">
				<tbody>
						<tr>
								<td class="doc_td" style="PADDING-RIGHT: 8px" valign="top">
								</td>
								<td class="doc_td" valign="top" width="99%" colspan="2">
										<table cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<tr>
																<td class="p9">
																</td>
																<td class="p9" align="right">
																</td>
														</tr>
												</tbody>
										</table>
										<table cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<tr>
																<td class="doc_txt" id="text_1_0">
																		<table cellspacing="0" cellpadding="0" border="0">
																				<tbody>
																						<tr>
																								<td align="middle">
																								</td>
																						</tr>
																						<tr>
																								<td>
																										<table cellspacing="0" cellpadding="0" align="center" border="0">
																												<tbody>
																														<tr>
																																<td align="middle">
																																		<div align="left">
																																				<p>建议：<br />    如果你还不清楚struts和hibernate的一些基本原理，希望能先去了解一下这方面的相关内容。 </p>
																																				<p>推荐：<br />    《Hibernate中文手册》作者认为要学Hibernate看这个就足够了，里面几乎包括了所有的细节，不过可能不太适合快速入门。<br />地址：<a href="http://www.hibernate.org/hib_docs/v3/reference/zh-cn/html_single/"><font color="#1111cc">http://www.hibernate.org/hib_docs/v3/reference/zh- cn/html_single/</font></a><br />    关于struts的资料就很多了，这里推荐一个可以下载一些入门教程的网站。<br />地址：<a href="http://www.wnetw.com/jclub/index.jsp"><font color="#1111cc">http://www.wnetw.com/jclub/index.jsp</font></a><br />&amp;nbs p;   强烈建议入门的朋友先了解一下基本的原理！否则本文章可能对你没有任何帮助。 </p>
																																				<p>相关工具下载：（注意版本）<br />    mysql5.0 <a href="http://www.mysql.org/"><font color="#1111cc">http://www.mysql.org</font></a><br />    eclipse 3.1.1 <a href="http://www.eclipse.org/" target="_blank"><font color="#1111cc">http://www.eclipse.org</font></a><br />    myeclipse4.0.3 <a href="http://www.myeclipseide.com/"><font color="#1111cc">http://www.myeclipseide.com</font></a><br />   &amp;nb sp;tomcat5.5 </p>
																																				<p>安装：<br />    关于tomcat和mysql的安装就不多说了，需要注意的是最好保证你的 jdk是1.5的版本，并配置好你的环境变量，不然可能会遇到一些问题。<br /> 把eclipse解开，再去安装刚下载的myeclipse，在安装的时候需要把路径指定到刚才解开的eclipse上，由于myeclipse是个收费软件，所以需要注册。不过一般按照Chinese的习惯，去google一个注册码就可以了:} </p>
																																				<p>开发环境部署：<br /> 好了，现在保证你的mysql和tomcat服务能够正常启动，myeclipse能够正常打开（如果不能，可以去找一下相关的说明或者给作者留言）。下面我们就要开始真正的开始部署一个传说中的tomcat+struts+hibernate+mysql结构的工程了！（faint!前言就写的我好累）<br /> 首先，在myeclipse里新建一个工程。在左边的Package Exporler面版里点右键选择new-&gt;project… <br /> 在跳出菜单里选择MyEclipse-&gt;J2EE Projects-&gt;Web Project。<br /> 点击next后进入如下画面： </p>
																																				<p>
																																						<img height="336" src="http://blog.sina.com.cn/pic/3fa10d830200006m" width="359" p="100" h="336" w="359" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/1.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/1.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 工程名为：test<br /> 结束后点击Finish。<br /> 好了，如果成功的话你就会在 Package Exporler里看到一个新的test工程！现在我们先配置一下数据库方面的东西。首先在你的mysql 里建立一个数据库webases，再在里面新建一个表admin，里面三个字段分别为id,name,password其中id为自动取值的主键（mysql具体的操作可以自己找资料，不是本文涉及范围）。<br /> 再回到myeclipse ，选中window-&gt;Open Perspective-&gt;Other…<br /> 可以看到现在跳出一个名为Select Perspective的菜单，在里面选中MyEclipse Databases Exporler，可以看到现在到了下面的页面。 </p>
																																				<p>
																																						<img height="328" src="http://blog.sina.com.cn/pic/3fa10d830200006n" width="448" p="100" h="328" w="448" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/2.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/2.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>按以上图示输入相关字段后点击Finish便建立了一个数据库连接，在新出现的JDBC for Mysql上点右键，选择Open connection…，确认用户名和密码正确后点OK，如果一切顺利的话你会看到下面的画面： </p>
																																				<p>
																																						<img src="http://blog.sina.com.cn/pic/3fa10d830200006o" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/3.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/3.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 这说明你已经和数据库建立了正确的连接。现在我们再回到window-&gt;Open Perspective- &gt;Other…里的MyEclipse，也就是我们刚进来的时候看到的画面。<br /> 右键点击你刚建立的工程 test并选择MyEclipse-&gt;Add struts Capabilities…在跳出的菜单里按照如下输入并确定： </p>
																																				<p>
																																						<img height="278" src="http://blog.sina.com.cn/pic/3fa10d830200006p" width="448" p="100" h="278" w="448" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/4.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/4.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 好了，现在你已经为你的工程增加了struts，接下来和上面一样在右键工程后选择MyEclipse- &gt;Add Hibernate Capabilities…一路确定下来为你的工程添加Hibernate。（为方便起见我们在选择路径时把HibernateSessionFactory.java放在了src/com下面，其实最好建立个单独的目录如 src/com/hibernate）<br /> 为了更好的演示我们不建立通常的登陆页面而是建立个注册页面。选择 src目录下的hibernate.cfg.xml文件。照如下填写并保存。这样hibernate就为你建立了数据库的连接池。 </p>
																																				<p>
																																						<img src="http://blog.sina.com.cn/pic/3fa10d830200006q" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/5.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/5.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 下面我们再选择WebRoot/WEB-INF/struts-config.xml文件，在画面中点击右键选择new- &gt;Form, Action and JSP。如下填写 </p>
																																				<p>
																																						<img height="480" src="http://blog.sina.com.cn/pic/3fa10d830200006r" width="483" p="100" h="480" w="483" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/6.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/6.JPG" target="_blank">
																																						</a>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/5.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 再选择JSP选项，如下 </p>
																																				<p>
																																						<img height="336" src="http://blog.sina.com.cn/pic/3fa10d830200006s" width="339" p="100" h="336" w="339" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/7.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/7.JPG" target="_blank">
																																						</a>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/6.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 最后选择Finish。<br /> 再新建一个一个success.jsp的页面，<br /> 在刚才struts- config.xml文件里右键选择addAdmin选择Properties，在菜单里选择Forwords，再点add，如下图填写 </p>
																																				<p>
																																						<img src="http://blog.sina.com.cn/pic/3fa10d830200006t" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/8.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/8.JPG" target="_blank">
																																						</a>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/7.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 最后你的struts-config.xml就是下面这个样子： </p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/9.JPG" target="_blank">
																																						</a>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/8.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>
																																						<img src="http://blog.sina.com.cn/pic/3fa10d830200006u" />
																																						<br /> 下面我们转到hibernate。换到刚才我们建立数据库的页面，选择你的admin的表点右键选择Create Hibernate Mapping。选择好打包路径后选择Finish。如图： </p>
																																				<p>
																																						<img src="http://blog.sina.com.cn/pic/3fa10d830200006v" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/10.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 在你刚才选择的路径下（我为方便是src/com/yourcompanyname/）下新建立的文件 AdminDAOFactory.java文件并输入以下内容： </p>
																																				<p>package com.yourcompanyname; </p>
																																				<p>import java.util.Iterator; </p>
																																				<p>import org.hibernate.HibernateException;<br />import org.hibernate.Query;<br />import org.hibernate.Session;<br />import org.hibernate.Transaction; </p>
																																				<p>import com.hibernate.SessionFactory; </p>
																																				<p>public class AdminDAOFactory {<br /> Session session;<br /> Transaction tx;<br /> public void add(Admin admin) throws HibernateException {<br />  /**<br />   * Creation Date: 11-17-2005<br />   * TODO Add a new admin user.<br />   * @param An object of Admin<br />   * @return void<br />   * @author Coder Guo<br />   */<br />  try {<br />   session = SessionFactory.currentSession();<br />   tx = session.beginTransaction();<br />   //Add a new admin<br />   session.save(admin);<br />   tx.commit ();<br />  }catch(HibernateException e){<br />   throw e;<br />  }finally{<br />   if (tx!=null) {<br />    tx.rollback();<br />   } <br />   SessionFactory.closeSession();<br />  }<br /> }<br />} </p>
																																				<p> 再打开com.yourcompany.struts.action下的AddAdminAction.java添加（其中如果有错误选中好按ctrl+shift+o自动添加包） </p>
																																				<p>public class AddAdminAction extends Action { </p>
																																				<p> // --------------------------------------------------------- Instance Variables </p>
																																				<p> // --------------------------------------------------------- Methods </p>
																																				<p> /** <br />  * Method execute<br />  * @param mapping<br />  * @param form<br />  * @param request<br />  * @param response<br />  * @return ActionForward<br />  * @author Coder Guo<br />  */<br /> public ActionForward execute(<br />  ActionMapping mapping,<br />  ActionForm form,<br />  HttpServletRequest request,<br />  HttpServletResponse response) {<br />  AddAdminForm addAdminForm = (AddAdminForm) form;<br />  <br />  // TODO Add a new admin<br />  Admin admin = new Admin();<br />  admin.setName(addAdminForm.getName ());<br />  admin.setPassword(addAdminForm.getPassword ());<br />  AdminDAOFactory adminDAO = new AdminDAOFactory ();<br />  adminDAO.add(admin);<br />  <br />  return mapping.findForward("success");<br /> } </p>
																																				<p>} </p>
																																				<p> 再打开com.yourcompanyname.struts.form下的AddAdminForm.java，修改（如果有错误按照上面说的方法导入包）<br /> public ActionErrors validate(<br />  ActionMapping mapping,<br />  HttpServletRequest request) { </p>
																																				<p>  // TODO Auto-generated method stub<br />  ActionErrors errors = new ActionErrors();<br />  <br />  Session session = SessionFactory.currentSession();<br />  Transaction tx = session.beginTransaction ();<br />  Query query = session.createQuery("select admin from Admin as admin where admin.name = '" + this.name + "'");<br />  Iterator it = query.iterate ();<br />  if (it.hasNext()){<br />   errors.add ("addAdmin.err.name",new ActionMessage("form.addAdmin.err.name"));<br />  } <br />  tx.commit();<br />  SessionFactory.closeSession ();<br />  return errors;<br /> } </p>
																																				<p> public void reset(ActionMapping mapping, HttpServletRequest request) { </p>
																																				<p>  // TODO Auto-generated method stub<br />  this.name=null;<br />  this.password=null;<br /> } </p>
																																				<p>再打开com\yourcompanyname\struts下的ApplicationResource.properties在这里面添加错误信息： <br />Form.addAdmin.err.name=err </p>
																																				<p>最后，（汗，好累啊-_-!）打开addAdmin.jsp修改成如下：<br />&lt;%@ page contentType="text/html; charset=utf-8"%&gt; <br />&lt;%@ page language="java"%&gt;<br />&lt;%@ taglib uri="<a href="http://jakarta.apache.org/struts/tags-bean"><font color="#1111cc">http://jakarta.apache.org/struts/tags-bean</font></a>" prefix="bean"%&gt; <br />&lt;%@ taglib uri="<a href="http://jakarta.apache.org/struts/tags-html"><font color="#1111cc">http://jakarta.apache.org/struts/tags-html</font></a>" prefix="html"%&gt; </p>
																																				<p>&lt;script language = "javascript"&gt;<br />&lt;!--<br />function check(){<br /> if (loginForm.userName.value == "" || loginForm.password.value == ""){<br />  alert("请输入完整的信息！");<br />  loginForm.userName.focus();<br />  return false;<br /> }<br />}<br />//--&gt;<br />&lt;/script&gt;<br /> <br /> &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />&lt;html:html&gt;<br />  &lt;head&gt;<br />    &lt;html:base /&gt;<br />    <br />    &lt;title&gt;login.jsp&lt;/title&gt;<br />    &lt;link href="css/webcss.css" rel="stylesheet" type="text/css"&gt;<br />    <br />    &lt;meta http-equiv="pragma" content="no- cache"&gt;<br />    &lt;meta http-equiv="cache-control" content="no- cache"&gt;<br />    &lt;meta http-equiv="expires" content="0"&gt;    <br />    &lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&gt;<br />    &lt;meta http- equiv="description" content="This is my page"&gt;<br />  &lt;/head&gt;<br />  </p>
																																				<p>  &lt;body&gt;<br />  &lt;center&gt;<br />   &lt;p&gt;&amp;nbsp;&lt;/p&gt;<br />   &lt;p&gt;&amp;nbsp;&lt;/p&gt;<br />   &lt;table width="300" border="0" cellpadding="0" cellspacing="0"&gt;<br />   &lt;html:form action="/addAdmin" focus="name" method="GET"&gt;<br />     &lt;tr align="center" valign="middle"&gt;<br />       &lt;td colspan="2" class="typt_normal"&gt;新增管理员&lt;/td&gt;<br />     &lt;/tr&gt;<br />     &lt;tr&gt;<br />       &lt;td width="100" align="center" valign="middle" class="typt_normal"&gt;名称： &lt;/td&gt;<br />       &lt;td width="200" align="left"&gt;&lt;html:text property="name" styleClass="text_s"/&gt;&lt;html:errors property="addAdmin.err.name"/&gt;&lt;/td&gt;<br />     &lt;/tr&gt;<br />     &lt;tr&gt;<br />       &lt;td width="100" align="center" valign="middle" class="typt_normal"&gt;密码： &lt;/td&gt;<br />       &lt;td width="200" align="left"&gt;&lt;html:password property="password" styleClass="text_s"/&gt;&lt;/td&gt;<br />     &lt;/tr&gt;<br />     &lt;tr&gt; <br />       &lt;td colspan="2" align="center" valign="middle"&gt;&lt;html:submit value="提交" onclick="return check ();"/&gt;&lt;html:reset value="重置"&gt;&lt;/html:reset&gt;&lt;/td&gt;<br />       &lt;/tr&gt;<br /> &lt;/html:form&gt;<br />   &lt;/table&gt;<br /> &lt;/center&gt;<br /> &lt;/body&gt; </p>
																																				<p>&lt;/html:html&gt;<br />其中可以看到如何在struts的标签中使用javascript的方法。<br /> 配置好myeclipse于tomcat的连接。在window-&gt;Preferences做如下设定： </p>
																																				<p>
																																						<img src="http://blog.sina.com.cn/pic/3fa10d830200006w" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/11.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 在项目文件点右键－&gt;“myeclipse”－&gt;“Add and remove project deployment”，如下图： </p>
																																				<p>
																																						<img src="http://blog.sina.com.cn/pic/3fa10d830200006x" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/12.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p> 好了，我们的配置工作基本结束了,在myeclipse上开启tomcat服务 </p>
																																				<p>
																																						<img height="260" src="http://blog.sina.com.cn/pic/3fa10d830200006y" width="448" p="100" h="260" w="448" />
																																				</p>
																																				<p>
																																						<a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/13.JPG" target="_blank">
																																						</a>
																																				</p>
																																				<p>现在打开浏览器，输入<br /><a href="http://127.0.0.1:8080/test/addAdmin.jsp"><font color="#1111cc">http://127.0.0.1:8080/test/addAdmin.jsp</font></a><b>就可以看到你的jsp页面了！</b></p>
																																		</div>
																																</td>
																														</tr>
																												</tbody>
																										</table>
																								</td>
																						</tr>
																				</tbody>
																		</table>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/wjw/aggbug/11541.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-06-04 13:36 <a href="http://www.cnitblog.com/wjw/archive/2006/06/04/11541.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用Eclipse3.1 + Myeclipse4.0 + Tomcat5.0 + j2sdk1.5 搭建J2EE开发环境(转)</title><link>http://www.cnitblog.com/wjw/archive/2006/06/04/11540.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Sun, 04 Jun 2006 05:33:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/06/04/11540.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/11540.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/06/04/11540.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/11540.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/11540.html</trackback:ping><description><![CDATA[
		<table class="a12" cellspacing="1" cellpadding="5" width="90%" align="center" bgcolor="#000000" border="0">
				<tbody>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<p>
												<b>
														<h3>用Eclipse3.1 + Myeclipse4.0 + Tomcat5.0 + j2sdk1.5 搭建J2EE开发环境</h3>
														<p> </p>
												</b>
										</p>
										<p>
										</p>
										<p>
										</p>
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">一、安装j2sdk1.5，设定环境变量。</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">   我的安装目录是 <strong>D:\j2sdk</strong> 。 所以设定环境变量如下： </td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">   操作： My Computer(右键) ----&gt; Properties ----&gt; Advanced ----&gt; Environment Variables : </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="563" src="http://hdfyq.diy.myrice.com/images1/1.PNG" width="682" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">
										<p>设定环境变量为：<br />   1. (新建)JAVA_HOME: D:\j2sdk<br />   2. (新建)CLASSPATH: .;D:\j2sdk\lib\dt.jar;D:\j2sdk\lib\tools.jar (注意：点号不能省略，表示当前目录)<br />   3. 编辑PATH的变量值，在后面加上 ;%JAVA_HOME%\bin （注意：要有分号隔开） <br /></p>
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">到这里，j2sdk安装完毕，用命令简单测试一下: java -version </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="466" src="http://hdfyq.diy.myrice.com/images1/2.PNG" width="705" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">二、安装Tomcat5.0</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">去下载一个Tomcat的zip版， 我用的是 jakarta-tomcat-5.0.28.zip ， 不下安装版的目的是可以使用多个Tomcat。</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">直接解压缩到 G 盘： </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="437" src="http://hdfyq.diy.myrice.com/images1/3.PNG" width="679" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">三、安装Eclipse3.1</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">下载地址：<a href="http://www.eclipse.org/downloads/index.php">http://www.eclipse.org/downloads/index.php</a> 找到下面的页面：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="646" src="http://hdfyq.diy.myrice.com/images1/4.PNG" width="650" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">找个亚洲的服务器下载,速度会快一点。在flashget中如下：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="409" src="http://hdfyq.diy.myrice.com/images1/5.PNG" width="627" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">直接解压缩就可以用了，我是解压缩在 G 盘： </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="440" src="http://hdfyq.diy.myrice.com/images1/6.PNG" width="744" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">到这里， Eclipse3.1 安装完毕。 </td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">四、安装 Myeclipse4.0 (myeclipse不是免费的，所以我们先下载一个试用版，再去网上下载一个注册机) </td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">下载版本： MyEclipse Enterprise Workbench 4.0 GA for Windows 98/2000/XP (8/29/2005) 如下图： </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="553" src="http://hdfyq.diy.myrice.com/images1/7.PNG" width="721" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">在flashget下载中显示如下：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="408" src="http://hdfyq.diy.myrice.com/images1/8.PNG" width="716" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">下载完成后，开始安装：</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">1. 选择你的eclipse所在目录，其它都点下一步，默认安装。</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="450" src="http://hdfyq.diy.myrice.com/images1/9.PNG" width="626" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">2.安装完毕之后，找到myeclipse的安装目录， 如下图所示：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="317" src="http://hdfyq.diy.myrice.com/images1/10.PNG" width="609" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">3. 将features和plugins这2个目录复制出来。这样做的目的是为了在一台电脑上可以使用多个独立的eclipse开发平台。如下图所示：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="269" src="http://hdfyq.diy.myrice.com/images1/11.PNG" width="596" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">4. 将刚才安装的 myeclipse 删除（反安装）。</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">5. 将第3步复制的features和plugins这2个目录, 覆盖到 G </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="514" src="http://hdfyq.diy.myrice.com/images1/12.PNG" width="685" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">解释一下上面做的原因： 因为myeclipse是eclipse的插件，所以只要把features和plugins这2个目录覆盖在eclipse的相应目录，eclipse会自动认出这些插件。</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">到这一步，myeclipse算是安装完毕。 G 盘目录如下： </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="268" src="http://hdfyq.diy.myrice.com/images1/13.PNG" width="543" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">五、破解myeclipse4.0</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">1.去google搜索下载一个注册机。如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="729" src="http://hdfyq.diy.myrice.com/images1/14.PNG" width="651" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">2. 输入名字，算号，如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="133" src="http://hdfyq.diy.myrice.com/images1/15.PNG" width="435" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">3.运行eclipse.exe, 设定同目录下的workspace， 如下图： </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="256" src="http://hdfyq.diy.myrice.com/images1/16.PNG" width="456" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">4.myeclipse插件已经被自动认出，如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="482" src="http://hdfyq.diy.myrice.com/images1/17.PNG" width="671" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">5. 点击 Window ----&gt; Preferences ----&gt; Subscription ----&gt; Enter Subscription, 输入注册码，破解myeclipse，下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="649" src="http://hdfyq.diy.myrice.com/images1/18.PNG" width="749" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">到这里，myeclipse破解完毕。</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">六、设定myeclipse的 jdk 和 tomcat 服务器。</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">1. 增加一个jre， 点击 Window ----&gt; Preferences ----&gt; Installed JREs ----&gt; Add 如下图：（找到自己的j2sdk安装目录）</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="684" src="http://hdfyq.diy.myrice.com/images1/19.PNG" width="719" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">2. 指定Tomcat服务器，Window ----&gt; Preferences ----&gt; Tomcat5, 并设定该tomcat所用的jre为我们上一步新增的。如下面2个图： </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="616" src="http://hdfyq.diy.myrice.com/images1/20.PNG" width="671" />
								</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="615" src="http://hdfyq.diy.myrice.com/images1/21.PNG" width="670" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">到这一步，我们的开发环境就搭建完毕了。</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">七、新建一个项目来试一试？</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">1. 点击 File ----&gt; New ----&gt; Project , 选择Web Project， 再点下一步， 如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="585" src="http://hdfyq.diy.myrice.com/images1/22.PNG" width="670" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">2. 在 Project Name 中输入test， 点 finish。 如下图： </td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="585" src="http://hdfyq.diy.myrice.com/images1/23.PNG" width="669" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">3. 开发工具自动生成了test项目。 如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="660" src="http://hdfyq.diy.myrice.com/images1/24.PNG" width="674" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">4.点击 WebRoot ----&gt; (右键)New ----&gt; JSP , 新建一个 JSP 页面 （hello.jsp）， 如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="659" src="http://hdfyq.diy.myrice.com/images1/25.PNG" width="676" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">5. 编辑器生成的是jsp文件是按模板生成的， 简单修改一下， 代码如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="559" src="http://hdfyq.diy.myrice.com/images1/26.PNG" width="685" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">6. 再用同样的方法， 新建一个叫 hello_result.jsp 的JSP文件， 代码如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="566" src="http://hdfyq.diy.myrice.com/images1/27.PNG" width="718" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">7. deploy（部署）这个test项目。 如下图： （用黑线画了的按钮就是 deploy 的按钮） ， 在弹出窗口点 Add， 部署test项目。</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="715" src="http://hdfyq.diy.myrice.com/images1/28.PNG" width="702" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">8. 启动Tomcat服务器。如下图： （用黑线画了的按钮就是 启动Tomcat 的按钮）</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="200" src="http://hdfyq.diy.myrice.com/images1/29.PNG" width="564" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">9. Tomcat 启动输出信息如下图：</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="427" src="http://hdfyq.diy.myrice.com/images1/30.PNG" width="721" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">10. 网页访问和结果图.</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="338" src="http://hdfyq.diy.myrice.com/images1/31.PNG" width="444" />
								</td>
						</tr>
						<tr>
								<td align="middle" bgcolor="#ffffff">
										<img height="337" src="http://hdfyq.diy.myrice.com/images1/32.PNG" width="454" />
								</td>
						</tr>
						<tr>
								<td bgcolor="#ffffff">到这里，终于搞完了！！！大家可以去eclipse的workspace目录下看看test项目的代码，也可以去Tomcat的webapps目录下，看看部署之后的 test项目的结构。</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/wjw/aggbug/11540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-06-04 13:33 <a href="http://www.cnitblog.com/wjw/archive/2006/06/04/11540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MyEclipse+struts+Hibernate配置和开发手册</title><link>http://www.cnitblog.com/wjw/archive/2006/05/31/11317.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Wed, 31 May 2006 05:14:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/05/31/11317.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/11317.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/05/31/11317.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/11317.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/11317.html</trackback:ping><description><![CDATA[
		<a href="http://www.hibernate.org/hib_docs/v3/reference/zh-cn/html_single/">
				<font color="#1111cc">http://www.hibernate.org/hib_docs/v3/reference/zh- cn/html_single/</font>
		</a>
		<br />    关于struts的资料就很多了，这里推荐一个可以下载一些入门教程的网站。<br />地址：<a href="http://www.wnetw.com/jclub/index.jsp"><font color="#1111cc">http://www.wnetw.com/jclub/index.jsp</font></a><br />&amp;nbs p;   强烈建议入门的朋友先了解一下基本的原理！否则本文章可能对你没有任何帮助。 
<p>相关工具下载：（注意版本）<br />    mysql5.0 <a href="http://www.mysql.org/"><font color="#1111cc">http://www.mysql.org</font></a><br />    eclipse 3.1.1 <a href="http://www.eclipse.org/" target="_blank"><font color="#1111cc">http://www.eclipse.org</font></a><br />    myeclipse4.0.3 <a href="http://www.myeclipseide.com/"><font color="#1111cc">http://www.myeclipseide.com</font></a><br />   &amp;nb sp;tomcat5.5 </p><p>安装：<br />    关于tomcat和mysql的安装就不多说了，需要注意的是最好保证你的 jdk是1.5的版本，并配置好你的环境变量，不然可能会遇到一些问题。<br /> 把eclipse解开，再去安装刚下载的myeclipse，在安装的时候需要把路径指定到刚才解开的eclipse上，由于myeclipse是个收费软件，所以需要注册。不过一般按照Chinese的习惯，去google一个注册码就可以了:} </p><p>开发环境部署：<br /> 好了，现在保证你的mysql和tomcat服务能够正常启动，myeclipse能够正常打开（如果不能，可以去找一下相关的说明或者给作者留言）。下面我们就要开始真正的开始部署一个传说中的tomcat+struts+hibernate+mysql结构的工程了！（faint!前言就写的我好累）<br /> 首先，在myeclipse里新建一个工程。在左边的Package Exporler面版里点右键选择new-&gt;project… <br /> 在跳出菜单里选择MyEclipse-&gt;J2EE Projects-&gt;Web Project。<br /> 点击next后进入如下画面： </p><p><img src="http://blog.sina.com.cn/pic/3fa10d830200006m" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/1.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/1.JPG" target="_blank"></a></p><p> 工程名为：test<br /> 结束后点击Finish。<br /> 好了，如果成功的话你就会在 Package Exporler里看到一个新的test工程！现在我们先配置一下数据库方面的东西。首先在你的mysql 里建立一个数据库webases，再在里面新建一个表admin，里面三个字段分别为id,name,password其中id为自动取值的主键（mysql具体的操作可以自己找资料，不是本文涉及范围）。<br /> 再回到myeclipse ，选中window-&gt;Open Perspective-&gt;Other…<br /> 可以看到现在跳出一个名为Select Perspective的菜单，在里面选中MyEclipse Databases Exporler，可以看到现在到了下面的页面。 </p><p><img src="http://blog.sina.com.cn/pic/3fa10d830200006n" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/2.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/2.JPG" target="_blank"></a></p><p>按以上图示输入相关字段后点击Finish便建立了一个数据库连接，在新出现的JDBC for Mysql上点右键，选择Open connection…，确认用户名和密码正确后点OK，如果一切顺利的话你会看到下面的画面： </p><p><img height="336" src="http://blog.sina.com.cn/pic/3fa10d830200006o" width="398" p="100" h="336" w="398" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/3.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/3.JPG" target="_blank"></a></p><p> 这说明你已经和数据库建立了正确的连接。现在我们再回到window-&gt;Open Perspective- &gt;Other…里的MyEclipse，也就是我们刚进来的时候看到的画面。<br /> 右键点击你刚建立的工程 test并选择MyEclipse-&gt;Add struts Capabilities…在跳出的菜单里按照如下输入并确定： </p><p><img height="278" src="http://blog.sina.com.cn/pic/3fa10d830200006p" width="448" p="100" h="278" w="448" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/4.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/4.JPG" target="_blank"></a></p><p> 好了，现在你已经为你的工程增加了struts，接下来和上面一样在右键工程后选择MyEclipse- &gt;Add Hibernate Capabilities…一路确定下来为你的工程添加Hibernate。（为方便起见我们在选择路径时把HibernateSessionFactory.java放在了src/com下面，其实最好建立个单独的目录如 src/com/hibernate）<br /> 为了更好的演示我们不建立通常的登陆页面而是建立个注册页面。选择 src目录下的hibernate.cfg.xml文件。照如下填写并保存。这样hibernate就为你建立了数据库的连接池。 </p><p><img height="336" src="http://blog.sina.com.cn/pic/3fa10d830200006q" width="403" p="100" h="336" w="403" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/5.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/5.JPG" target="_blank"></a></p><p> 下面我们再选择WebRoot/WEB-INF/struts-config.xml文件，在画面中点击右键选择new- &gt;Form, Action and JSP。如下填写 </p><p><img height="480" src="http://blog.sina.com.cn/pic/3fa10d830200006r" width="483" p="100" h="480" w="483" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/6.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/6.JPG" target="_blank"></a><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/5.JPG" target="_blank"></a></p><p> 再选择JSP选项，如下 </p><p><img src="http://blog.sina.com.cn/pic/3fa10d830200006s" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/7.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/7.JPG" target="_blank"></a><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/6.JPG" target="_blank"></a></p><p> 最后选择Finish。<br /> 再新建一个一个success.jsp的页面，<br /> 在刚才struts- config.xml文件里右键选择addAdmin选择Properties，在菜单里选择Forwords，再点add，如下图填写 </p><p><img height="480" src="http://blog.sina.com.cn/pic/3fa10d830200006t" width="513" p="100" h="480" w="513" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/8.JPG" target="_blank"></a></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/8.JPG" target="_blank"></a><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/7.JPG" target="_blank"></a></p><p> 最后你的struts-config.xml就是下面这个样子： </p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/9.JPG" target="_blank"></a><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/8.JPG" target="_blank"></a></p><p><img height="336" src="http://blog.sina.com.cn/pic/3fa10d830200006u" width="448" p="100" h="336" w="448" /><br /> 下面我们转到hibernate。换到刚才我们建立数据库的页面，选择你的admin的表点右键选择Create Hibernate Mapping。选择好打包路径后选择Finish。如图： </p><p><img height="314" src="http://blog.sina.com.cn/pic/3fa10d830200006v" width="448" p="100" h="314" w="448" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/10.JPG" target="_blank"></a></p><p> 在你刚才选择的路径下（我为方便是src/com/yourcompanyname/）下新建立的文件 AdminDAOFactory.java文件并输入以下内容： </p><p>package com.yourcompanyname; </p><p>import java.util.Iterator; </p><p>import org.hibernate.HibernateException;<br />import org.hibernate.Query;<br />import org.hibernate.Session;<br />import org.hibernate.Transaction; </p><p>import com.hibernate.SessionFactory; </p><p>public class AdminDAOFactory {<br /> Session session;<br /> Transaction tx;<br /> public void add(Admin admin) throws HibernateException {<br />  /**<br />   * Creation Date: 11-17-2005<br />   * TODO Add a new admin user.<br />   * @param An object of Admin<br />   * @return void<br />   * @author Coder Guo<br />   */<br />  try {<br />   session = SessionFactory.currentSession();<br />   tx = session.beginTransaction();<br />   //Add a new admin<br />   session.save(admin);<br />   tx.commit ();<br />  }catch(HibernateException e){<br />   throw e;<br />  }finally{<br />   if (tx!=null) {<br />    tx.rollback();<br />   } <br />   SessionFactory.closeSession();<br />  }<br /> }<br />} </p><p> 再打开com.yourcompany.struts.action下的AddAdminAction.java添加（其中如果有错误选中好按ctrl+shift+o自动添加包） </p><p>public class AddAdminAction extends Action { </p><p> // --------------------------------------------------------- Instance Variables </p><p> // --------------------------------------------------------- Methods </p><p> /** <br />  * Method execute<br />  * @param mapping<br />  * @param form<br />  * @param request<br />  * @param response<br />  * @return ActionForward<br />  * @author Coder Guo<br />  */<br /> public ActionForward execute(<br />  ActionMapping mapping,<br />  ActionForm form,<br />  HttpServletRequest request,<br />  HttpServletResponse response) {<br />  AddAdminForm addAdminForm = (AddAdminForm) form;<br />  <br />  // TODO Add a new admin<br />  Admin admin = new Admin();<br />  admin.setName(addAdminForm.getName ());<br />  admin.setPassword(addAdminForm.getPassword ());<br />  AdminDAOFactory adminDAO = new AdminDAOFactory ();<br />  adminDAO.add(admin);<br />  <br />  return mapping.findForward("success");<br /> } </p><p>} </p><p> 再打开com.yourcompanyname.struts.form下的AddAdminForm.java，修改（如果有错误按照上面说的方法导入包）<br /> public ActionErrors validate(<br />  ActionMapping mapping,<br />  HttpServletRequest request) { </p><p>  // TODO Auto-generated method stub<br />  ActionErrors errors = new ActionErrors();<br />  <br />  Session session = SessionFactory.currentSession();<br />  Transaction tx = session.beginTransaction ();<br />  Query query = session.createQuery("select admin from Admin as admin where admin.name = '" + this.name + "'");<br />  Iterator it = query.iterate ();<br />  if (it.hasNext()){<br />   errors.add ("addAdmin.err.name",new ActionMessage("form.addAdmin.err.name"));<br />  } <br />  tx.commit();<br />  SessionFactory.closeSession ();<br />  return errors;<br /> } </p><p> public void reset(ActionMapping mapping, HttpServletRequest request) { </p><p>  // TODO Auto-generated method stub<br />  this.name=null;<br />  this.password=null;<br /> } </p><p>再打开com\yourcompanyname\struts下的ApplicationResource.properties在这里面添加错误信息： <br />Form.addAdmin.err.name=err </p><p>最后，（汗，好累啊-_-!）打开addAdmin.jsp修改成如下：<br />&lt;%@ page contentType="text/html; charset=utf-8"%&gt; <br />&lt;%@ page language="java"%&gt;<br />&lt;%@ taglib uri="<a href="http://jakarta.apache.org/struts/tags-bean"><font color="#1111cc">http://jakarta.apache.org/struts/tags-bean</font></a>" prefix="bean"%&gt; <br />&lt;%@ taglib uri="<a href="http://jakarta.apache.org/struts/tags-html"><font color="#1111cc">http://jakarta.apache.org/struts/tags-html</font></a>" prefix="html"%&gt; </p><p>&lt;script language = "javascript"&gt;<br />&lt;!--<br />function check(){<br /> if (loginForm.userName.value == "" || loginForm.password.value == ""){<br />  alert("请输入完整的信息！");<br />  loginForm.userName.focus();<br />  return false;<br /> }<br />}<br />//--&gt;<br />&lt;/script&gt;<br /> <br /> &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<br />&lt;html:html&gt;<br />  &lt;head&gt;<br />    &lt;html:base /&gt;<br />    <br />    &lt;title&gt;login.jsp&lt;/title&gt;<br />    &lt;link href="css/webcss.css" rel="stylesheet" type="text/css"&gt;<br />    <br />    &lt;meta http-equiv="pragma" content="no- cache"&gt;<br />    &lt;meta http-equiv="cache-control" content="no- cache"&gt;<br />    &lt;meta http-equiv="expires" content="0"&gt;    <br />    &lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&gt;<br />    &lt;meta http- equiv="description" content="This is my page"&gt;<br />  &lt;/head&gt;<br />  </p><p>  &lt;body&gt;<br />  &lt;center&gt;<br />   &lt;p&gt;&amp;nbsp;&lt;/p&gt;<br />   &lt;p&gt;&amp;nbsp;&lt;/p&gt;<br />   &lt;table width="300" border="0" cellpadding="0" cellspacing="0"&gt;<br />   &lt;html:form action="/addAdmin" focus="name" method="GET"&gt;<br />     &lt;tr align="center" valign="middle"&gt;<br />       &lt;td colspan="2" class="typt_normal"&gt;新增管理员&lt;/td&gt;<br />     &lt;/tr&gt;<br />     &lt;tr&gt;<br />       &lt;td width="100" align="center" valign="middle" class="typt_normal"&gt;名称： &lt;/td&gt;<br />       &lt;td width="200" align="left"&gt;&lt;html:text property="name" styleClass="text_s"/&gt;&lt;html:errors property="addAdmin.err.name"/&gt;&lt;/td&gt;<br />     &lt;/tr&gt;<br />     &lt;tr&gt;<br />       &lt;td width="100" align="center" valign="middle" class="typt_normal"&gt;密码： &lt;/td&gt;<br />       &lt;td width="200" align="left"&gt;&lt;html:password property="password" styleClass="text_s"/&gt;&lt;/td&gt;<br />     &lt;/tr&gt;<br />     &lt;tr&gt; <br />       &lt;td colspan="2" align="center" valign="middle"&gt;&lt;html:submit value="提交" onclick="return check ();"/&gt;&lt;html:reset value="重置"&gt;&lt;/html:reset&gt;&lt;/td&gt;<br />       &lt;/tr&gt;<br /> &lt;/html:form&gt;<br />   &lt;/table&gt;<br /> &lt;/center&gt;<br /> &lt;/body&gt; </p><p>&lt;/html:html&gt;<br />其中可以看到如何在struts的标签中使用javascript的方法。<br /> 配置好myeclipse于tomcat的连接。在window-&gt;Preferences做如下设定： </p><p><img height="336" src="http://blog.sina.com.cn/pic/3fa10d830200006w" width="398" p="100" h="336" w="398" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/11.JPG" target="_blank"></a></p><p> 在项目文件点右键－&gt;“myeclipse”－&gt;“Add and remove project deployment”，如下图： </p><p><img height="336" src="http://blog.sina.com.cn/pic/3fa10d830200006x" width="396" p="100" h="336" w="396" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/12.JPG" target="_blank"></a></p><p> 好了，我们的配置工作基本结束了,在myeclipse上开启tomcat服务 </p><p><img height="260" src="http://blog.sina.com.cn/pic/3fa10d830200006y" width="448" p="100" h="260" w="448" /></p><p><a href="file:///E:/我的文章/MyEclipse+TomCat+struts+Hibernate+Mysql环境配置手册和快速开发实例/pic/13.JPG" target="_blank"></a></p><p>现在打开浏览器，输入<br /><a href="http://127.0.0.1:8080/test/addAdmin.jsp"><font color="#1111cc">http://127.0.0.1:8080/test/addAdmin.jsp</font></a><b>就可以看到你的jsp页面了！</b></p><img src ="http://www.cnitblog.com/wjw/aggbug/11317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-05-31 13:14 <a href="http://www.cnitblog.com/wjw/archive/2006/05/31/11317.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正确利用J2EE的各种工具（转）</title><link>http://www.cnitblog.com/wjw/archive/2006/05/17/10634.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Wed, 17 May 2006 00:33:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/05/17/10634.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/10634.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/05/17/10634.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/10634.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/10634.html</trackback:ping><description><![CDATA[
		<div>
				<p align="left">由于遵从MVC（著名的模型-视图-控制器软件架构）整合了若干编程措施，Java 2 Enterprise Edition（J2EE）为高度复杂和可伸缩的因特网应用程序提供了基于组件的的强大开发功能。同时，J2EE开发层次的不同满足了各个方面的需要：某些开发者采用Enterprise JavaBean实现软件的模型；某些企业则利用JSP实现软件的视图；还有些开发商则专门通过Java Servlet实现软件中的控制器。一切都层次分明，井井有条。不是吗？</p>
				<table cellspacing="0" cellpadding="0" width="0" align="right" border="0">
						<tbody>
								<tr>
										<td align="middle">
										</td>
								</tr>
								<tr>
										<td>
												<!--start banner ad-->
												<!--ba-->
												<script language="JavaScript1.1" src="http://ad.cn.doubleclick.net/adj/messagingplus.zdnet.com.cn/developer/code;sz=1x1;ord=1680611370?">
												</script>
												<noscript>
														<a href="http://ad.cn.doubleclick.net/jump/messagingplus.zdnet.com.cn/developer/code;sz=1x1;ord=1680611370?">
																<img src="http://ad.cn.doubleclick.net/ad/messagingplus.zdnet.com.cn/developer/code;sz=1x1;ord=1680611370?" border="0" />
														</a>
												</noscript>
												<!--end banner ad-->
										</td>
								</tr>
						</tbody>
				</table>
				<p>但是层次划分的技术复杂性却在实际开发中给开发人员带来了不小的压力和负担。多层开发模式有时会令J2EE成为庞大的、难以超越的技术集合。了解各类层次技术的特性是要花时间的，而且J2EE项目还过分要求小型开发团队的技能资源。充分理解现有J2EE应用程序的体系结构和实现令开发人员的学习曲线非常尖锐，尤其是在考虑到开发周期的时间限制这一方面上更是如此了。结果就会导致技术开发团队试图“躲避”合理的J2EE实现，很有可能在将来的开发或维护中引发问题。<br /><br />为了避免出现以上问题，开发者们可以根据自己的实际需要分别采用不同的J2EE技术，这样可以更好地利用开发者的技能并让他们更关注于任务本身。</p>
				<h5 align="left">JSP<br /></h5>
				<p align="left">首要的而且也可能是最早单独运用的J2EE技术恐怕该算是JSP了。开发者们采用JSP可以创建具有HTML的表示页面和脚本小程序、JavaBean 乃至定制标签等功能。这种联合多种技术的JSP编程建议似乎是对单纯编程技术的诅咒；J2EE教义上说的是应用程序的逻辑和显示层从来都不应该混合起来。</p>
				<p align="left">然而，在有的时候，合理地唯一采用JSP会给项目开发带来莫大的好处。鼓吹表示层和功能层分离的争论观点实际上会给编程带来更大的负担，尤其是在单一JSP用在超过两个显示页面的情况下。但是体积更小更单纯的JSP项目却可能工作得更好。为了达到适度的工作量，像简单时钟这样的编码任务就变得非常容易了（参看<b><a href="http://builder.com.com/utils/sidebar.jhtml?id=u00220020604mkm01.htm&amp;index=1" target="_target"><font color="#002c99">程序清单A</font></a></b>）。<br /><br />这个例子说明了若干问题。以上程序中的代码提供了一个用户界面（虽然很基础），这个界面接受用户输入并做出动态响应，而这就是因特网应用程序所有的基本要素了，该程序连同注释在内只有33行代码。要编写一个JSP时钟程序的更有用实现所需要的代码就更少了：</p>
				<p align="left">
						<br />
						<font color="#000099">&lt;%<br />Date d = new Date();<br />SimpleDateFormat sdf = new SimpleDateFormat("d MMMM yyyy, h:mm:ss a");<br />TimeZone zone = TimeZone.getDefault();<br />sdf.setTimeZone( zone );<br />%&gt;<br />Current date and time in the &lt;b&gt;&lt;%= zone.getID() %&gt;&lt;/b&gt; time zone: &lt;b&gt;&lt;%= sdf.format( d ) %&gt;&lt;/b&gt;<br /></font>
						<br />只用JSP开发项目的另一优点是：JSP的学习和使用都相当方便。JSP采用了Java的语法，但在上下文环境中则完全可以用于其他服务器端开发环境——例如ASP或ColdFusion等。这样在没有多大技术变迁的情况下就可以充分利用JSP了。</p>
				<p>
				</p>
				<p>
						<br />
				</p>
				<h5 align="left">servlets</h5>
				<p align="left">只用到Java servlets的应用程序开发是另一种区分对待J2EE模型的方式。事实上， servlets完全具有它们自己的信息记录。许多人都没有认识到这一点，几年前，servlets还不过是服务器端Java开发技术的唯一选择。CGI风格的直观API大大减少了软件开发的周期。采用进程内内存管理最大化服务器性能的能力赢得了开发者和系统管理员的注目。链式servlets的集中对功能的提高更增加了这一技术的优势。同样的优点使得servlets成为当前相当受到欢迎的开发平台。集成其他的Java技术，比如通过JDBC的数据源等以及针对中小型项目的稳固解决方案也出现了。</p>
				<p align="left">传统思想较重的人可能对在servlet中包括数据连接不感冒；按照J2EE规范的说法，这种复杂设计应该驻留在Enterprise Java Beans（EJB）上。当然，这种观点对大型项目而言是正确的，但是，对那些简单的servlet，比如显示报告产品可用性图表的纲要程序（示例见<b><a href="http://builder.com.com/utils/sidebar.jhtml?id=u00220020604mkm01.htm&amp;index=2" target="_target"><font color="#002c99">程序清单B</font></a></b>）却并不需要额外的处理。虽然以上示例访问数据库并动态创建图表，但是，数据库连接池的使用和开发者设计的资源管理却给给予了servlet以出众的运算速度和稳定性。产生同样结果的完整 J2EE实现在计算上的成本却大得多。<br /> </p>
				<p align="left">非Web浏览器式的应用程序采用servlets自有其优点。象Tomcat这样的Servlet容器在这种情况下可以实现低成本乃至免费的开发舞台，供开发人员营建和部署最新的无线信息平台。Servlets通过输出XML并且即时应用风格表单保证了用户能在他们的移动电话或传呼机上收到正确的格式信息。</p>
				<h5 align="left">EJB</h5>
				<p align="left">EJB被认为J2EE应用程序中对业务逻辑的编程实现，EJB最为复杂。从表面上看， EJB代表了实体bean形式的数据库存储信息或者会话bean形式的服务请求。这种简单的定义却恰恰掩盖了特别需要注意的幕后众多方面；陡峭的学习曲线使得EJB项目开发进展缓慢。开发者们必须小心对付EJB容器的怪癖特性。另外，代码的微小变化或调试经常会转变为特别耗费精力的任务。<br /><br />然而，EJB在应对大型项目开发的时候却绝对是个好东西。由J2EE所保证的EJB容器所具有的内存管理、线程模型和交易能力允许开发者把更多的时间花在业务逻辑与代码处理的映射上。大多数EJB容器都允许经由XML文档对编译后的代码进行简单修正。根据UML图表为EJB产生Java源代码的工具也有，从而简化了从概念到实现的转变过程。</p>
				<p align="left">在单独采用EJB的时候，客户环境的选择也会发生变化。浏览器将不起作用，由于已经脱离了J2EE上下文环境，EJB此时不能引导基于Web通讯。而且客户程序也变得更丰富：应用程序、Java和非Java、企业信息系统甚至其他的EJB。在受控环境下的项目部署——便于更新客户应用程序的环境，比如公司内部网——是单独采用EJB的最佳条件。<br /><br />小结</p>
				<p align="left">按照J2EE规范包装起来的技术组成了一个强大工具箱。虽然在开发大型工程时采用这类工具是理智的，但是，某些情况下则需要采取复杂性更低一些的战术。通过对应用范围、资源和时间安排的分析，开发者们就可以找到通过J2EE各种技术优化某个项目的机会。</p>
		</div>
<img src ="http://www.cnitblog.com/wjw/aggbug/10634.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-05-17 08:33 <a href="http://www.cnitblog.com/wjw/archive/2006/05/17/10634.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>应用JavaScript在网站上建立多态图片工具条 </title><link>http://www.cnitblog.com/wjw/archive/2006/05/17/10631.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Wed, 17 May 2006 00:17:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/05/17/10631.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/10631.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/05/17/10631.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/10631.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/10631.html</trackback:ping><description><![CDATA[
		<table cellspacing="0" cellpadding="4" width="95%" border="0">
				<p>
				</p>
				<tbody>
						<tr>
								<td class="textblack">
										<b>应用JavaScript在网站上建立多态图片工具条</b>
								</td>
						</tr>
						<tr>
								<td class="textblack">
								</td>
						</tr>
						<tr>
								<td class="textgray">
										<p>
										</p>
										<table cellspacing="0" cellpadding="0" width="0" align="right" border="0">
												<tbody>
														<tr>
																<td align="middle">
																</td>
														</tr>
														<tr>
																<td>
																		<!--start banner ad-->
																		<!--ba-->
																		<script language="JavaScript1.1" src="http://ad.cn.doubleclick.net/adj/messagingplus.zdnet.com.cn/developer/webdevelop;sz=1x1;ord=1599029488?">
																		</script>
																		<noscript>
																				<a href="http://ad.cn.doubleclick.net/jump/messagingplus.zdnet.com.cn/developer/webdevelop;sz=1x1;ord=1599029488?">
																						<img src="http://ad.cn.doubleclick.net/ad/messagingplus.zdnet.com.cn/developer/webdevelop;sz=1x1;ord=1599029488?" border="0" />
																				</a>
																		</noscript>
																		<!--end banner ad-->
																</td>
														</tr>
												</tbody>
										</table>
										<p>在学习<a href="http://techrepublic.com.com/5264-1-0.html?query=javascript"><font color="#002c99">JavaScript</font></a>时，你学到的一个最基本的技巧就是图片交换，即当鼠标指针滑过图片时，图片就会发生改变。这相当简单，只需要应用几个事件处理器和一两行代码即可。在视觉上，如果你只需向用户呈现两种鼠标状态（“正常”与“高亮”）中的一种，这一技巧会非常好用。</p>
										<p>当你想要添加第三个按钮状态时，问题就变得复杂起来。例如，考虑一下包含几个按钮的工具条。这时，当鼠标指针滑过它们时，你不仅需要“高亮”按钮，还需要表明哪个按钮当前“被点击”。因此，就需要在JavaScript代码中包含另一个按钮状态（“被点击”状态），以及所引发的新情况。例如，当鼠标指针滑过按钮时，虽然按钮的状态应由“正常”变为“高亮”，但在另一个按钮被点击（或工具打条恢复到默认设置）前，“被点击”（选择）按钮不应改变其状态。</p>
										<p>这正是本文希望解决的问题。我们将引导你应用JavaScript与DOM建立一个三种状态的工具条，它能准确而高效地处理不同的按钮状态，以及它们之间的相互依赖性。</p>
										<p>
												<em>
												</em> </p>
										<p>
												<strong>（1</strong>
												<strong>）为不同的按钮状态建立图片</strong>
										</p>
										<p>第一步是创建工具条中的图片。通常，它们是以图像形式提交的菜单项。记住，每个按钮要有三幅图片，分别用于正常、高亮与被点击状态。</p>
										<p>在下面的例子中，我们假定一个包含四个按钮的工具条，总共有十二幅图片。为了方便，我们将这些图片命名为：imageXX_n.gif，imageXX_h.gif与imageXX_c.gif。当然，你可以以任何方式给它们命名。</p>
										<p>一旦为每种按钮状态建立好图片，将它们保存在网络服务器根目录下的工具目录中，然后进入下一步。</p>
										<p>
												<strong>（2</strong>
												<strong>）在HTML</strong>
												<strong>中建立工具条</strong>
										</p>
										<p>工具条实质上是一个单行的HTML表，每个单元对应一个按钮。如<strong>列表</strong><strong>A</strong>所示。</p>
										<p>
												<strong>列表A</strong>
										</p>
										<p>&lt;html&gt;</p>
										<p>&lt;head&gt;&lt;/head&gt;</p>
										<p>&lt;body&gt;</p>
										<p>?&lt;table id="toolbar"&gt;</p>
										<p>?&lt;tr&gt;</p>
										<p>?&lt;td&gt;&lt;img id="1"src="image1_n.gif" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;td&gt;&lt;img id="2"src="image2_n.gif" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;td&gt;&lt;img id="3"src="image3_n.gif" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;td&gt;&lt;img id="4"src="image4_n.gif" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;/tr&gt;</p>
										<p>?&lt;/table&gt;</p>
										<p>&lt;/body&gt;</p>
										<p>当然，对于如何建立这样的工具条，并没有硬性规定。如果你喜欢，你也可以将它垂直排列，或是使用不同的行列结构。重要的是保留指定给外部&lt;表格&gt;与单个按钮图片的ID。在接下来的步骤中，这些迟早会派上用场。</p>
										<p>
												<strong>（3</strong>
												<strong>）添加图片交换代码</strong>
										</p>
										<p>接着，我们应用JavaScript来管理各种图片状态。首先，我们建立一个二维数组来保存每个按钮状态的图片文件名（<strong>列表</strong><strong>B</strong>）。</p>
										<p>
												<strong>列表B</strong>
										</p>
										<p>// define toolbar button images for each state</p>
										<p>// (normal, highlight, click)</p>
										<p>vartoolbarData = new Array();</p>
										<p>toolbarData[1] = new Array('image1_n.gif', 'image1_h.gif', 'image1_c.gif');</p>
										<p>toolbarData[2] = new Array('image2_n.gif', 'image2_h.gif', 'image2_c.gif');</p>
										<p>toolbarData[3] = new Array('image3_n.gif', 'image3_h.gif', 'image3_c.gif');</p>
										<p>toolbarData[4] = new Array('image4_n.gif', 'image4_h.gif', 'image4_c.gif');</p>
										<p>你还需要一个总是“知道”当前哪个按钮被选的全程变量。假定在起始阶段，没有工具条按钮被选中，所以开始时，该变量被赋予一个虚假的值。</p>
										<p>// store the ID of the currently clicked button</p>
										<p>varcurrentSelection = -1;?// -1 = initial dummy value</p>
										<p>
												<em>注：如果你想要你的工具条以一个已经“被点击”的按钮开始，你应该对上面的变量作出修改，以反映那个按钮的ID</em>
												<em>，并同时修改在上一步中创建的HTML</em>
												<em>表格中的对应初始图片。</em>
										</p>
										<p>图片交换的实际过程通过两个用户定义的函数——<em>highlightItem()</em>与<em>selectItem()</em>——来执行。<em>highlightItem()</em>函数负责交换按钮的“正常”与“高亮”状态，如<strong>列表</strong><strong>C</strong>所示。</p>
										<p>
												<strong>列表C</strong>
										</p>
										<p>// function to change button state on hover</p>
										<p>function highlightItem(obj, state) {</p>
										<p>?// get button ID</p>
										<p>?i = obj.getAttribute('id');</p>
										<p>?</p>
										<p>?// check if it is currently clicked</p>
										<p>?// if not, change state (normal=0, highlight=1)</p>
										<p>?if (i != currentSelection) {</p>
										<p>?if (state == 1) {</p>
										<p>?obj.setAttribute('src', toolbarData[i][1]);</p>
										<p>?} else {</p>
										<p>?obj.setAttribute('src', toolbarData[i][0]);</p>
										<p>?}?</p>
										<p>?}</p>
										<p>}</p>
										<p>当鼠标指针滑过一个工具条按钮时，它向<em>highlightItem()</em>函数发送一个参考值（用它来获取按钮的ID）与一个状态（非1则0，依按钮是“高亮”还是“正常”状态而定）。然后再将按钮的ID与全程变量<em>currentSelection</em>的值进行比较，保证此按钮没有处于“被点击”状态。假定它没有处于“被点击”状态，则按钮的状态发生改变。</p>
										<p>
												<em>SelectItem()</em>函数负责将按钮的状态改变成“正常”或“高亮”或“被点击”。如<strong>列表</strong><strong>D</strong>所示。</p>
										<p>
												<strong>列表D</strong>
										</p>
										<p>// function to change button state on click</p>
										<p>function selectItem(obj) {</p>
										<p>?// get button ID</p>
										<p>?i = obj.getAttribute('id');</p>
										<p>?</p>
										<p>?// reset all toolbar buttons to normal</p>
										<p>?tbar = document.getElementById('toolbar');</p>
										<p>?items = tbar.getElementsByTagName('img');</p>
										<p>?for (x = 0; x &lt; items.length; x++) {</p>
										<p>?items[x].setAttribute('src', toolbarData[(x+1)][0]);</p>
										<p>?}</p>
										<p>?</p>
										<p>?// set selected button to click state</p>
										<p>?obj.setAttribute('src', toolbarData[i][2]);</p>
										<p>?</p>
										<p>?// publish ID of clicked button</p>
										<p>?currentSelection = i;</p>
										<p>}</p>
										<p>此函数向被点击的按钮提交一个参考值。它首先将所有的工具条按钮恢复为“正常”状态（消除两个按钮被同时点击的可能性），然后改变所选按钮的状态。它还将按钮的ID输出给全程变量<em>currentSelection</em>，以便按钮不会被<em>highlightItem()</em>函数的行为所影响。</p>
										<p>
												<strong>（4</strong>
												<strong>）为工具条按钮添加事件处理器</strong>
										</p>
										<p>现在只需给各个工具条按钮添加事件处理器了。一般情况下，我们需要<em>onMouseOver</em>，<em>onMouseOut</em>和<em>onClick</em>事件处理器。例如：</p>
										<p>&lt;img id="1" src="image1_n.gif" onMouseOver="highlightItem(this, 1)" onMouseOut="highlightItem(this, 0)" onClick="selectItem(this)" width="50" height="50" border="0"&gt;</p>
										<p>
												<strong>列表E</strong>将所有的代码集合在一个脚本中。</p>
										<p>
												<strong>列表E</strong>
										</p>
										<p>&lt;html&gt;</p>
										<p>&lt;head&gt;</p>
										<p>&lt;script language="JavaScript"&gt;</p>
										<p>// define toolbar button images for each state</p>
										<p>// (normal, highlight, click)</p>
										<p>vartoolbarData = new Array();</p>
										<p>toolbarData[1] = new Array('image1_n.gif', 'image1_h.gif', 'image1_c.gif');</p>
										<p>toolbarData[2] = new Array('image2_n.gif', 'image2_h.gif', 'image2_c.gif');</p>
										<p>toolbarData[3] = new Array('image3_n.gif', 'image3_h.gif', 'image3_c.gif');</p>
										<p>toolbarData[4] = new Array('image4_n.gif', 'image4_h.gif', 'image4_c.gif');</p>
										<p>// store the ID of the currently clicked button</p>
										<p>varcurrentSelection = -1;?// -1 = initial dummy value</p>
										<p>// function to change button state on hover</p>
										<p>function highlightItem(obj, state) {</p>
										<p>?// get button ID</p>
										<p>?i = obj.getAttribute('id');</p>
										<p>?</p>
										<p>?// check if it is currently clicked</p>
										<p>?// if not, change state (normal=0, highlight=1)</p>
										<p>?if (i != currentSelection) {</p>
										<p>?if (state == 1) {</p>
										<p>?obj.setAttribute('src', toolbarData[i][1]);</p>
										<p>?} else {</p>
										<p>?obj.setAttribute('src', toolbarData[i][0]);</p>
										<p>?}?</p>
										<p>?}</p>
										<p>}</p>
										<p>// function to change button state on click</p>
										<p>function selectItem(obj) {</p>
										<p>?// get button ID</p>
										<p>?i = obj.getAttribute('id');</p>
										<p>?</p>
										<p>?// reset all toolbar buttons to normal</p>
										<p>?tbar = document.getElementById('toolbar');</p>
										<p>?items = tbar.getElementsByTagName('img');</p>
										<p>?for (x = 0; x &lt; items.length; x++) {</p>
										<p>?items[x].setAttribute('src', toolbarData[(x+1)][0]);</p>
										<p>?}</p>
										<p>?</p>
										<p>?// set selected button to click state</p>
										<p>?obj.setAttribute('src', toolbarData[i][2]);</p>
										<p>?</p>
										<p>?// publish ID of clicked button</p>
										<p>?currentSelection = i;</p>
										<p>}</p>
										<p>&lt;/script&gt;</p>
										<p>&lt;/head&gt;</p>
										<p>&lt;body&gt;</p>
										<p>?&lt;table id="toolbar"&gt;</p>
										<p>?&lt;tr&gt;</p>
										<p>?&lt;td&gt;&lt;img id="1" src="image1_n.gif" onMouseOver="highlightItem(this, 1)" onMouseOut="highlightItem(this, 0)" onClick="selectItem(this)" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;td&gt;&lt;img id="2" src="image2_n.gif" onMouseOver="highlightItem(this, 1)" onMouseOut="highlightItem(this, 0)" onClick="selectItem(this)" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;td&gt;&lt;img id="3" src="image3_n.gif" onMouseOver="highlightItem(this, 1)" onMouseOut="highlightItem(this, 0)" onClick="selectItem(this)" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;td&gt;&lt;img id="4" src="image4_n.gif" onMouseOver="highlightItem(this, 1)" onMouseOut="highlightItem(this, 0)" onClick="selectItem(this)" width="50" height="50" border="0"&gt;&lt;/td&gt;</p>
										<p>?&lt;/tr&gt;</p>
										<p>?&lt;/table&gt;</p>
										<p>&lt;/body&gt;</p>
								</td>
						</tr>
						<p>
						</p>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/wjw/aggbug/10631.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-05-17 08:17 <a href="http://www.cnitblog.com/wjw/archive/2006/05/17/10631.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>有用的视频教程（转）</title><link>http://www.cnitblog.com/wjw/archive/2006/05/17/10629.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Wed, 17 May 2006 00:07:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/05/17/10629.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/10629.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/05/17/10629.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/10629.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/10629.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1、动态网页制作视频教程ASP.PHP.JSP.Perl（须下载安装TechSmith Screen Capture Codec）mms://vod.edu.86516.com/jyb/zjaspweb/01/01.asfmms://vod.edu.86516.com/jyb/zjaspweb/02/02.asfmms://vod.edu.86516.com/jyb/zjaspweb/03/03....&nbsp;&nbsp;<a href='http://www.cnitblog.com/wjw/archive/2006/05/17/10629.html'>阅读全文</a><img src ="http://www.cnitblog.com/wjw/aggbug/10629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-05-17 08:07 <a href="http://www.cnitblog.com/wjw/archive/2006/05/17/10629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA资源大全[转帖] </title><link>http://www.cnitblog.com/wjw/archive/2006/05/13/10451.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Sat, 13 May 2006 13:19:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/05/13/10451.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/10451.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/05/13/10451.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/10451.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/10451.html</trackback:ping><description><![CDATA[
		<table style="TABLE-LAYOUT: fixed; WORD-WRAP: break-word" height="100%" cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td valign="top">
										<a href="http://www.51xbc.net.cn/bbs/misc.php?action=viewratings&amp;tid=203&amp;pid=411" name="pid411" alt="查看评分记录">
										</a>
										<strong>
												<span class="smalltxt">
														<span class="bold">[转帖]JAVA资源大全</span>
												</span>
												<br />
												<br />
										</strong>
										<span style="FONT-SIZE: 12px">（一）环境软件 <br />1. JDK1.4.2: <br />下载地址： <br /><a href="http://java.sun.com/j2se/1.4.2/download.html" target="_blank"><font color="#000000">http://java.sun.com/j2se/1.4.2/download.html</font></a><br />2. J2EE1.4: <br /><a href="http://java.sun.com/j2ee/1.4/download-dr.html" target="_blank"><font color="#000000">http://java.sun.com/j2ee/1.4/download-dr.html</font></a><br />3.JDK1.5.0 Beta 1 <br /><a href="http://java.sun.com/j2se/1.5.0/download.jsp" target="_blank"><font color="#000000">http://java.sun.com/j2se/1.5.0/download.jsp</font></a><br /><br /><br />作者：王国勇<br />-- 发布时间：2004-10-23 14:54:21<br /><br />-- [转帖]JAVA资源大全<br />（一）环境软件 <br />1. JDK1.4.2: <br />下载地址： <br /><a href="http://java.sun.com/j2se/1.4.2/download.html" target="_blank"><font color="#000000">http://java.sun.com/j2se/1.4.2/download.html</font></a><br />2. J2EE1.4: <br /><a href="http://java.sun.com/j2ee/1.4/download-dr.html" target="_blank"><font color="#000000">http://java.sun.com/j2ee/1.4/download-dr.html</font></a><br />3.JDK1.5.0 Beta 1 <br /><a href="http://java.sun.com/j2se/1.5.0/download.jsp" target="_blank"><font color="#000000">http://java.sun.com/j2se/1.5.0/download.jsp</font></a><br /><br />（二）开发工具 <br />1.IDEA--强大而适合初学者及电脑配置低的程序员使用的开发工具 <br />简介： <br />IntelliJ IDEA 被称为是最好的JAVA IDE开发平台!这套软体就是以其聪明的即时分析和方便的 refactoring 功能深获大家所喜爱。推荐下载~@_@ <br />下载地址： <br /><a href="http://www.5ud.com/soft/10538.htm" target="_blank"><font color="#000000">http://www.5ud.com/soft/10538.htm</font></a><br />注册码或破解： <br />Name:ttdown <br />Code:10963-WB4CG-HS1VO-XQPJ6-B6X60-1ZLK2 <br />2. Sun Java Studio Standard IDE: <br />简介:SUN开发的免费而功能强大的JAVA开发工具，上手较为困难，但功能不错。 <br />下载地址：<a href="http://wwws.sun.com/software/download/products/3f946930.html" target="_blank"><font color="#000000">http://wwws.sun.com/software/download/products/3f946930.html</font></a><br />3. eclipse: <br />简介：IBM斥资四千万美金打造免费JAVA开发工具eclipse,是送给开发人员的一份厚礼，拥有她，使开发人员如虎添翼，无所不能。火速下载！ <br />下载地址：<a href="http://www.eclipse.org/downloads/index.php" target="_blank"><font color="#000000">http://www.eclipse.org/downloads/index.php</font></a><br />4.jbuilderX: <br />简介：最强大的开发工具，拥有她你便无所不能，与多款J2EE服务器无缝结合，并可快速开发图形界面应用程序，升级很快，基本是半年一个新版本，用户众多，凭借Borland二十年资深实力，给开发人员所向披靡的利剑。 <br />下载地址：<a href="http://www.borland.com/products/downloads/download_jbuilder.html" target="_blank"><font color="#000000">http://www.borland.com/products/downloads/download_jbuilder.html</font></a><br />5.Jcreater: <br />简介：又一占用资源少，功能体贴方便的java开发工具，非常适合初学java者使用 <br />下载地址：<a href="http://www.jcreator.com/Download.htm" target="_blank"><font color="#000000">http://www.jcreator.com/Download.htm</font></a><br />6.UltraEdit: <br />简介：地球上最强大的文字编辑工具(Windows平台，呵呵，在Linux/Unix上应该是它的祖宗前辈VI)，如果你不知道它，就不配做程序员。 <br />下载地址：<a href="http://www.skycn.com/soft/2248.html" target="_blank"><font color="#000000">www.skycn.com/soft/2248.html</font></a><br />7.EditPlus: <br />简介：是一个取代Windows记事本和写字板的文本编辑器，功能强大，使用方便。另外它也是一个好用的HTML编辑器。 <br />下载地址：<a href="http://down.tech.sina.com.cn/cgi-bin/download.cgi?s_id=359&amp;href=0" target="_blank"><font color="#000000">http://down.tech.sina.com.cn/cgi ... s_id=359&amp;href=0</font></a><br />（三）免费服务器产品 <br />1.tomcat: <br />简介：应用最广的jsp服务器，功能强大，性能稳定，是学习和商业应用的最佳服务器产品。 <br />下载地址：<a href="http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/" target="_blank"><font color="#000000">http://cvs.apache.org/builds/jakarta-tomcat-5/nightly/</font></a><br />2.jboss: <br />简介：JBOSS是开放源代码的，遵从J2EE规范的，100％纯java的EJB服务器。Jboss作为 "第三代"应用服务器，对于J2EE开发人员和用户而言是难得的教材。与Linux等开放源代码的系统相结合，在服务器端企业级应用方面更是一股不可低估的力量。推荐下载！ <br />下载地址： <br /><a href="http://www.jboss.org/downloads" target="_blank"><font color="#000000">http://www.jboss.org/downloads</font></a><br />（四）权威技术论坛及社区 <br />1.csdn: 人气最旺的技术社区，各大板块高手云集。 <br />地址：http:/www.csdn.net <br />2.dev2dev.bea.com.cn: bea公司的开发者社区，主要针对weblogic系列产品的研发，专业性强,是学习ejb的好地方。 <br />地址: <a href="http://dev2dev.bea.com.cn/" target="_blank"><font color="#000000">http://dev2dev.bea.com.cn</font></a><br />3.SUN技术社区：无需多言，实力雄厚 <br />地址：<a href="http://gceclub.sun.com.cn/" target="_blank"><font color="#000000">http://gceclub.sun.com.cn/</font></a><br />4.中国JAVA世界： <br />地址：<a href="http://www.chinajavaworld.net/" target="_blank"><font color="#000000">http://www.chinajavaworld.net/</font></a><br />（五）JAVA技术网站 <br />1. java world: java界最为权威的技术网站，在那里都是世界上的顶尖高手撰写的文章，英文不行，就别去了 <br />地址：<a href="http://www.javaworld.com/" target="_blank"><font color="#000000">http://www.javaworld.com/</font></a><br />2.IBM DEVELOPER WORK: <br />还用说吗？国际上权威JAVA技术网站，拥有中文版，每篇文章都是经典，并有IBM的鼎立支持，是每个开发人员提升自身的圣殿！ <br />地址：<a href="http://www-900.ibm.com/developerWorks/cn/index.shtml" target="_blank"><font color="#000000">http://www-900.ibm.com/developerWorks/cn/index.shtml</font></a><br />3.模型驱动架构网-"未来两年里最重要的软件方法学"先锋网站 <br />地址：<a href="http://www.mdasky.com/" target="_blank"><font color="#000000">http://www.mdasky.com/</font></a><br />4.Hibernate中文网 <br />Hibernate是一个开放源代码的ORM(对象关系映射框架)，它对JDBC进行了轻量级的对象封装，使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate中文网是由 Robbin 创建的Hibernate非官方中文网站。 <br />地址：<a href="http://www.hibernate.org.cn:8000/" target="_blank"><font color="#000000">http://www.hibernate.org.cn:8000/</font></a><br />（六）IDE插件 <br />1.eclipse插件 <br />(1) struts插件： <br />可以在eclipse很容易的进行struts开发，功能强大 <br />下载地址：<a href="http://sourceforge.net/projects/easystruts" target="_blank"><font color="#000000">http://sourceforge.net/projects/easystruts</font></a><br />(2) jsp插件： <br />增强eclipse薄弱的jsp开发功能。 <br />下载地址：<a href="http://www.objectlearn.com/index.jsp" target="_blank"><font color="#000000">http://www.objectlearn.com/index.jsp</font></a><br />（七）开源代码下载： <br />1.<a href="http://www.sourceforge.net:/" target="_blank"><font color="#000000">www.sourceforge.net:</font></a><br />全球最大的开源代码网站，这里应有尽有，绝对是给程序员提供的一份饕餮大餐！ <br />网址：<a href="http://sourceforge.net/" target="_blank"><font color="#000000">http://sourceforge.net/</font></a><br />（八）常用工具库： <br />1.xml解析库： <br />(1)xerces: <br />应用最为广泛xml解析器，由apache出品，功能强大，完全符合w3c标准。 <br />下载网址：<a href="http://archive.apache.org/dist/xml/xerces-j/" target="_blank"><font color="#000000">http://archive.apache.org/dist/xml/xerces-j/</font></a><br />(2)jdom: <br />简洁强大的xml解析器，充分利用java语言的优势，去掉了xerces的繁琐，使你编写的代码缩短3/4 <br />下载网址：<a href="http://www.jdom.org/dist/binary/" target="_blank"><font color="#000000">http://www.jdom.org/dist/binary/</font></a><br />(3)xalan: <br />xslt语法分析器. <br />下载网址：<a href="http://apache.linuxforum.net/dist/xml/xalan-j/" target="_blank"><font color="#000000">http://apache.linuxforum.net/dist/xml/xalan-j/</font></a><br />2.Web Service相关： <br />(1)Axis: <br />大名鼎鼎的Axis,apache出品，功能强大，是你开发Web Service的必备工具。 <br />下载网址：<a href="http://ws.apache.org/axis/releases.html" target="_blank"><font color="#000000">http://ws.apache.org/axis/releases.html</font></a></span>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cnitblog.com/wjw/aggbug/10451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-05-13 21:19 <a href="http://www.cnitblog.com/wjw/archive/2006/05/13/10451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP设计模式</title><link>http://www.cnitblog.com/wjw/archive/2006/05/05/10082.html</link><dc:creator>i have only belief</dc:creator><author>i have only belief</author><pubDate>Thu, 04 May 2006 18:08:00 GMT</pubDate><guid>http://www.cnitblog.com/wjw/archive/2006/05/05/10082.html</guid><wfw:comment>http://www.cnitblog.com/wjw/comments/10082.html</wfw:comment><comments>http://www.cnitblog.com/wjw/archive/2006/05/05/10082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wjw/comments/commentRss/10082.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wjw/services/trackbacks/10082.html</trackback:ping><description><![CDATA[
		<div class="postTitle"> </div>
		<div class="postText">
				<p>
						<span class="Title">JSP设计模式</span>
				</p>
				<p>一：介绍 <br />记得初学jsp的时候，总喜欢把他和asp,php去比较，也习惯于使用asp的开发模式去写jsp <br />后来才发现这真是很傻的做法，其实jsp一出了来就已经用MVC模式了。下面我就简要说说 <br />jsp设计使用MVC来设计。 </p>
				<p>二：MVC介绍 <br />MVC其实是模、视图、控制的缩写，也就是说在使用jsp时，有相应的文件去实现相应的操作 <br />通常jsp只负责view也就是只负责显示页面。业务逻辑等有bean(ejb)去实现。下面讨论的是 <br />不使用ejb的情况下实现。如果使用ejb,ejb负责M.C通常会由servlet去实现。或者使用struts. <br />struts的介绍你可是去<a href="http://jakarta.apache.org/struts">http://jakarta.apache.org/struts</a>去看。以后的文章中我会介绍。 </p>
				<p>三：设计思路 <br />当你构建一个Application时。你必须考虑界面的问题，而界面修改是非常平常的。如果你在 <br />jsp中实现所有的操作，一旦修改界面你麻烦大了。美工不懂jsp的，你必须自己去修改无数个 <br />文件，头不要太大，而此时一般时间都很紧，使用MVC则可以减少你的一些麻烦。 <br />在设计时候jsp只负责显示页面，也就是说jsp调用Bean(Struts,servlet)传过来的数据然后显示 <br />而Bean(Struts,servlet)负责收集jsp需要的数据，用ArrayList(Arttibute)传给jsp。假如需要 <br />提交表单，一般也直接提交给Struts,servlet,处理后以后再返回处理信息。 <br />而其中相应的业务逻辑由Bean去实现。 </p>
				<p>四：Bean的设计 <br />在我使用时候Bean通常有三类，分别在manager,entry,database目录下面。 <br />manager下面的bean做商业逻辑 <br />entry下的bean就是封装数据，其实就是每个数据库表对应会有一个bean。jsp得到的也全部是类。 <br />database下的bean就是操作数据库，执行如insert,update,delete,load(查询一条记录), <br />batchload(查询多条记录)。 <br />他们之间的关系是entry负责封装数据，作为database的调用参数，返回结果。 <br />manager调用database处理的结果。manager和jsp通信。jsp得到的结果从manager来， jsp需要做 <br />操作调用manager,即使是一个insert 在database存在这样的方法但在manager中你还是需要再封装 <br />一次。这样做的目的是使结构尽量简单。database只负责操作数据库。manager只做逻辑（取相应的数据） <br />处理相应的逻辑，而entry则只把database取到的数据封装，或则把页面得到的参数封装，做为参数 <br />传给相应的Bean. </p>
				<p>五：设计实例 <br />下面我把留言板作为实例来讨论： <br />entry/Guestbook.java(留言板对象) <br />database/GuestbookMap.java(更新，删除，修改留言板) <br />manager/GuestbookManager.java(处理所有的事务) <br />数据表结构(postgresql) <br />create sequence seq_guestbook increment 1 ; <br />/**序列号生成器**/ <br />create table guestbook( <br />id int8 default nextval(′seq_guestbook′), /**主键**/ <br />title varchar(64),/**主题**/ <br />body text,/**内容**/ <br />sayid int8,/**发言人**/ <br />toid int8,/**接受人**/ <br />saytime datetime default now(),/**留言时间**/ <br />newflg smallint default 1/**是否查看过**/ <br />); </p>
				<p>Guestbook.java <br />======================= <br />import java.util.*; <br />public class Guestbook(){ <br />private int id; <br />private String title; <br />private body title; <br />private int sayid; <br />private int sayid; <br />private Date saytime; <br />private short newflg; </p>
				<p>public Guestbook(){ </p>
				<p>} </p>
				<p>public int getId(){ <br />return this.id; <br />} </p>
				<p>public void setId(int _id){ <br />this.id=_id; <br />} <br />........ <br />(全是get/set方法) <br />} </p>
				<p>GuestbookMap.java <br />============================== <br />import Guestbook; <br />public class GuestbookMap(){ <br />public GuestbookMap(){ </p>
				<p>} </p>
				<p>public Guestbook load(int id){ <br />//取到一条guestbook <br />} <br />//sqlstr 查询条件 <br />//orderstr 排序条件 <br />//rcdbegin 记录开始 <br />//rcdend 记录结束 <br />// <br />public ArrayList batchLoad(String sqlstr,String orderstr,int rcdbegin,int rcdend){ <br />//ArrayList 里面封装了Guestbook <br />} </p>
				<p>public void insert(Guestbook info){ </p>
				<p>} </p>
				<p>public void update(Guestbook info){ </p>
				<p>} </p>
				<p>public void delete(int id){ <br />//取到一条guestbook <br />} </p>
				<p>public int getRcdNums(String sqlstr){ <br />//取记录条数 <br />} <br />} </p>
				<p>GuestbookManager.java <br />根据需要封装需要的方法，这部分才是你要写的 <br />============================= <br />上面的方式entry,database的文件可以自动生成，这个工具我已经开发了，如果需要联系我。 <br />你需要写的就是GuestbookManager里面的方法，你也许会觉得工作量比你所有的操作都在jsp中 <br />大，但是这样结构非常清晰。你还需要的就是写一个数据库连接池，你所有的数据库操作都从一个地方 <br />取，每一次都去连接数据库开销很大的。 </p>
				<p>六：技术优势 <br />1：结构清晰 <br />2：维护方便 <br />3：保护代码比较好。</p>
		</div>
<img src ="http://www.cnitblog.com/wjw/aggbug/10082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wjw/" target="_blank">i have only belief</a> 2006-05-05 02:08 <a href="http://www.cnitblog.com/wjw/archive/2006/05/05/10082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>