﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-eagames</title><link>http://www.blogjava.net/eagames/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 05:59:48 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 05:59:48 GMT</pubDate><ttl>60</ttl><item><title>常用数据库JDBC连接写法</title><link>http://www.blogjava.net/eagames/archive/2005/12/19/24683.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Mon, 19 Dec 2005 14:32:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/12/19/24683.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/24683.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/12/19/24683.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/24683.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/24683.html</trackback:ping><description><![CDATA[转贴至：<A href="http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=123&amp;threadID=20222&amp;start=0&amp;tstart=0">http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=123&amp;threadID=20222&amp;start=0&amp;tstart=0</A><BR><BR>1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar<BR>Class.forName( "org.gjt.mm.mysql.Driver" );<BR>cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );<BR><BR>2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar<BR>Class.forName( "org.postgresql.Driver" );<BR>cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );<BR><BR>3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip<BR>Class.forName( "oracle.jdbc.driver.OracleDriver" );<BR>cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );<BR><BR>4. Sybase(http://jtds.sourceforge.net)jconn2.jar<BR>Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );<BR>cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );<BR>//(Default-Username/Password: "dba"/"sql")<BR><BR>5. Microsoft SQLServer(http://jtds.sourceforge.net)<BR>Class.forName( "net.sourceforge.jtds.jdbc.Driver" );<BR>cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );<BR><BR>6. Microsoft SQLServer(http://www.microsoft.com)<BR>Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );<BR>cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );<BR><BR>7. ODBC<BR>Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );<BR>Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );<BR><BR>8.DB2(新添加)<BR>Class.forName("com.ibm.db2.jdbc.net.DB2Driver");<BR>String url="jdbc:db2://192.9.200.108:6789/SAMPLE"<BR>cn = DriverManager.getConnection( url, sUsr, sPwd );<BR><BR>9.Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10<BR><BR>JDBC Name: jTDS<BR>URL: http://jtds.sourceforge.net/<BR>Version: 0.5.1<BR>Download URL: http://sourceforge.net/project/showfiles.php?group_id=33291<BR><BR>语法:<BR>Class.forName("net.sourceforge.jtds.jdbc.Driver ");<BR>Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");<BR>or<BR>Connection con = DriverManager.getConnection("jdbc:jtds:sybase://host:port/database","user","password");<BR><BR>10.Postgresql<BR>JDBC Name: PostgreSQL JDBC<BR>URL: http://jdbc.postgresql.org/<BR>Version: 7.3.3 build 110<BR>Download URL: http://jdbc.postgresql.org/download.html<BR>语法:<BR>Class.forName("org.postgresql.Driver"); <BR>Connection con=DriverManager.getConnection("jdbc:postgresql://host:port/database","user","password");<BR><BR>11.IBM AS400主机在用的JDBC语法<BR>有装V4R4以上版本的Client Access Express<BR>可以在C:\Program Files\IBM\Client Access\jt400\lib<BR>找到 driver 档案 jt400.zip，并更改扩展名成为 jt400.jar<BR>语法:<BR>java.sql.DriverManager.registerDriver (new com.ibm.as400.access.AS400JDBCDriver ());<BR>Class.forName("com.ibm.as400.access.AS400JDBCConnection");<BR>con = DriverManager.getConnection("jdbc:as400://IP","user","password");<BR><BR>12.informix<BR>Class.forName("com.informix.jdbc.IfxDriver").newInstance(); <BR>String url = <BR>"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; <BR>user=testuser;password=testpassword";<BR>Lib：jdbcdrv.zip&lt;br&gt;&lt;br&gt;Class.forName( "com.sybase.jdbc.SybDriver" )<BR>url="jdbc:sybase:Tds:127.0.0.1:2638/asademo";<BR>SybConnection connection= (SybConnection)DriverManager.getConnection(url,"dba","sql");<BR><BR>13.SAP DB<BR>Class.forName ("com.sap.dbtech.jdbc.DriverSapDB");<BR>java.sql.Connection connection = java.sql.DriverManager.getConnection ( "jdbc:sapdb://" + host + "/" + database_name,user_name, password)<BR><BR>14.InterBase<BR>String url = "jdbc:interbase://localhost/e:/testbed/database/employee.gdb";<BR>Class.forName("interbase.interclient.Driver");<BR>//Driver d = new interbase.interclient.Driver (); /* this will also work if you do not want the line above */<BR>Connection conn = DriverManager.getConnection( url, "sysdba", "masterkey" );<BR><BR>15.HSqlDB<BR>url:&nbsp;&nbsp;&nbsp;&nbsp; http://hsqldb.sourceforge.net/<BR>driver:&nbsp; org.hsqldb.jdbcDriver<BR>连接方式有4种，分别为：<BR>con-str（内存）: jdbc:hsqldb.<BR>con-str（本地）: jdbc:hsqldb:/path/to/the/db/dir<BR>con-str（http）: jdbc:hsqldb:http://dbsrv<BR>con-str（hsql）: jdbc:hsqldb:hsql://dbsrv<BR><img src ="http://www.blogjava.net/eagames/aggbug/24683.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-12-19 22:32 <a href="http://www.blogjava.net/eagames/archive/2005/12/19/24683.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>教你如何成为一个Eclipse热键高手</title><link>http://www.blogjava.net/eagames/archive/2005/12/14/23952.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Wed, 14 Dec 2005 14:53:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/12/14/23952.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/23952.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/12/14/23952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/23952.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/23952.html</trackback:ping><description><![CDATA[转贴至：<A href="http://www.chinaitlab.com/www/news/article_show.asp?id=36365">http://www.chinaitlab.com/www/news/article_show.asp?id=36365</A><BR><BR>Eclipse IDE 变得如此热门，以至于出现在许多工作简历中。但是，也正因为它的功能繁多，使得难于入手了。在这篇文章中，Sam Brodkin 分享了他最常用的一些Eclipse功能。他也提到了那些会让你的手指动的飞快的热键组合。在工作的时候，人们会怀疑你是在打电玩。（1,200字；2005年8月29日）<BR><BR>Eclipse最妙的地方是它的功能是如此的丰富。如果你找不到某项功能，要么是你没有好好的去找，要么有一个插件可以实现它。Eclipse最糟的地方也是它的功能如此的丰富。拥挤的工具条，臃肿的菜单，以及配置对话框都让我想起了拉比林特斯迷宫（译者注：Minotau’s labyrinth，希腊神户中的人身牛头怪，住在Labyrinth迷宫中，吃人们供奉的童男童女，最后被Theseus杀死）（尽管配置对话框在Eclipse3.1中已经好了很多）。甚至是有经验的Eclipse程序员也是慢吞吞，笨手笨脚的。我观察过无数的同事，当试图在Eclipse的navigation面板里找一个类的时候，不假思索的按下“Ctrl ＋ Shift ＋ T”（打开型别（open type））。其实，只要有意识的投入一点点时间，你也会不在笨手笨脚的，而成为热键高手。<BR><BR>精通Eclipse不单提高了你的效率，（我知道，按小时赚钱的签约人更喜欢文本编辑器），对你的求职简历也有好处。既然Eclipse已经越来越多的出现在Java工作说明上，那么在你的求职简历上也绝对是个好词。我把它放在我的个人简历上，就在POJO（简单初始Java对象）和POJI（简单初始Java接口）的中间。越来越多的公司转向Eclipse，因为它免费，而且为大多数程序员所接受。（除了那些少有的IntelliJ和Emacs的崇拜者）<BR><BR>因此，你的简历上并不都是帮助你提高编程效率的大话，在本文中，我将给你几条Eclipse高效的建议。注意：如果你是个在寻找初学者教程的新手，那么请参看资源部分。<BR><BR><B>Eclipse的快捷键组合功能</B><BR><BR>使用Eclipse的快捷键组合功能，让你看起来像是在打电玩。特别是让人想起《真人快打》（Mortal Combat）的感觉。要成为《真人快打》的高手，你必须记住大量的按键顺序。比如，要使出Sub-Zero Skeleton Rip，你必须依次按下和X键。这里的控制杆就是Ctrl，Alt，Shift，字母键，数字键和功能键的组合。<BR><BR>让我们按照使用频率来看看我最爱用的一些热键组合。（注：以下内容在Eclipse3.02及一上版本通过测试）<BR><BR>1. Control-Shift-T: 打开类型（Open type）。如果你不是有意磨洋工，还是忘记通过源码树（source tree）打开的方式吧。<BR><BR>2. Control-Shift-R: 打开资源（不只是用来寻找Java文件）。小提示：利用Navigator视图的黄色双向箭头按钮让你的编辑窗口和导航器相关联。这会让你打开的文件对应显示在导航器的层级结构中，这样便于组织信息。如果这影响了速度，就关掉它。<BR><BR>3. F3: 打开申明（Open declaration）。或者，利用Declaration Tab（在Java视图模式下，选择Windows --&gt; Show View -- &gt; Declaration）。当你选中代码中的一个方法，然后按这个按键，它会把整个方法在申明方框里显示出来。<BR><BR>4. Alt-left arrow: 在导航历史记录（Navigation History）中后退。就像Web浏览器的后退按钮一样，在利用F3跳转之后，特别有用。（用来返回原先编译的地方）<BR><BR>5. Alt-right arrow: 导航历史记录中向前。<BR><BR>6. Control-Q: 回到最后依次编辑的地方。这个快捷键也是当你在代码中跳转后用的。特别是当你钻的过深，忘记你最初在做什么的时候。<BR><BR>7. Control-Shift-G: 在workspace中搜索引用（reference）。这是重构的前提。对于方法，这个热键的作用和F3恰好相反。它使你在方法的栈中，向上找出一个方法的所有调用者。一个与此相关的功能是开启“标记”功能（occurrence marking） 。选择Windows-&gt;Preferences-&gt;Java-&gt; Editor-&gt; Mark Occurrences，勾选选项。这时，当你单击一个元素的时候，代码中所有该元素存在的地方都会被高亮显示。我个人只使用“标记本地变量”（Mark Local Variables）。注意：太多的高亮显示会拖慢Eclipse。<BR><BR>8. Control-Shift-F: 根据代码风格设定重新格式化代码。我们的团队有统一的代码格式，我们把它放在我们的wiki上。要这么做，我们打开Eclipse，选择WindowPreferencesJavaCode Style，然后设置Code Formatter，Code Style和Organize Imports。利用导出（Export）功能来生成配置文件。我们把这些配置文件放在wiki上，然后团队里的每个人都导入到自己的Eclipse中。<BR><BR>9. Control-O: 快速概要(quick outline)。通过这个快捷键，你可以迅速的跳到一个方法或者属性，只需要输入名字的头几个字母。<BR><BR>10. Control-/: 对一行注释或取消注释。对于多行也同样适用。<BR><BR>11. Control-Alt-down arrow: 复制高亮显示的一行或多行。<BR><BR>12. Alt-down arrow: 将一行或多行向下移动。Alt-up arrow会向上移动。<BR><BR>其他的热键在菜单里有。你可以通过按下Control-Shift-L（从3.1版本开始），看到所有快捷键的列表。按下Control-Shift-L两次，会显示热键对话框（Keys Preferences dialog），你可以在这里自己设置热键。我欢迎你在Talkback部分发表你的Eclipse提示。<BR><BR><B>其他的Eclipse窍门<BR><BR>我总结了几个相关的小窍门：</B><BR><BR>锁定命令行窗口：在命令行视图中（Window  Show View  Other  Basic  Console），试试看用滚动锁定按钮来锁定控制台输出不要滚屏。<BR><BR>使用Ant视图：在我的Java或Debug模式下，我喜欢显示出Ant视图，这样我就可以迅速的运行Ant任务。通过Window  Show View  Other  Ant可以找到该视图。把Ant视图放在屏幕的一角， 通过“添加编译文件（Add Buildfiles）”按钮来添加build.xml文件。在3.1版本中，甚至支持Ant调试脚本语言。<BR><BR>自动遍历一个集合：for + Control-Space: 如果你还不知道，那么你应该记住Control-Space是自动完成功能。在Eclipse中，你还可以自动完成结构。在一个数组或集合范围内，试试看输入“for”然后按下Control-Space键。Eclipse会问你你想要遍历哪一个集合然后自动完成循环代码。<BR><BR>使用分级布局：在包浏览视图（Package Explorer view）中默认的布局（扁平式）方式让我困惑，它把包的全名显示在导航树（navigation tree）中。我更喜欢我源码的包和文件系统视图，在Eclipse中叫做分级布局（Hierarchical Layout）。要切换到这种模式，点击包浏览视图中向下的按钮，选择布局（Layout），然后选择分级（Hierarchial）。<BR><BR>一次显示多个文件：你可以一次浏览多个文件。把不在激活状态的编辑窗口拖到激活窗口的底部或侧边的滚动条上，就可以打开该编辑窗口。这是我能描述该窍门的最好方式了。<BR><BR>同时打开两个Eclipse：要将改动从一个CVS分支上合并到另外一个上，我喜欢通过同时打开两个工作目录（Workspace）不同Eclipse来实现。这样我可以通过比较CVS上的最新版本看到所有的变化（右键单击工程，然后选择Compare with  Lastest from HEAD）然后把每一个变化都合并到另外一个CVS分支上。启动多个Eclipse的最简单的方法是利用Eclipse Launcher。<BR><BR>Implementors插件：安装一个能够跳到一个接口的实现的插件。如果你是个dependency injection 粉丝，或者正在基于编写优良的接口工作，那么你需要一个这样的插件来加速代码导航。 你可以在SourceForge找到这个插件。<BR><BR>就像Modest Mouse乐队的歌曲“Out of Gas”唱的，“意见就像小猫，我已经送给别人”。这些是我的Eclipse小猫，希望你能给它找一个温暖的家。 <img src ="http://www.blogjava.net/eagames/aggbug/23952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-12-14 22:53 <a href="http://www.blogjava.net/eagames/archive/2005/12/14/23952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts+Spring+Hibernate练习</title><link>http://www.blogjava.net/eagames/archive/2005/11/22/21037.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Tue, 22 Nov 2005 13:40:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/11/22/21037.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/21037.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/11/22/21037.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/21037.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/21037.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">环境：<SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Windows2003<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">jdk<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:chsdate Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">1.5.05</st1:chsdate><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">Eclipse3.1+MyEclipse4.03<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">做一登录练习。<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">现已经完成了<SPAN lang=EN-US>login</SPAN>的<SPAN lang=EN-US>struts</SPAN>部份，实现了动态<SPAN lang=EN-US>ActionForm</SPAN>和动态<SPAN lang=EN-US>validator</SPAN>验证，详细全部文件内容如下：<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">struts-config.xml</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<BR>&lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "<A href="http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><FONT color=#8d8c8c>http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd</FONT></A>"&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;struts-config&gt;<BR>&nbsp; &lt;data-sources /&gt;<BR>&nbsp; &lt;form-beans &gt;<BR>&nbsp;&nbsp;&nbsp; &lt;form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;form-property name="password" type="java.lang.String" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;form-property name="username" type="java.lang.String" /&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/form-bean&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;/form-beans&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;global-exceptions /&gt;<BR>&nbsp; &lt;global-forwards &gt;<BR>&nbsp;&nbsp;&nbsp; &lt;forward name="indexGo" path="/index.jsp" /&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;/global-forwards&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;action-mappings &gt;<BR>&nbsp;&nbsp;&nbsp; &lt;action<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute="loginForm"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input="/login.jsp"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="loginForm"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path="/login"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope="request"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; validate="true"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="com.test.struts.action.LoginAction" /&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;/action-mappings&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;message-resources parameter="com.test.struts.ApplicationResources" /&gt;<BR>&nbsp; &lt;plug-in className="org.apache.struts.validator.ValidatorPlugIn"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /&gt;<BR>&nbsp; &lt;/plug-in&gt;<BR>&lt;/struts-config&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">login.jsp</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;%@ page language="java" contentType="text/html; charset=UTF-8"%&gt;<BR>&lt;%@ taglib uri="<A href="http://jakarta.apache.org/struts/tags-bean"><FONT color=#8d8c8c>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=#8d8c8c>http://jakarta.apache.org/struts/tags-html</FONT></A>" prefix="html"%&gt;<BR>&nbsp;<BR>&lt;html&gt; <BR>&nbsp;&lt;head&gt;<BR>&nbsp;&nbsp;&lt;title&gt;JSP for loginForm form&lt;/title&gt;<BR>&nbsp;&lt;/head&gt;<BR>&nbsp;&lt;body&gt;<BR>&nbsp;&nbsp;&lt;html:form action="/login"&gt;<BR>&nbsp;&nbsp;&nbsp;username : &lt;html:text property="username"/&gt;&lt;html:errors property="username"/&gt;&lt;br/&gt;<BR>&nbsp;&nbsp;&nbsp;password : &lt;html:password property="password"/&gt;&lt;html:errors property="password"/&gt;&lt;br/&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;html:submit/&gt;&lt;html:cancel/&gt;<BR>&nbsp;&nbsp;&lt;/html:form&gt;<BR>&nbsp;&lt;/body&gt;<BR>&lt;/html&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">index.jsp</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;html&gt;<BR>&nbsp; &lt;head&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;title&gt;My JSP 'index.jsp' starting page&lt;/title&gt;<BR>&nbsp; &lt;/head&gt;<BR>&nbsp; <BR>&nbsp; &lt;body&gt;<BR>&nbsp;&lt;a href="login.jsp"&gt;Login&lt;/a&gt;<BR>&nbsp; &lt;/body&gt;<BR>&lt;/html&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">LoginAction.java</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">//Created by MyEclipse Struts<BR>// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_<st1:chsdate Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">4.0.1</st1:chsdate>/xslt/JavaClass.xsl<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">package com.test.struts.action;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">import javax.servlet.http.HttpServletRequest;<BR>import javax.servlet.http.HttpServletResponse;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">import org.apache.struts.action.Action;<BR>import org.apache.struts.action.ActionForm;<BR>import org.apache.struts.action.ActionForward;<BR>import org.apache.struts.action.ActionMapping;<BR>import org.apache.struts.validator.DynaValidatorForm;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">/** <BR>&nbsp;* MyEclipse Struts<BR>&nbsp;* Creation date: 10-27-2005<BR>&nbsp;* <BR>&nbsp;* XDoclet definition:<BR>&nbsp;* @struts.action path="/login" name="loginForm" input="login.jsp" scope="request" validate="true"<BR>&nbsp;*/<BR>public class LoginAction extends Action {<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;// --------------------------------------------------------- Instance Variables<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;// --------------------------------------------------------- Methods<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;/** <BR>&nbsp; * Method execute<BR>&nbsp; * @param mapping<BR>&nbsp; * @param form<BR>&nbsp; * @param request<BR>&nbsp; * @param response<BR>&nbsp; * @return ActionForward<BR>&nbsp; */<BR>&nbsp;public ActionForward execute(<BR>&nbsp;&nbsp;ActionMapping mapping,<BR>&nbsp;&nbsp;ActionForm form,<BR>&nbsp;&nbsp;HttpServletRequest request,<BR>&nbsp;&nbsp;HttpServletResponse response) {<BR>&nbsp;&nbsp;DynaValidatorForm loginForm = (DynaValidatorForm) form;<BR>&nbsp;&nbsp;// TODO Auto-generated method stub<BR>&nbsp;&nbsp;String username=(String)loginForm.get("username");<BR>&nbsp;&nbsp;String password=(String)loginForm.get("password");<BR>&nbsp;&nbsp;loginForm.set("password",null);<BR>&nbsp;&nbsp;if(username.equals("sonic")||password.equals("sonic")){<BR>&nbsp;&nbsp;&nbsp;System.out.println("AAA");<BR>&nbsp;&nbsp;&nbsp;return mapping.findForward("indexGo");<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;else {<BR>&nbsp;&nbsp;&nbsp;System.out.println("BBB");<BR>&nbsp;&nbsp;&nbsp;return mapping.getInputForward();<BR>&nbsp;&nbsp;}<BR>&nbsp;}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">ApplicationResources.properties</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">prompt.username=User Name<BR>prompt.password=User Password<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">errors.required={0} is required.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">ApplicationResources_zh_CN.properties</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">prompt.username=</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">用户名称<SPAN lang=EN-US><BR>prompt.password=</SPAN>登录密码<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">errors.required={0} </SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">是必须的<SPAN lang=EN-US>.<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">validation.xml</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"> <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;form-validation&gt;<BR>&nbsp;&lt;formset&gt;<BR>&nbsp;&nbsp;&lt;form name="loginForm"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;field property="username" depends="required"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;arg0 key="prompt.username" /&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;/field&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;field property="password" depends="required"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;arg0 key="prompt.password" /&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;/field&gt;<BR>&nbsp;&nbsp;&lt;/form&gt;<BR>&nbsp;&lt;/formset&gt;<BR>&lt;/form-validation&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">到此已经完成了全部代码！<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P><img src ="http://www.blogjava.net/eagames/aggbug/21037.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-11-22 21:40 <a href="http://www.blogjava.net/eagames/archive/2005/11/22/21037.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts+Hibernate+Spring练习（续）</title><link>http://www.blogjava.net/eagames/archive/2005/11/22/21035.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Tue, 22 Nov 2005 13:39:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/11/22/21035.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/21035.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/11/22/21035.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/21035.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/21035.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">现在创建<SPAN lang=EN-US>spring</SPAN>框架<SPAN lang=EN-US><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">配置<SPAN lang=EN-US>struts-config.xml</SPAN>文件，添加（<SPAN lang=EN-US>spring</SPAN>）的插件<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" /&gt;<BR>&nbsp; &lt;/plug-in&gt;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">修改<SPAN lang=EN-US>LoginAction</SPAN>配置</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">原：</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;action<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute="loginForm"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input="/login.jsp"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="loginForm"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path="/login"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope="request"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; validate="true"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="com.test.struts.action.LoginAction" /&gt;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;/action-mappings&gt;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">改为：</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;action<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; attribute="loginForm"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; input="/login.jsp"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name="loginForm"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; path="/login"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scope="request"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; validate="true"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: green; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">org.springframework.web.struts.DelegatingActionProxy</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">" /&gt;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp; &lt;/action-mappings&gt;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">绿色字体部份为修改内容</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">这里将使用<SPAN lang=EN-US>spring</SPAN>的代理器来对<SPAN lang=EN-US>Action</SPAN>进行控制</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">当提交到<SPAN lang=EN-US>/login.do</SPAN>是将控制权交给了<SPAN lang=EN-US>spring</SPAN>，然后由<SPAN lang=EN-US>spring</SPAN>来决定是否转回到<SPAN lang=EN-US>struts</SPAN>的<SPAN lang=EN-US>Action<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">现在来配置<SPAN lang=EN-US>spring<o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<BR>&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><A href="http://www.springframework.org/dtd/spring-beans.dtd"><FONT color=#8d8c8c>http://www.springframework.org/dtd/spring-beans.dtd</FONT></A><SPAN style="COLOR: blue">"&gt;</SPAN><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;beans&gt;<BR>&nbsp;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: green; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;bean name="/login" class="net.xiaxin.action.LoginAction" singleton="false"&gt;&lt;/bean&gt;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><BR>&lt;/beans&gt;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">绿色字体是关于转交控制权的配置内容</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">属性<SPAN lang=EN-US>singleton="false"</SPAN>，指明了<SPAN lang=EN-US>Action </SPAN>的实例获取方式为每次重新创建。解决了<SPAN lang=EN-US>Struts</SPAN>中令人诟病的线程安全问题（<SPAN lang=EN-US>Struts</SPAN>中，由一个<SPAN lang=EN-US>Action</SPAN>实例处理所有的请求，这就导致了类公用资源在并发请求中的线程同步问题。）（摘自<SPAN lang=EN-US>spring</SPAN>开发指南）<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">建立数据库在 </SPAN></B><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">这里我使用的是<SPAN lang=EN-US>mysql<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:chsdate Year="1899" Month="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">4.1.1</st1:chsdate>x</SPAN></SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">CREATE TABLE `user` (<BR>&nbsp; `ID` int(11) NOT NULL auto_increment,<BR>&nbsp; `USERNAME` varchar(50) NOT NULL default '',<BR>&nbsp; `PASSWORD` varchar(50) NOT NULL default '',<BR>&nbsp; PRIMARY KEY&nbsp; (`ID`)<BR>) ENGINE=MyISAM DEFAULT CHARSET=latin1; <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">创建<SPAN lang=EN-US>Hibernate</SPAN>框架</SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">使用<SPAN lang=EN-US>MyEclipse</SPAN>的数据<SPAN lang=EN-US>Database Explorer</SPAN>工具创建<SPAN lang=EN-US>User.hmb.xml</SPAN>、<SPAN lang=EN-US>AbstractUser.java</SPAN>、<SPAN lang=EN-US>User.java</SPAN>映射文件<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">创建完成后可以将自动生成的<SPAN lang=EN-US>hibernate.cfg.xml</SPAN>删除<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">创建<SPAN lang=EN-US>UserDAO.java</SPAN>、<SPAN lang=EN-US>UserDAOImp.java</SPAN></SPAN></B><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">修改<SPAN lang=EN-US>LoginAction.java</SPAN>文件</SPAN></B><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">，使用<SPAN lang=EN-US>userDao</SPAN>的方法来进行用户验证<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">package com.test.struts.action;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">import javax.servlet.http.HttpServletRequest;<BR>import javax.servlet.http.HttpServletResponse;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">import org.apache.struts.action.Action;<BR>import org.apache.struts.action.ActionForm;<BR>import org.apache.struts.action.ActionForward;<BR>import org.apache.struts.action.ActionMapping;<BR>import org.apache.struts.validator.DynaValidatorForm;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: green; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">import com.test.UserDAO;</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><BR>public class LoginAction extends Action {<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><BR>&nbsp;<SPAN style="COLOR: green">private UserDAO userDAO</SPAN>;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: green; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;public UserDAO getUserDAO() {<BR>&nbsp;&nbsp;return userDAO;<BR>&nbsp;}</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; COLOR: green; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;public void setUserDAO(UserDAO userDAO) {<BR>&nbsp;&nbsp;this.userDAO = userDAO;<BR>&nbsp;}</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体"><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;public ActionForward execute(ActionMapping mapping, ActionForm form,<BR>&nbsp;&nbsp;&nbsp;HttpServletRequest request, HttpServletResponse response) {<BR>&nbsp;&nbsp;DynaValidatorForm loginForm = (DynaValidatorForm) form;<BR>&nbsp;&nbsp;// TODO Auto-generated method stub<BR>&nbsp;&nbsp;String username = (String) loginForm.get("username");<BR>&nbsp;&nbsp;String password = (String) loginForm.get("password");<BR>&nbsp;&nbsp;loginForm.set("password", null);<BR>&nbsp;&nbsp;<SPAN style="COLOR: green">if (userDAO.isValidUser(username,password)) {<BR>&nbsp;&nbsp;&nbsp;return mapping.findForward("indexGo");<BR>&nbsp;&nbsp;} else {<BR>&nbsp;&nbsp;&nbsp;return mapping.getInputForward();<BR>&nbsp;&nbsp;}<BR></SPAN>&nbsp;}<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">}<BR></SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">绿色字体为修改部份<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">现在剩下最后的<SPAN lang=EN-US>spring</SPAN>配置了<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<BR>&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<A href="http://www.springframework.org/dtd/spring-beans.dtd"><FONT color=#8d8c8c>http://www.springframework.org/dtd/spring-beans.dtd</FONT></A>"&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&lt;beans&gt;<BR>&nbsp;&lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt;<BR>&nbsp;&nbsp;&lt;property name="driverClassName"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;value&gt;com.mysql.jdbc.Driver&lt;/value&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&nbsp;&lt;property name="url"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;value&gt;jdbc:mysql://localhost:3306/test&lt;/value&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&nbsp;&lt;property name="username"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;value&gt;root&lt;/value&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&nbsp;&lt;property name="password"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;value&gt;&lt;/value&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&lt;/bean&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"&gt;<BR>&nbsp;&nbsp;&lt;property name="dataSource"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;ref local="dataSource" /&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&nbsp;&lt;property name="mappingResources"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;list&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;value&gt;com\test\Hibernate\User.hbm.xml&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;/list&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&nbsp;&lt;property name="hibernateProperties"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;props&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop key="hibernate.dialect"&gt;net.sf.hibernate.dialect.MySQLDialect&lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;/props&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&lt;/bean&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&lt;bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager"&gt;<BR>&nbsp;&nbsp;&lt;property name="sessionFactory"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;ref local="sessionFactory" /&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&lt;/bean&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&lt;bean id="userDAO" class="com.test.UserDAOImp"&gt;<BR>&nbsp;&nbsp;&lt;property name="sessionFactory"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;ref local="sessionFactory" /&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&lt;/bean&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&lt;bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"&gt;<BR>&nbsp;&nbsp;&lt;property name="transactionManager"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;ref bean="transactionManager" /&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&nbsp;&lt;property name="target"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;ref local="userDAO" /&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&nbsp;&lt;property name="transactionAttributes"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;props&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop key="insert*"&gt;PROPAGATION_REQUIRED&lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop key="get*"&gt;PROPAGATION_REQUIRED,readOnly&lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&lt;prop key="is*"&gt;PROPAGATION_REQUIRED,readOnly&lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;/props&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&lt;/bean&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&lt;bean name="/login" class="com.test.struts.action.LoginAction" singleton="false"&gt;<BR>&nbsp;&nbsp;&lt;property name="userDAO"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;ref bean="userDAOProxy" /&gt;<BR>&nbsp;&nbsp;&lt;/property&gt;<BR>&nbsp;&lt;/bean&gt;<BR>&lt;/beans&gt;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">现在可以进行测试了！<SPAN lang=EN-US><o:p></o:p></SPAN></SPAN></P><img src ="http://www.blogjava.net/eagames/aggbug/21035.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-11-22 21:39 <a href="http://www.blogjava.net/eagames/archive/2005/11/22/21035.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts1.2+Spring2.0+Hibernate3示例</title><link>http://www.blogjava.net/eagames/archive/2005/11/22/21034.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Tue, 22 Nov 2005 13:38:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/11/22/21034.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/21034.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/11/22/21034.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/21034.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/21034.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 工具：&nbsp;&nbsp;&nbsp;&nbsp;Eclipse3.1、MyEclipse4.03、Tomcat5.5.9、Properties Editor插件、MySql4.1.13&nbsp;新建工程：名称为 login&nbsp;创建Struts框架&nbsp;创建 index.jsp，增加一链接指向 login.jsp&nbsp;按下Ctrl + ...&nbsp;&nbsp;<a href='http://www.blogjava.net/eagames/archive/2005/11/22/21034.html'>阅读全文</a><img src ="http://www.blogjava.net/eagames/aggbug/21034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-11-22 21:38 <a href="http://www.blogjava.net/eagames/archive/2005/11/22/21034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我收集的Eclipse插件</title><link>http://www.blogjava.net/eagames/archive/2005/11/22/21033.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Tue, 22 Nov 2005 13:37:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/11/22/21033.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/21033.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/11/22/21033.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/21033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/21033.html</trackback:ping><description><![CDATA[<H1 class=block_title><FONT color=#ff6600>我收集的Eclipse插件</FONT></H1>
<DIV class=post>
<DIV class=postcontent>
<P>Poperties Editor<BR>&nbsp; <A href="http://propedit.sourceforge.jp/eclipse/updates/"><FONT color=#8d8c8c>http://propedit.sourceforge.jp/eclipse/updates/</FONT></A></P>
<P>eclipseME<BR>&nbsp; <A href="http://eclipseme.org/updates/"><FONT color=#8d8c8c>http://eclipseme.org/updates/</FONT></A></P>
<P><BR>我收集的Eclipse插件</P>
<P><BR>&nbsp;<BR>1.MyEclipse&nbsp; J2EE开发插件，支持SERVLET/JSP/EJB/数据库操纵等<BR><A href="http://www.myeclipseide.com/"><FONT color=#8d8c8c>www.myeclipseide.com</FONT></A><BR>&nbsp;<BR>2.Properties Editor&nbsp; 编辑java的属性文件，并可以自动存盘为Unicode格式<BR><A href="http://propedit.sourceforge.jp/index_en.html"><FONT color=#8d8c8c>http://propedit.sourceforge.jp/index_en.html</FONT></A><BR><A href="http://propedit.sourceforge.jp/eclipse/updates/"><FONT color=#8d8c8c>http://propedit.sourceforge.jp/eclipse/updates/</FONT></A><BR>&nbsp;<BR>3.Colorer Take&nbsp; 为上百种类型的文件按语法着色<BR><A href="http://colorer.sourceforge.net/"><FONT color=#8d8c8c>http://colorer.sourceforge.net/</FONT></A><BR>&nbsp;<BR>4.XMLBuddy 编辑xml文件<BR><A href="http://www.xmlbuddy.com/"><FONT color=#8d8c8c>www.xmlbuddy.com</FONT></A><BR>&nbsp;<BR>5.Code Folding&nbsp; 加入多种代码折叠功能（比eclipse自带的更多）<BR><A href="http://www.coffee-bytes.com/servlet/PlatformSupport"><FONT color=#8d8c8c>http://www.coffee-bytes.com/servlet/PlatformSupport</FONT></A><BR>&nbsp;<BR>6.Easy Explorer&nbsp; 从eclipse中访问选定文件、目录所在的文件夹<BR><A href="http://easystruts.sourceforge.net/"><FONT color=#8d8c8c>http://easystruts.sourceforge.net/</FONT></A><BR>&nbsp;<BR>7.Fat Jar 打包插件，可以方便的完成各种打包任务，可以包含外部的包等<BR><A href="http://fjep.sourceforge.net/"><FONT color=#8d8c8c>http://fjep.sourceforge.net/</FONT></A><BR>&nbsp;<BR>8.RegEx Test 测试正则表达式<BR><A href="http://brosinski.com/stephan/archives/000028.php"><FONT color=#8d8c8c>http://brosinski.com/stephan/archives/000028.php</FONT></A><BR>&nbsp;<BR>9.JasperAssistant 报表插件（强，要钱的）<BR><A href="http://www.jasperassistant.com/"><FONT color=#8d8c8c>http://www.jasperassistant.com/</FONT></A><BR>&nbsp;<BR>10.Jigloo GUI Builder ＪＡＶＡ的ＧＵＩ编辑插件<BR><A href="http://cloudgarden.com/jigloo/"><FONT color=#8d8c8c>http://cloudgarden.com/jigloo/</FONT></A><BR>&nbsp;<BR>11.Profiler 性能跟踪、测量工具，能跟踪、测量ＢＳ程序<BR><A href="http://sourceforge.net/projects/eclipsecolorer/"><FONT color=#8d8c8c>http://sourceforge.net/projects/eclipsecolorer/</FONT></A><BR>&nbsp;<BR>12.AdvanQas 提供对if/else等条件语句的提示和快捷帮助（自动更改结构等）<BR><A href="http://eclipsecolorer.sourceforge.net/advanqas/index.html"><FONT color=#8d8c8c>http://eclipsecolorer.sourceforge.net/advanqas/index.html</FONT></A><BR>&nbsp;<BR>13.Log4E&nbsp;&nbsp;&nbsp;&nbsp; Log4j插件，提供各种和Log4j相关的任务，如为方法、类添加一个logger等<BR><A href="http://log4e.jayefem.de/index.php/Main_Page"><FONT color=#8d8c8c>http://log4e.jayefem.de/index.php/Main_Page</FONT></A><BR>&nbsp;<BR>14.VSSPlugin VSS插件<BR><A href="http://sourceforge.net/projects/vssplugin"><FONT color=#8d8c8c>http://sourceforge.net/projects/vssplugin</FONT></A><BR>&nbsp;<BR>15.Implementors&nbsp;&nbsp; 提供跳转到一个方法的实现类，而不是接中的功能（实用!）<BR><A href="http://eclipse-tools.sourceforge.net/implementors/"><FONT color=#8d8c8c>http://eclipse-tools.sourceforge.net/implementors/</FONT></A><BR>&nbsp;<BR>16.Call Hierarchy 显示一个方法的调用层次（被哪些方法调，调了哪些方法）<BR><A href="http://eclipse-tools.sourceforge.net/call-hierarchy/index.html"><FONT color=#8d8c8c>http://eclipse-tools.sourceforge.net/call-hierarchy/index.html</FONT></A><BR>&nbsp;<BR>17.EclipseTidy 检查和格式化HTML/XML文件<BR><A href="http://eclipsetidy.sourceforge.net/"><FONT color=#8d8c8c>http://eclipsetidy.sourceforge.net/</FONT></A><BR>&nbsp;<BR>18.Checkclipse 检查代码的风格、写法是否符合规范<BR><A href="http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm"><FONT color=#8d8c8c>http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm</FONT></A><BR>&nbsp;<BR>19.Hibernate Synchronizer Hibernate插件，自动映射等<BR><A href="http://www.binamics.com/hibernatesync/"><FONT color=#8d8c8c>http://www.binamics.com/hibernatesync/</FONT></A><BR>&nbsp;<BR>20.spring updatesite 插件<BR><A href="http://springide.org/updatesite/"><FONT color=#8d8c8c>http://springide.org/updatesite/</FONT></A></P>
<P>20.VeloEclipse&nbsp; Velocity插件<BR><A href="http://propsorter.sourceforge.net/"><FONT color=#8d8c8c>http://propsorter.sourceforge.net/</FONT></A><BR>&nbsp;<BR>21.EditorList&nbsp;&nbsp; 方便的列出所有打开的Editor<BR><A href="http://editorlist.sourceforge.net/"><FONT color=#8d8c8c>http://editorlist.sourceforge.net/</FONT></A><BR>&nbsp;<BR>22.MemoryManager 内存占用率的监视<BR><A href="http://cloudgarden.com/memorymanager/"><FONT color=#8d8c8c>http://cloudgarden.com/memorymanager/</FONT></A> </P>
<P>Eclipse的游戏插件<BR><A href="http://eclipse-games.sourceforge.net/"><FONT color=#8d8c8c>http://eclipse-games.sourceforge.net/</FONT></A></P>
<P>JBoss-IDE<BR><A href="http://jboss.sourceforge.net/jbosside/updates/"><FONT color=#8d8c8c>http://jboss.sourceforge.net/jbosside/updates/</FONT></A></P>
<P>自动反编译class，安装后要设定class文件缺省关联到jode<BR><A href="http://www.technoetic.com/eclipse/update"><FONT color=#8d8c8c>http://www.technoetic.com/eclipse/update</FONT></A></P>
<P><BR>jigloo swing/sw设计工具，里面自带的form/anchor布局很好用！<BR><A href="http://cloudgarden.soft-gems.net/update-site/"><FONT color=#8d8c8c>http://cloudgarden.soft-gems.net/update-site/</FONT></A></P>
<P>jinto的资源文件编辑工具，同时编辑多种语言，而且自动转换成iso8859-1编码。很好用！<BR><A href="http://www.guh-software.de/eclipse/"><FONT color=#8d8c8c>http://www.guh-software.de/eclipse/</FONT></A><BR></P></DIV></DIV><img src ="http://www.blogjava.net/eagames/aggbug/21033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-11-22 21:37 <a href="http://www.blogjava.net/eagames/archive/2005/11/22/21033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>速动画教学系列共九集，关于struts、hibernate下载</title><link>http://www.blogjava.net/eagames/archive/2005/11/22/21032.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Tue, 22 Nov 2005 13:34:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/11/22/21032.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/21032.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/11/22/21032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/21032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/21032.html</trackback:ping><description><![CDATA[<H1 class=block_title><A id=viewpost1_TitleUrl HREF="/oksonic/articles/14140.html"><FONT color=#ff6600>速动画教学系列共九集，关于struts、hibernate</FONT></A></H1>
<DIV class=post>
<DIV class=postcontent><STRONG>速动画教程系列第一集 Struts入门</STRONG> 
<P>下载地址：</P>
<P><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"><FONT color=#8d8c8c>http://www.ereach.cn/download/MyEclipse-Struts-01.exe</FONT></A></P><STRONG>速动画教程系列第二集 Hibernate + Struts 实例</STRONG> 
<P>下载地址：</P>
<P><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"><FONT color=#8d8c8c>http://www.ereach.cn/download/MyEclipse_Hibernate.exe</FONT></A><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"></A></P>
<P><STRONG>速动画教程系列第三集 Struts 之 Hello Word 续</STRONG></P>
<P>实现了返回用户名称</P>
<P>下载地址：</P>
<P><A href="http://www.ereach.cn/download/struts_2.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/struts_2.rar</FONT></A><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"></A><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"></A></P>
<P><STRONG>速动画教程系列第四集 Struts + Hibernate + oracle</STRONG></P>
<P>使用 MyEclipse 插件创建 Hibernate + Struts + oracle 实例</P>
<P>这一集是第二集的改版，数据库改为 oracle.</P>
<P>下载地址：</P>
<P><FONT color=#0000ff><A href="http://www.ereach.cn/download/Hibernate-Oracle.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/Hibernate-Oracle.rar</FONT></A><BR><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"></A><BR></P>
<P><STRONG><U>速动画教程系列第五集&nbsp;&nbsp;&nbsp; 第一段（共四段）&nbsp;地址薄综合实例</U></STRONG></P>
<P><U>使用Eclipse + MyEclipse + Struts + Hibernate + MySql </U></P>
<P><U>第一段下载地址：</U></P>
<P><FONT color=#0000ff><A href="http://www.ereach.cn/download/sonic005.1.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic005.1.rar</FONT></A><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"></A><BR><BR></P>
<P><STRONG><U>速动画教程系列第五集&nbsp;&nbsp;&nbsp; 第二段（共四段）&nbsp;地址薄综合实例</U></STRONG></P>
<P><U>使用Eclipse + MyEclipse + Struts + Hibernate + MySql </U></P>
<P><U>第一段下载地址：</U></P>
<P><FONT color=#0000ff><A href="http://www.ereach.cn/download/sonic005.2.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic005.2.rar</FONT></A><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"></A><BR><BR></P>
<P><STRONG><U>速动画教程系列第五集&nbsp;&nbsp;&nbsp; 第三段（共四段）&nbsp;地址薄综合实例</U></STRONG></P>
<P><U>使用Eclipse + MyEclipse + Struts + Hibernate + MySql </U></P>
<P><U>第一段下载地址：</U></P>
<P><A href="http://www.ereach.cn/download/sonic005.3.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic005.3.rar</FONT></A><A href="http://www.ereach.cn/download/sonic005.1.rar"></A><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"></A><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"></A></P></FONT><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"></A></FONT><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"></A>
<P><STRONG><U>速动画教程系列第五集&nbsp;&nbsp;&nbsp; 第四段（共四段）&nbsp;地址薄综合实例</U></STRONG></P>
<P><U>使用Eclipse + MyEclipse + Struts + Hibernate + MySql </U></P>
<P><U>第一段下载地址：</U></P>
<P><A href="http://www.ereach.cn/download/sonic005.4.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic005.4.rar</FONT></A><BR><A href="http://www.ereach.cn/download/sonic005.1.rar"></A><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"></A><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"></A></P></FONT><BR>
<P><STRONG>速动画教程第六集 Struts 之 Tiles 框架</STRONG></P>
<P>下载地址：<A href="http://www.ereach.cn/download/sonic006.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic006.rar</FONT></A><BR><A href="http://www.ereach.cn/download/sonic005.1.rar"></A><A href="http://www.ereach.cn/download/MyEclipse_Hibernate.exe"></A></P>
<P><BR><STRONG>速动画教程系列第七集 Eclipse+MyEclipse配置<BR></STRONG><A href="http://www.ereach.cn/download/sonic007.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic007.rar<BR></FONT></A></P>
<P><BR><STRONG>速动画教程第八集&nbsp;&nbsp; Hibernate的一对多关联关系</STRONG></P>
<P>下载地址：<A href="http://www.ereach.cn/download/sonic008.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic008.rar<BR></FONT></A><BR><BR></P>
<P><STRONG>速动画教程第九集 使用Eclipse+eclipseme开发HelloWorld!</STRONG></P>
<P>下载地址：<A href="http://www.ereach.cn/download/sonic009.rar"><FONT color=#8d8c8c>http://www.ereach.cn/download/sonic009.rar</FONT></A></P><A href="http://www.ereach.cn/download/MyEclipse-Struts-01.exe"></A></DIV></DIV><img src ="http://www.blogjava.net/eagames/aggbug/21032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-11-22 21:34 <a href="http://www.blogjava.net/eagames/archive/2005/11/22/21032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse整合JBoss4.0.0服务器开发－配置篇</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16368.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:40:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16368.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16368.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16368.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16368.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16368.html</trackback:ping><description><![CDATA[<P>之前在网上看了很多关于这方面的文章，经过自己的一些测试，终于……，嘿，结果你也知道，OK了，开心地说，所以想给大家分享分享劳动果实！</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其实我也跟大家一样，是一个喜欢追求时尚的爷们，所以当前配置是Eclipse3.1＋JBoss4.0.0，说实在的，我对那些所谓的汉化版是较为鄙视的，学学E文也好嘛，不要老让老外们牵着鼻子，做什么事都迟他们一步，俺们能看懂E文，老外们看不懂中文（说实在的，中文比E文高级多了，所以也更难学），自然他们就会慢慢地跟着俺们的屁股追了，废话不多说，现在让我们切入正题吧！（有什么不懂的，记得给我回复哦）</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个配置要分四步走，具体如下：</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先，巧妇难为无米之炊，没有工具谈整合开发，可要比叫男人生小孩痛苦得多。所以，我们都下载相应工具。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Eclipse3.1下载：<A href="http://www.eclipse.org/downloads/index.php">http://www.eclipse.org/downloads/index.php</A>（若大的3.1，够醒目吧，哈！）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JBoss4.00下载：<A href="http://www.jboss.org/products/jbossas/downloads">http://www.jboss.org/products/jbossas/downloads</A>（哈，什么版本都有吧）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lomboz下载：<A href="http://forge.objectweb.org/project/showfiles.php?group_id=97">http://forge.objectweb.org/project/showfiles.php?group_id=97</A>（很多版本，择优吧）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以上的三个网站，希望大家收藏起来，以后如果有新的版本，都可以在这上面看到，更新方便得多哦。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其次，将三个宝（压缩包）分别解压，eclipse-SDK-3.1-win32.zip解压至D:\Eclipse3.1目录（别告诉我你没有D盘），jboss-4.0.0.zip 解压至D:\jboss-4.0.0目录<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 再次，搭建Eclipse＋Lomboz环境。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 可能这个时候有朋友对Lomboz这东东还不太理解（俺当初就菜成这副模样，不骗你），其实呢，在百度（严重支持国货）里Search一下就知道了，它是一个通用插件，通过它，Eclipse可以整合各种服务器，不过这东东好像不太好配置，主要是因为版本问题，还好我运气没那么背，第一次就捡狗屎运的配置成功了（而且还在第二天找了个GF），这里有两个搭配（emf-sdo-runtime-I200412160800.zip＋org.objectweb.lomboz_3.1.0.N20041219.zip 和 emf-sdo-runtime-I200503181320.rar＋org.objectweb.lomboz_3.1.0.N20050106.zip），至于选择哪种就随你的便了，不过后一个版本要靠新一些（Why? Ask me? See the data!），然后给两个ZIP文件解压，将features目录下的所有内容拷贝到D:\Eclipse3.1\features目录，将plugins目录下的所有内容拷贝到D:\Eclipse3.1\plugins目录。（关键步骤到了）这时，进入D:\Eclipse3.1\configuration，删除org.eclipse.update文件夹（很多配置好的却没有显示都是没删这东东惹的祸），OK，启动Eclipse，选择菜单栏的Window，在下拉菜单中选择Preferences，弹出的Preferences属性框中，你看到了什么？？是不是多了个Lomboz配置选项，对就这玩意，选择它，配置tool.jar的路径，我的配置是C:\Java\jdk1.5.0_04\lib\tools.jar（偶的JDK1.5装在C:\Java\jdk1.5.0_04目录下），再展开Lomboz项，这时你会看到Server Definitions，这个才是真正配置启动服务器类型的选项（例如JBoss、Weblogic、Tomcat、Resin、Websphere），下面就专门来讲解这个配置。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server Definitions配置详解：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server types：在下拉菜单中选择需要配置的服务器（有版本区别），在此我选择JBOSS 4.0.0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注：Server types下拉菜单默认最高支持到JBOSS 3.2.x，这方面的配置见附属说明。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application Server Directory：D:/jboss-4.0.0（你的Jboss安装路径）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Classpath Variable：D:/jboss-4.0.0（你的Jboss安装路径）<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其它项，全取默认值</P>
<P>如果你不幸是用Linux的朋友，哦，对不起，忘记事先说明了，偶用的是Windows（晕死）平台，兄弟们，这可是偶摸了一天两夜才难产出来的自创性文章，如果其中某环节出了什么差池，可别扁我哦！</P>
<P>附属说明：在D:\Eclipse3.1\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers目录下有一系列配置文件，你可以在此目录下新建一个jboss400.server的文件，用Editplus打开它编辑，文件内容如下：</P>
<P><BR>&lt;serverDefinition <BR>&nbsp; name="JBOSS 4.0.0"<BR>&nbsp; ejbModules="true"<BR>&nbsp; webModules="true"<BR>&nbsp; earModules="true"&gt;<BR>&lt;property id="serverRootDirectory"<BR>&nbsp;label="Application Server Directory:"<BR>&nbsp;type="directory"<BR>&nbsp;default="D:/jboss-4.0.0" /&gt;<BR>&lt;property id="serverAddress"<BR>&nbsp;label="Address:"<BR>&nbsp;type="string"<BR>&nbsp;default="127.0.0.1" /&gt;<BR>&lt;property id="serverPort"<BR>&nbsp;label="Port:"<BR>&nbsp;type="string"<BR>&nbsp;default="8080" /&gt;<BR>&lt;property id="serverConfig"<BR>&nbsp;label="Server Configuration (minimal/default/all):"<BR>&nbsp;type="string"<BR>&nbsp;default="default" /&gt;<BR>&lt;property id="classPathVariableName"<BR>&nbsp;label="Classpath Variable Name:"<BR>&nbsp;type="string"<BR>&nbsp;default="JBOSS400" /&gt;<BR>&lt;property id="classPath"<BR>&nbsp;label="Classpath Variable:"<BR>&nbsp;type="directory"<BR>&nbsp;default="D:/jboss-4.0.0" /&gt;<BR>&lt;serverHome&gt;${serverRootDirectory}&lt;/serverHome&gt;<BR>&lt;webModulesDeployDirectory&gt;${serverRootDirectory}/server/${serverConfig}/deploy&lt;/webModulesDeployDirectory&gt;<BR>&lt;ejbModulesDeployDirectory&gt;${serverRootDirectory}/server/${serverConfig}/deploy&lt;/ejbModulesDeployDirectory&gt;<BR>&lt;earModulesDeployDirectory&gt;${serverRootDirectory}/server/${serverConfig}/deploy&lt;/earModulesDeployDirectory&gt;<BR>&lt;jndiInitialContextFactory&gt;org.jnp.interfaces.NamingContextFactory&lt;/jndiInitialContextFactory&gt;<BR>&lt;jndiProviderUrl&gt;jnp://${serverAddress}:1099&lt;/jndiProviderUrl&gt;<BR>&lt;startClass&gt;org.jboss.Main&lt;/startClass&gt;<BR>&lt;startWorkingDirectory&gt;${serverRootDirectory}/bin&lt;/startWorkingDirectory&gt;<BR>&lt;startVmParameters&gt;&lt;/startVmParameters&gt;<BR>&lt;startProgramArguments&gt;-c ${serverConfig}&lt;/startProgramArguments&gt;<BR>&lt;stopClass&gt;org.jboss.Shutdown&lt;/stopClass&gt;<BR>&lt;stopWorkingDirectory&gt;${serverRootDirectory}/bin&lt;/stopWorkingDirectory&gt;<BR>&lt;stopVmParameters&gt;&lt;/stopVmParameters&gt;<BR>&lt;stopProgramArguments&gt;-S&lt;/stopProgramArguments&gt;<BR>&lt;serverClassPath&gt;<BR>&nbsp;&lt;jar type="variable"&gt;JDK_TOOLS&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/bin/run.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/bin/shutdown.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-j2ee.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/javax.servlet.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-boot.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-system.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/concurrent.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/bcel.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/jdom.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/xercesImpl.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/xml-apis.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/gnu-regexp.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/getopt.jar&lt;/jar&gt;<BR>&lt;/serverClassPath&gt;<BR>&lt;clientClassPath&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-j2ee.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jnp-client.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-client.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-common-client.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jbosssx-client.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/log4j.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jnet.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/default/lib/jnpserver.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-jaas.jar&lt;/jar&gt;<BR>&lt;/clientClassPath&gt;<BR>&lt;projectClassPath&gt;<BR>&nbsp;&lt;jar type="variable"&gt;JDK_TOOLS&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/bin/run.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/bin/shutdown.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/client/jboss-j2ee.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/javax.servlet.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-boot.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/jboss-system.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/lib/concurrent.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar&lt;/jar&gt;<BR>&nbsp;&lt;jar type="variable"&gt;${classPathVariableName}/server/${serverConfig}/lib/bcel.jar&lt;/jar&gt;<BR>&lt;/projectClassPath&gt;<BR>&lt;adminTool&gt;<BR>&nbsp;&lt;web&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<BR>&nbsp;&lt;/web&gt;<BR>&nbsp;&lt;ejb&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<BR>&nbsp;&lt;/ejb&gt;<BR>&nbsp;&lt;ear&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<BR>&nbsp; &lt;webModule&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<BR>&nbsp; &lt;/webModule&gt;<BR>&nbsp; &lt;ejbModule&gt;&lt;deploy /&gt;&lt;undeploy /&gt;<BR>&nbsp; &lt;/ejbModule&gt;<BR>&nbsp;&lt;/ear&gt;<BR>&lt;/adminTool&gt;<BR>&lt;adminToolPath&gt;<BR>&lt;/adminToolPath&gt;<BR>&lt;/serverDefinition&gt;</P>
<P>&nbsp;</P><img src ="http://www.blogjava.net/eagames/aggbug/16368.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:40 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16368.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse与插件安装</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16367.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:39:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16367.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16367.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16367.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16367.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16367.html</trackback:ping><description><![CDATA[<P>Eclipse与插件安装 </P>
<P>一、安装准备 </P>
<P>在进行安装以前，你应该准备以下软件： </P>
<P>&nbsp;软件:j2sdk-1_4_2_04-windows-i586-p.exe<BR>&nbsp;版本:1.4.2_04 <BR>&nbsp;官方下载:http://java.sun.com/j2se/1.4.2/download.html <BR>&nbsp;&nbsp; <BR>&nbsp;软件:jakarta-tomcat-5.0.28.exe <BR>&nbsp;版本:5.0.28 <BR>&nbsp;官方下载:http://www.apache.org/dist/jakarta/ <BR>&nbsp;&nbsp; <BR>&nbsp;软件:jakarta-struts-1.1.zip <BR>&nbsp;版本:1.1 <BR>&nbsp;官方下载:http://www.apache.org/dist/jakarta/struts/ <BR>&nbsp;&nbsp; <BR>&nbsp;软件:eclipse-SDK-2.1.3-win32.zip <BR>&nbsp;版本:2.1.3 <BR>&nbsp;官方下载:http://www.eclipse.org/downloads/index.php <BR>&nbsp;<A href="ftp://download2.eclipse.org/R-2.1.1-200306271545/eclipse-SDK-2.1.1-win32.zip">ftp://download2.eclipse.org/R-2.1.1-200306271545/eclipse-SDK-2.1.1-win32.zip</A> <BR>&nbsp;备注:目前eclipse最新版为eclipse3.0 </P>
<P>&nbsp;软件:eclipse2.1.1-SDK-win-LanguagePackFeature.zip&nbsp; <BR>&nbsp;版本:2.1.1 <BR>&nbsp;官方下载:http://download2.eclipse.org/downloads/drops/<BR>&nbsp;L-2.1.x%20Translations-200307021300<BR>&nbsp;/eclipse2.1.1-SDK-win-LanguagePackFeature.zip&nbsp; <BR>&nbsp;备注:该版本只能汉化eclipse2.1.3及以下版本 </P>
<P>&nbsp;软件:TomcatPlugin <BR>&nbsp;版本:2.2.1 <BR>&nbsp;官方下载:http://www.sysdeo.com/eclipse/tomcatPlugin.html <BR>&nbsp;&nbsp; <BR>&nbsp;软件:Lomboz <BR>&nbsp;版本:2.1.3 <BR>&nbsp;官方下载:http://www.objectlearn.com/index.jsp <BR>&nbsp; 软件:EasyStruts <BR>&nbsp;版本:0.6.4 <BR>&nbsp;官方下载:http://sourceforge.net/projects/easystruts <BR>&nbsp; <BR>&nbsp; <BR>如果要找其他eclipse插件可以去下面这个站点 <BR><A href="http://www.eclipse-plugins.info">http://www.eclipse-plugins.info</A> <BR>&nbsp; </P>
<P>二、JDK安装 </P>
<P>1．安装J2SE-SDK到C:\j2sdk1.4.2_04 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 部分目录结构如下： </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\j2sdk1.4.2_04\bin </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\j2sdk1.4.2_04\lib </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\j2sdk1.4.2_04\jre</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ．．． </P>
<P>2．配置环境变量如下： </P>
<P>JAVA_HOME=C:\j2sdk1.4.2_04 </P>
<P>PATH=%PATH%;C:\j2sdk1.4.2_04\bin </P>
<P>CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\common\lib\servlet-api.jar;%TOMCAT_HOME%\common\lib\jsp-api.jar</P>
<P><BR>三、Tomcat安装 </P>
<P>1．安装jakarta-tomcat-5.0.28.exe到C:\Tomcat 5.0 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 部分目录结构如下： </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Tomcat 5.0\bin </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Tomcat 5.0\conf </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\Tomcat 5.0\webapps </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ．．． </P>
<P>2．配置环境变量如下： </P>
<P>CATALINA_HOME=C:\Tomcat 5.0<BR>TOMCAT_HOME=C:\Tomcat 5.0 </P>
<P><BR>四、Struts安装 </P>
<P>1．解压jakarta-struts-1.1.zip到C:\jakarta-struts-1.1 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 部分目录结构如下： </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\jakarta-struts-1.1\lib </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C:\jakarta-struts-1.1\webapps </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ．．． </P>
<P>五、Eclipse安装 </P>
<P>1．解压eclipse-SDK-2.1.3-win32.zip到D:\eclipse </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 部分目录结构如下： </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D:\eclipse\features </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D:\eclipse\plugins </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ．．． </P>
<P>2．启动Eclipse，看看安装是否成功 </P>
<P>&nbsp;&nbsp; 如果启动不成功，请查看JRE是否安装 </P>
<P>3．启动Eclipse，点击菜单 windows-&gt;preferences <BR>&nbsp;&nbsp; 在左边树中点击展开java，选择Installed JREs， </P>
<P>如果Installed JREs如下则正确： </P>
<P>&nbsp;JRE Type:Standard VM <BR>&nbsp;Name:j2re1.4.2_04 <BR>&nbsp;Location:C:\j2sdk1.4.2_04\jre</P>
<P><BR>六、Eclipse汉化 </P>
<P>1．解压eclipse2.1.2.1-SDK-win32-LanguagePackFeature.zip<BR>到D:\eclipse下 </P>
<P>将目录名eclipse2.1.2.1-SDK-win32-LanguagePackFeature<BR>改为eclipse2.1.2.1Language </P>
<P>部分目录结构如下： </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D:\eclipse\eclipse2.1.2.1Language\eclipse\features </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D:\eclipse\eclipse2.1.2.1Language\eclipse\plugins </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ．．． </P>
<P>2．在E:\eclipse下新建文件夹links，使得文件夹links<BR>&nbsp;&nbsp; 和文件夹eclipse2.1.2.1Language同级 </P>
<P>3．在D:\eclipse\links下新建文件，文件名任取，<BR>&nbsp;&nbsp; 我们命名为language.link，打开此文件， </P>
<P>加入 path = D:\\eclipse\\eclipse2.1.2.1Language </P>
<P>4．启动Eclipse，看看汉化是否成功，<BR>如不成功请检查language.link文件中配置信息<BR>path = D:\\eclipse\\eclipse2.1.2.1Language<BR>和汉化文件夹eclipse2.1.2.1Language的安装路径是否一致&nbsp;&nbsp; </P>
<P>七、TomcatPlugin安装 </P>
<P>1．解压tomcatPluginV221.zip </P>
<P>2．将解压目录tomcatPluginV221下<BR>文件夹com.sysdeo.eclipse.tomcat_2.2.1复制到eclipse安装<BR>目录中的plugins目录中，即D:\eclipse\plugins </P>
<P>3．启动Eclipse </P>
<P>4．启动后你将看到你的菜单上多了一个下拉项Tomcat，<BR>快捷栏里多了三个Tomcat的猫图表，如果没有看到，<BR>请点击 窗口-&gt;定制透视图，展开树结构中的“其它”，选择“Tomcat” </P>
<P>5．点击 窗口-&gt;首选项 </P>
<P>&nbsp;在左边树中点击tomcat，<BR>&nbsp;设置tomcat version为version 5.x <BR>&nbsp;设置tomcat-home为C:\Tomcat 5.0<BR>&nbsp;设置perspective to switch when tomcat is started为java <BR>&nbsp;<BR>在左边树中点击tomcat-&gt;JVM setting，设置JRE为j2sdk1.4.2 <BR>在“Tomcat”选项的子选项“JVM Settings” -&gt; “Classpath”中，<BR>添加 Jar/Zip ，该值应该是 java_home/lib/tools.jar。<BR>这用于编译 JSP 文件。<BR>为项目的 classpath 引用设置 classpath 变量 TOMCAT_HOME。<BR>要完成这一任务，请在与步骤 5 相同的弹出菜单中选择“Java”选项，<BR>然后选择“Classpath Variables”子选项，<BR>并添加一个新的变量“TOMCAT_HOME”，其路径是C:\Tomcat 5.0。</P>
<P>确保“Tomcat”菜单和 3 个工具栏按钮可用。到现在为止，<BR>我们应该在 Java 视图中可以看到一个“Tomcat”菜单和 3 个 Tomcat 工具栏<BR>按钮.如果您没有看到这些内容，回到“Window”菜单中，<BR>选择“Customize Perspective...”项，打开选项树，<BR>选中“Other”项并选中“Tomcat”子选项。 </P>
<P>点击应用确定 </P>
<P>6．点击快捷按钮“Start Tomcat”来启动Tomcat吧。&nbsp;&nbsp; </P>
<P>八、Lomboz安装 </P>
<P>1．解压lomboz.213.zip </P>
<P>2．将解压目录lomboz.213\plugins下文件夹com.objectlearn.jdt.j2ee<BR>和com.objectlearn.jdt.j2ee.editors 复制到eclipse安装目录中的plugins<BR>目录中，即D:\eclipse\plugins </P>
<P>3．启动Eclipse </P>
<P>4．点击 窗口-&gt;首选项 </P>
<P>&nbsp; 在左边树中点击lomboz，设置JDK tools.jar位置为<BR>&nbsp; C:\j2sdk1.4.2_04\lib\tools.jar </P>
<P>在左边树中点击lomboz-&gt;server definitions，<BR>设置Server Type为Apache Tomcat v5.0.x </P>
<P>设置Application Server Directory为C:\Tomcat 5.0<BR>设置classpath Variable Name为TOMCAT_HOME </P>
<P>&nbsp;设置classpath Variable为C:\Tomcat 5.0 </P>
<P>点击应用确定。</P>
<P><BR>九、easyStruts安装 </P>
<P>1．解压org.easystruts.eclipse_0.6.4.zip </P>
<P>2．将解压目录org.easystruts.eclipse_0.6.4下文件夹<BR>com.cross.easystruts.eclipse_0.6.4复制到eclipse安装目录中的plugins<BR>目录中，即D:\eclipse\plugins </P>
<P>3．启动Eclipse </P>
<P>4．点击 窗口-&gt;首选项 </P>
<P>&nbsp;在左边树中点击Easy Struts，选择struts1.1 </P>
<P>ADD JREs如下： </P>
<P>struts.jar-C:\jakarta-struts-1.1\lib\struts.jar </P>
<P>ADD TLDs如下：<BR>struts-tiles.tld-C:\jakarta-struts-1.1\lib\struts-tiles.tld </P>
<P>struts-template.tld-C:\jakarta-struts-1.1\lib\struts-template.tld </P>
<P>struts-nested.tld-C:\jakarta-struts-1.1\lib\struts-nested.tld </P>
<P>struts-logic.tld-C:\jakarta-struts-1.1\lib\struts-logic.tld </P>
<P>struts-html.tld-C:\jakarta-struts-1.1\lib\struts-html.tld </P>
<P>struts-bean.tld-C:\jakarta-struts-1.1\lib\struts-bean.tld </P>
<P>点击应用确定。<BR>至此，所有需要的插件都安装好了，下次详细讲述如何用eclipse<BR>来开发 Struts 应用程序</P>
<P>&nbsp;</P><img src ="http://www.blogjava.net/eagames/aggbug/16367.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:39 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16367.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse+Tomcat集成开发servlet </title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16365.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:39:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16365.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16365.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16365.html</trackback:ping><description><![CDATA[<P>Eclipse+Tomcat集成开发servlet <BR>作者：未知&nbsp;&nbsp;&nbsp;&nbsp; 文章来源：<A href="http://www.jspcn.net">www.jspcn.net</A><BR>访问次数： 次&nbsp;&nbsp;&nbsp; 加入时间：2005-01-19 <BR>&nbsp;</P>
<P>Eclipse是open source的集成开发环境，它得到了IBM的大力支持，而Tomcat我们就更熟悉了，它是apache组织的JSP/Servlet容器，下面将讲述如何集成：</P>
<P>准备：</P>
<P>1． Tomcat4.0</P>
<P>2． Jdk1.4</P>
<P>3． Eclipse2.0</P>
<P>4． Eclipse的Tomcat插件在<A href="http://www.sysdeo.com/eclipse/tomcatPluginV2.zip">http://www.sysdeo.com/eclipse/tomcatPluginV2.zip</A>下载</P>
<P>安装：</P>
<P>1． 安装jdk1.4</P>
<P>2． 安装Tomcat4.0</P>
<P>3． 安装Eclipse2.0，解压缩就可以了</P>
<P>4． 将tomcatPluginV2.zip解压缩，把其中的com.sysdeo.eclipse.tomcat文件夹拷贝到，Eclipse安装目录下的plugins目录中。</P>
<P>配置：</P>
<P>1． 启动Eclipse</P>
<P>2． 打开菜单Windows-&gt;Preferences</P>
<P>3． 在左侧选择Tomcat,可以看到右侧出现一些表单</P>
<P>4． Tomcat Version选择Version 4.0.x，Tomcat Home选择Tomcat的安装路径，Configuration File中会自动填入Tomcat的配置文件server.xml</P>
<P>5． 展开左侧的Tomcat菜单，选择JVM Settings，JRE选择Detected VM，</P>
<P>6． 按下Apply</P>
<P>7． 按下OK</P>
<P>8． 看你的工具栏中是不是多了几个小猫的图标，如果没有的话，选择菜单Windows -&gt;Custmize Perspective，展开other选项，在Tomcat上打勾，好了，看到小猫的图标没有。</P>
<P>9． 试下Start Tomcat按钮，好了，Tomcat在console中启动了。</P>
<P>例子：</P>
<P>下面做个Hello World的例子</P>
<P>1． 选择File-&gt;New-&gt;Project</P>
<P>2． 在对话框中选择Tomcat Project，然后next</P>
<P>3． 输入Project Name，这里可以写HelloWorld，继续next</P>
<P>4． 勾上can update server.xml file选项，finish,好了，一个Poject已经创建好了。</P>
<P>5． 打开new class 向导，在Name中填入HelloWorld,在Superclass中填入javax.servlet.http.HttpServlet，按下finish，好了，一个servlet就创建好了</P>
<P>6． 在HelloWorld.java中重载doGet方法，代码如下：</P>
<P>import javax.servlet.http.HttpServlet;</P>
<P>import javax.servlet.http.HttpServlet;</P>
<P>import javax.servlet.http.HttpServletRequest;</P>
<P>import javax.servlet.http.HttpServletResponse;</P>
<P>import java.io.IOException;</P>
<P>import java.io.PrintWriter;</P>
<P>import javax.servlet.ServletException;</P>
<P>&nbsp;</P>
<P>public class HelloWorld extends HttpServlet {</P>
<P>public void doGet(HttpServletRequest request,HttpServletResponse response)</P>
<P>throws IOException, ServletException {</P>
<P>&nbsp;</P>
<P>response.setContentType("text/html");</P>
<P>PrintWriter writer = response.getWriter();</P>
<P>&nbsp;</P>
<P>writer.println("Hello World!");</P>
<P>}</P>
<P>}</P>
<P>8.Ctrl+S保存，右键HelloWorld project,选择Tomcat Project-&gt;update context to server.xml</P>
<P>7.在Eclipse中启动Tomcat</P>
<P>9.在用浏览器访问<A href="http://localhost:8080/HelloWorld/servlet/HelloWorld">http://localhost:8080/HelloWorld/servlet/HelloWorld</A></P>
<P>10．怎么样，看到HelloWorld了没有<BR>&nbsp;<BR>&nbsp;<BR></P><img src ="http://www.blogjava.net/eagames/aggbug/16365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:39 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse 3.0 上配置JSP开发环境(详解)</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16364.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:38:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16364.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16364.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16364.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16364.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16364.html</trackback:ping><description><![CDATA[<P>最近在【网逻】（<A href="http://www.weblogic.com.cn">www.weblogic.com.cn</A>），看到了这篇文章，觉得很不错，与大家分享！现转载如下：<BR>首先讲一下环境配置，注意我配置的环境是在win 2000 server下的，不是linux下的，配置的大致流程和操作系统无关，仅仅是在具体的安装上有差别。而配置成功与否，与操作系统无关。 </P>
<P>　　软件安装分为一下几个部分： </P>
<P>　1、 java环境安装： </P>
<P>　　这里使用的是jdk1.4.1（jdk1.4.2也可以），这个可以到sun公司的网站去下载； </P>
<P>　　2、 tomcat环境安装： </P>
<P>　　tomcat的版本是4.1的，安装版或是解压版都是可以的； </P>
<P>　　3、 eclipse 3 安装： </P>
<P>　　可以去下列地址下载<A href="http://www.eclipse.org/downloads/index.php">http://www.eclipse.org/downloads/index.php</A> </P>
<P>　　我下载的是 3.1M4 版本，这个版本应该是比较新的。 4、 tomcat插件安装； </P>
<P>　　tomcat插件是要到下面地址下载<A href="http://www.sysdeo.com/eclipse/tomcatPlugin.html">http://www.sysdeo.com/eclipse/tomcatPlugin.html</A>，下载之前需要查看插件是否适合eclipse的版本，我下载的是tomcatPluginV3.zip； </P>
<P>　　5、 lomboz插件安装； </P>
<P>　　lomboz插件需要下载两个部分，一个是emf环境，另一个是lomboz插件，分别到下列地方去找 </P>
<P><A href="http://forge.objectweb.org/project/showfiles.php?group_id=97">http://forge.objectweb.org/project/showfiles.php?group_id=97</A> </P>
<P><A href="http://download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I">http://download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I</A> </P>
<P>　　我下载的是emf-sdo-runtime-I200412160800.zip和org.objectweb.lomboz_3.1.0.N20050106.zip ； </P>
<P>　　这里主要是根据eclipse选择适当的lomboz插件，然后查看一下lomboz插件的 介绍，那里会介绍需要的emf插件的版本，然后再去下面的地址找emf插件。 </P>
<P>　　好了，该下载的都有了，下面我介绍一下如何安装和配置。 </P>
<P>　　一、 java环境安装 </P>
<P>　　这个只要直接安装就可以了，不过最好能安装在系统盘以外的地方，这样可以更好理解jvm的配置；安装好了以后，需要配置环境变量，新建JAVA_HOME，并且配置path，把jdk的bin目录添加进去，这样就可以在命令行的任何路径使用jdk的命令了。 </P>
<P>　　[测试] ：编写一个hello world程序，然后在dos下使用javac hello.java和java hello命令，如果可以正常执行，就证明jdk安装成功了。 </P>
<P>&nbsp;</P>
<P><BR>【回贴】 [原创] Eclipse 3.0 上配置JSP开发环境(2) 作者：小猪哥 查看：0 回复：0 </P>
<P>[第 6 楼] 发表于4/14/2005 10:49:33</P>
<P>　　二、 tomcat安装 </P>
<P>　　解压版的直接解压就可以了，然后配置TOMCAT_HOME，安装版的要注意的两点，一个是安装完之后tomcat的服务就能够启动的了，但是还是要配置TOMCAT_HOME；第二个就是需要查看一下安装程序是不是把tomcat服务注册成为windows的启动服务，需要到“服务”里查看，如果有这个选项就把它设置为手动启动，并且先停止这个服务。 </P>
<P>　　[测试]：使用startup.bat命令，服务正常启动之后，ie浏览器里输入 </P>
<P>　　<A href="http://localhost:8080/">http://localhost:8080/</A> 如果出现正常的小猫页面，那就应该没有问题了。 </P>
<P>　　三、 eclipse 3安装 </P>
<P>　　eclipse的安装倒是很简单，只要解压，然后把eclipse目录复制到盘符下就可以了，启动的时候，系统会自动寻找jvm，当然可以再以后配置，但是好像是必须先安装jdk。 </P>
<P>　　四、 tomcat插件安装，emf插件安装，lomboz插件安装 </P>
<P>　　这几部分的步骤都是一样的，解压软件包，然后根据里面的目录结构，把目录文件分别复制到feature或plugins目录里，这样就行了，下面将详细讲述一下eclipse的配置。 </P>
<P>　　五、 配置eclipse </P>
<P>　　1、 首先，打开配置界面 window-&gt;preferences。如果这几个插件安装成功，左边的列表里应该有lomboz和tomcat的选项。如果没有，检查上面的步骤是不是正确。 </P>
<P>　　点击java-&gt;Installed JREs，然后显示如上，如果是初始安装的，只有显示第一个jre（不要问我什么是jre，自己查资料去），那是系统默认的安装在c盘的jre，如果系统当中安装了多个jdk，那么最好还是新建一个，点击add，然后选择你需要使用的jdk的位置，然后它会自动寻找其他的参数，点击ok。返回界面之后，不要忘记点选刚刚添加的jdk，要不然是没有用的。然后点击ok关闭这个窗口。 </P>
<P>　　2、 再次打开配置界面，点击tomcat选项 </P>
<P>　　这里是配置tomcat的参数，根据你安装的tomcat的版本，选择tomcat version，然户找到该tomcat的主目录，输入在tomcat home，下面的参数会自动配置，点击apply。 然后在左边选择advanced，同样把tomcat的主目录复制在tomcat base，点击apply。 </P>
<P>未完，其他的请参见<A href="http://www.weblogic.com.cn">http://www.weblogic.com.cn</A>的技术论坛！很不错的，不敢独享^_^</P><img src ="http://www.blogjava.net/eagames/aggbug/16364.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:38 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16364.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse3.0.1上Visual Editor的配置 </title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16363.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:38:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16363.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16363.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16363.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16363.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16363.html</trackback:ping><description><![CDATA[<P>Eclipse3.0.1上Visual Editor的配置 <BR>&nbsp;<BR>&nbsp;&nbsp; 好多朋友都在使用Eclipse，我也在学习使用中，总是喜欢尝试新鲜的东西，以前一直没有使用过Eclipse的Visual Edit 插件，装过几次，可就是没有成功，经过反复琢磨同时又看了别的网友的经验，今天将我的配置过程介绍给大家，希望能给大家帮助。<BR>&nbsp;&nbsp; 主要是版本要搞对，不然的话，不会成功的.!-_-大家可以去<A href="http://download.eclipse.org/tools/ve/downloads/index.php">http://download.eclipse.org/tools/ve/downloads/index.php</A>下载相应的版本的VEP。我配置是用的1.0.2.1版的，下载地址：<A href="http://download.eclipse.org/tools/ve/downloads/drops/R-1.0.2.1-200503171200/index.html">http://download.eclipse.org/tools/ve/downloads/drops/R-1.0.2.1-200503171200/index.html</A>在此网页中可下载这次需要的所有资源。</P>
<P>Eclipse build eclipse-SDK-3.0.1<BR>EMF build 2.0.1:<BR>GEF Build 3.0.1:<BR>VE-runtime-1.0.2.1.zip<BR>VE-SDK-1.0.2.1.zip</P>
<P>我的JDK用的是 jdk-1_5_0-windows-i586.exe</P>
<P>&nbsp;NLpack-eclipse-SDK-3.0.x-win32.zip(这个Eclipse开发平台的汉化包，可以不使用)</P>
<P>第一步：安装Eclipse <BR>安装JDK（这个就不说了）</P>
<P>下载的Eclipse一般是一个压缩文件，我们把它解压缩为 d:\eclipse<BR>第二步:安装插件 <BR>解压后，把features和plugins文件夹下的文件copy到Eclipse的相应的文件夹就可以了。<BR>这里有一个小技巧，我们使用写链接文件的方式来安装插件</P>
<P>1.在F:\eclipse文件夹下面建立一个links文件夹，我们的链接文件就放在这个文件夹里面。 <BR>2.在建立一个文件夹（如：F:\plugins），专门用来存放需要安装的插件。我们把下载的emf-sdo-runtime-2.0.1，GEF-runtime-3.0.1，VE-runtime-1.0.2.1和VE-SDK-1.0.2.1.zip插件解压缩到F:\plugins目录下面。<BR>3.写链接文件 <BR>我们用记事本建立文件，文件以 .link为后缀，建立四个链接文件，名字分别是 <BR>名字：emf-sdo-runtime-2.0.1.link <BR>文件内容：path=F:\\plugins\\emf-sdo-runtime-2.0.1&nbsp;&nbsp; <BR>名字：GEF-runtime-3.0.1.link <BR>文件内容：path=F:\\plugins\\GEF-runtime-3.0.1&nbsp;&nbsp; <BR>名字：VE-runtime-1.0.1.1.link <BR>文件内容：path=F:\\plugins\\VE-runtime-1.0.1.&nbsp;&nbsp; <BR>名字：VE-SDK-1.0.1.1.link <BR>文件内容：path=F:\\plugins\\VE-SDK-1.0.1.1&nbsp; <BR>如果你想要汉化，也可以使用同样的方式进行</P>
<P>(注：名字就是解压缩到F:\plugins目录的插件的名字，文件内容：就是插件的路径。不要嫌我罗嗦)</P>
<P>到此为止就平配置好了，下面就是检验一下是否成功。<BR>第三步:运行Eclipse <BR>我们打开 文件-&gt;新建项目-&gt;其它－&gt;java”看其中有没有visal class 或 Swing,有的话，恭喜你成功了。</P>
<P>&nbsp;<BR></P><img src ="http://www.blogjava.net/eagames/aggbug/16363.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:38 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16363.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>配置WebLogic 8.1和Hibernate 3.0</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16361.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:26:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16361.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16361.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16361.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16361.html</trackback:ping><description><![CDATA[<P>最近，在 bartsandbox 上，有人问我在 WebLogic 上配置 Hibernate 的具体步骤。您可能知道， Hibernate 是一个非常流行的开源对象关系映射 (Object Relational Mapping ， ORM) 工具。下面是在 WebLogic 8.1 上配置 Hibernate 的具体步骤： </P>
<P>&nbsp; </P>
<P>?&nbsp; 首先要创建一个域。我创建了一个 WebLogic Workshop (WLW) 域，因为我打算使用 WLW 来创建和实现应用程序。 </P>
<P>?&nbsp; 将 hibernate...\lib\antlr-2.7.5H3.jar 添加到 PRE_CLASSPATH ，或者在 hibernate.cfg.xml 文件中将 query.factory_class 属性设为 user 2.x's query factory 。 </P>
<P>?&nbsp; WLW 域还启动了一个 PointBase 数据库实例。我将使用这个内置实例。我创建了一个新的用户和模式。并为该模式填充了一些示例数据。 </P>
<P>?&nbsp; 在服务器实例中配置连接池和数据源。 </P>
<P>?&nbsp; 创建应用程序。我打算使用 WebLogic Workshop 创建。 </P>
<P>?&nbsp; 应该将库（ jar 文件）（它们是成功运行 Hibernate 所必需的）放在哪里呢？放在应用程序的 APP-INF/lib 文件夹中。库包括 hibernate.jar 和附加的第三方库。引用 Hibernate Reference 的表格 3-1 。 </P>
<P>?&nbsp; 在 WLW 中创建一个 Java 项目。该 Java 项目包括映射到数据库的域类。 WLW 编译该项目，并将生成的 jar 文件放到 APP-INF/lib 目录下。在 Java 项目中编码域类。创建 Hibernate 映射文件和 Hibernate 配置文件。此外，从 Hibernate Reference 复制实现，创建 HibenateUtil 类。 Hibernate 配置文件包括数据源的 JNDI 名。 </P>
<P>?&nbsp; 创建一个 EJB 对象（例如，一个模块）。该项目包含了会话 bean 。编写一个操纵域类的会话 bean 。 </P>
<P>?&nbsp; 创建一个 Web 或 Web Service 项目（例如，一个模块）。该项目包含了可互操作性地测试会话 bean 的组件。 </P>
<P>完整、有效、自包含的示例应用程序 在此 。其中包括了模式和所有的 Hibernate 配置文件。（注：需要有 bartsandbox 的免费会员资格。） </P>
<P>接下来的文章中，我将增强这一基本配置。<BR>我的 前一篇文章 描述了在 WebLogic 8.1 上配置 Hibernate 3.0 的具体步骤。文章引起了巨大的反响。在本文中，我将介绍高级配置，其中 Hibernate 使用了 WebLogic 的 Java 命名和目录接口 (Java Naming and Directory Interface ， JNDI) 、 Java 事务 API (Java Transaction API ， JTA) 、 Java 连接器架构 (Java Connector Architecture ， JCA) 和 Java 管理扩展 (Java Management extension ， JMX) 实现。 </P>
<P>我们先从 JNDI 开始。通过在 hibernate.cfg.xml 文件中命名 SessionFactory ， Hibernate 使 SessionFactory 在 JNDI 中可用。呀！这在 WebLogic 中不起作用。正如 此处 所描述的， WebLogic JNDI 与 Hibernate 配合得不是很好。有多个工作区。工作区手动将 SessionFactory 绑定到 JNDI 中，方法是通过 WebLogic startup 类或者启动 servlet 。但是，我不能使 SessionFactory 实例从 JNDI 安全返回。因此，折衷一下，为 SessionFactory 向 HibernateUtil 实用类添加一个存取器。 </P>
<P>为了配置 Hibernate 使用 JTA ，我在 hibernate.cfg.xml 文件中配置了 transaction.factory_class 。有两个选项： org.hibernate.transaction.JTATransactionFactory 和 org.hibernate.transaction.CMTTransactionFactory 。说明文档建议，对 Bean 托管事务界定 (Bean Managed Transaction Demarcation ， BMTD) bean 使用 JTATransactionFactory ，而对容器托管事务界定 (Container Managed Transaction Demarcation ， CMTD) bean 使用 CMTTransactionFactory 。 JTATransactionFactory 似乎更通用些，它既支持 BMTD bean 又支持 CMTD bean 。因此，我配置的是 JTATransactionFactory 。此外，为了以特定于容器的方式查找事务，我在 hibernate.cfg.xml 文件中配置了 transaction.manager_lookup_class 。借助于这个配置，我完全不需要使用 Hibernate Transaction API 。 </P>
<P>对 Hibernate 的 JCA 支持是实验性质的，目前还没有全面应用于 WebLogic 。我可以设想，以后 Hibernate 会被打包为 Resource ARchive (RAR) 文件。 Hibernate RAR 文件作为资源适配器部署。适配器使 Session 在 JNDI 中可用。所有的配置元素都是通过资源适配器（ xml 文件）配置的，而不是通过 hibernate.cfg.xml 文件或采用其他方法配置。为什么在 WebLogic 中要配置 Hibernate 使用 JCA ？ JCA 旨在封装传统系统的连接、事务等等，并使它们在 J2EE 中可用。但是，由于 Hibernate ，传统的资源适配器的优势不能全面体现。一旦 Hibernate 被配置为资源适配器，特定的应用程序与 Hibernate 的耦合就被削弱了。多个不同的应用程序可以使用同一个 Hibernate 资源适配器。由于当前正在开发的 EJB 3.0 ，这种配置在 EJB 的持久性 API 、 Hibernate 和 Java 数据对象 (Java Data Object ， JDO) 的标准化方面的优势更为明显。从理论上讲，可以热部署（或重部署）适配器和改变持久性实现。 </P>
<P>Hibernate 附带 JMX Management Bean (MBean) 实现。我不知道如何使用 JMX 将 Hibernate 部署到 WebLogic 上。 Hibernate 和 WebLogic 使用 JMX 有什么好处？至少有两条。一条是部署和重部署。更重要的一条是，可以监控 Hibernate 和获得的统计信息。从 JMX 控制台进行运行时监控是所部署的应用程序运行良好的基本保障。 </P>
<P>我更新了示例应用程序，可 在此 获取。（注：需要有 bartsandbox 的免费会员资格。） </P>
<P>&nbsp;</P><img src ="http://www.blogjava.net/eagames/aggbug/16361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:26 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>配置weblogic8.X</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16359.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:26:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16359.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16359.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16359.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16359.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16359.html</trackback:ping><description><![CDATA[<P>快速配置weblogic8.X的应用目录 <BR>--------------------------------------------------------------------------------</P>
<P>我们知道在weblogic7.x之前，安装完后weblogic会自动创建默认的应用目录DefaultWebApp。如果没有特别的需要，就可以利用这个默认的应用目录布署Web应用程序或者J2EE系统了。而在weblogic8.x之后版本中，它不会自动创建默认的应用目录。所以我们需要使用Configuration Wizard来创建自己的应用目录，发布应用目录有两种方法，现分别介绍。 </P>
<P>1.weblogic8.x安装 weblogic8.x有几个版本提供使用，并且从这个版本出现了中文版。例子中使用了英文版。weglogic安装很简单，只需要按默认值一路下一步就OK了。 </P>
<P>2.创建weblogic服务 安装成功后，依次点击”开始”-&gt;”BEA WebLogic Platform 8.1”-&gt;”Configuration Wizard”，启动”BEA WebLogic Configuration Wizard”,选择”create a new weblogic configuration”，然后”next”,在”template”选择”base weblogic server domain”,然后”next”,没有特别的需要就不修改默认选择，然后”next”，在这个界面上输入用户名、密码和创建这个服务的描述（请记住这个用户密码它是启动这个服务和进入服务控制台的帐号）,然后”next”，选择jdk的版本,然后”next”，在这个界面你可以修改创建服务的目录和名称，然后按”create”开始创建。 </P>
<P>3.创建应用目录 创建应用目录有两种方式分别介绍如下： </P>
<P>3.1 最简单的应用目录创建 当weblogic服务创建成功后，再次打开“Configuration Wizard”，这次选择”extend and existing weblogic configuration(扩展weblogic配置)”,然后”next”,选择weblogic服务目录，然后”next”,在”Configuration Extensions”中勾选”DefaultWebApp”，然后以下取默认值一路”next”直到”import”就OK了。默认应用目录一般在D:\bea\user_projects\applications\mydomain\DefaultWebApp(注：d:为我PC机上安装weblogic的盘符，读者根据安装目录进行查找)。 </P>
<P>测试：启动weblogic服务,然后输入<A href="http://localhost:7001">http://localhost:7001</A>就可以看到介绍性页面了。 </P>
<P>3.2使用控制台创建应用目录 当weblogic服务创建成功后,启动weblogic服务,然后在浏览器中输入<A href="http://localhost:7001/console">http://localhost:7001/console</A> 在登录界面输入你创建weblogic服务时的用户密码。 </P>
<P>a.创建一个新目录做为即将发布的应用目录，我使用d:\appweb做为例了目录,在该目录下再创建WEB-INF,在WEB-INF下面创建web.xml文件，目录结构为 </P>
<P>appweb </P>
<P>|__WEB-INF/web.xml </P>
<P>web.xml内容一般是: </P>
<P>&lt;?xml version="1.0" ?&gt; <BR>&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "<A href="http://java.sun.com/dtd/web-app_2_3.dtd">http://java.sun.com/dtd/web-app_2_3.dtd</A>"&gt; <BR>&lt;web-app&gt; <BR>&lt;welcome-file-list&gt; <BR>&lt;welcome-file&gt;index.html&lt;/welcome-file&gt; <BR>&lt;/web-app&gt; </P>
<P><BR>b.目录创建完成后，在控制台的首页，选择“Web Application Modules”-&gt;”Deploy a new Web Application Module... ”,在”Location”下选择你刚才创建的appweb(注意这个目录一定要有WEB-INF目录，并且在WEB-INF目录下一定要有web.xml文件，否则不能够创建应用目录)。选择后，点击”target module”，返回，可以看到当前weblogic服务中依成功创建的应用目录了。然后再创建一个index.html文档放在appweb目录下，就完成了应用目录的创建。 </P>
<P>测试：启动weblogic服务,然后输入<A href="http://localhost:7001/appweb/index.html">http://localhost:7001/appweb/index.html</A>就可以看到自己设置的页面了。 <BR></P><img src ="http://www.blogjava.net/eagames/aggbug/16359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:26 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse检测最新插件</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16358.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:25:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16358.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16358.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16358.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16358.html</trackback:ping><description><![CDATA[把Eclipse路径下的configuration目录下的org.eclipse.update文件夹删掉，然后在config.ini文件中第一个行加上osgi.checkConfiguration=true<img src ="http://www.blogjava.net/eagames/aggbug/16358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:25 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试Weblogic 8.11 连接池的JSP文件</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16357.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:22:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16357.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16357.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16357.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16357.html</trackback:ping><description><![CDATA[<P>测试Weblogic 8.11 连接池的JSP文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&lt;%@ page contentType="text/html;charset=GBK" %&gt;<BR>&lt;%@ page import= "java.sql.* " %&gt;<BR>&lt;%@ page import= "javax.sql.* " %&gt; <BR>&lt;%@ page import= "javax.naming.* "%&gt;</P>
<P>&lt;HTML&gt;<BR>&lt;HEAD&gt;<BR>&lt;TITLE&gt; &lt;/TITLE&gt;<BR>&lt;META NAME="Generator" CONTENT="EditPlus2.11"&gt;<BR>&lt;/HEAD&gt;<BR>&lt;BODY&gt;</P>
<P>&lt;%<BR>// 从weblogic 8 文档抄来<BR>Context ctx = null;<BR>Hashtable ht = new Hashtable();<BR>ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");<BR>ht.put(Context.PROVIDER_URL,"t3://127.0.0.1:7001");<BR>// ht.put(Context.SECURITY_PRINCIPAL, "admin");<BR>// ht.put(Context.SECURITY_CREDENTIALS, "11111111");</P>
<P>Connection conn = null;<BR>Statement stmt = null;<BR>ResultSet rs = null;</P>
<P>try {<BR>ctx = new InitialContext(ht);<BR>//ctx = new InitialContext();//也可以<BR>DataSource ds = (DataSource)ctx.lookup ("ejbPool");<BR>conn = ds.getConnection();<BR>stmt = conn.createStatement();<BR>stmt.execute("select * from accounts");<BR>rs = stmt.getResultSet();<BR>while ( rs.next()){<BR>out.println( rs.getString(1)+"___");<BR>out.println( rs.getString(2)+"___");<BR>out.println( rs.getString(3)+"&lt;br&gt;");<BR>}</P>
<P>stmt.close();<BR>stmt=null;<BR>conn.close();<BR>conn=null;</P>
<P>&nbsp;</P>
<P>}catch (Exception e) {<BR>out.println("错误 !! ERR !" );<BR>}<BR>finally {</P>
<P>try {<BR>ctx.close();<BR>} catch (Exception e) {<BR>out.println("ctx ERR !" ); }</P>
<P>try {<BR>if (rs != null) rs.close();<BR>} catch (Exception e) {<BR>out.println("rs ERR !" ); }</P>
<P>try {<BR>if (stmt != null) stmt.close();<BR>} catch (Exception e) {<BR>out.println("stmt ERR !" ); }</P>
<P>try {<BR>if (conn != null) conn.close();<BR>} catch (Exception e) {<BR>out.println("conn ERR !" ); }</P>
<P>}</P>
<P>&nbsp;</P>
<P>%&gt;<BR>&lt;/BODY&gt;<BR>&lt;/HTML&gt;<BR>&nbsp;<BR></P><img src ="http://www.blogjava.net/eagames/aggbug/16357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:22 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16355.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:20:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16355.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16355.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16355.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16355.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16355.html</trackback:ping><description><![CDATA[<P>Spring(1)<BR>一地鸡毛 @ 2004-08-12 17:57</P>
<P>看了Rod的介绍Spring的文章，翻译后的连接： </P>
<P><BR><A href="http://blog.csdn.net/taowen2002/archive/2004/05/07/15875.aspx">http://blog.csdn.net/taowen2002/archive/2004/05/07/15875.aspx</A> </P>
<P>一，Spring简介 <BR>Spring的特点： <BR>1， Spring不同于其他的Framework，它要提供的是一种管理你的业务对象的方法。 <BR>2， Spring有分层的体系结构，意味着你能选择仅仅使用它的任何一个独立的部分，而其他的仍然使用你的相关实现。 <BR>3， 它的设计从一开始就是要帮助你编写易于测试的代码，Spring是使用测试驱动开发（TDD）的工程的理想框架。 <BR>4， Spring不会给你的工程添加对其他的框架依赖；同时Spring又可以称得上是个一揽子解决方案，提供了一个典型应用所需要的大部分基础架构。 </P>
<P>Spring的好处： <BR>1， Spring能有效地组织你的中间层对象；（*） <BR>2， Spring能消除在许多工程中常见的对Singleton的过多使用； <BR>3， 通过一种在不同应用程序和项目间一致的方法来处理配置文件，消除各种自定义格式的属性文件的需要，仅仅需要看看类的JavaBean属性。Inversion of Control的使用帮助完成了这种简化；（使用的是type2的IoC） <BR>4， 能够很容易培养你面向接口而不是面向类的编程习惯。（这也算。。。） <BR>5， Spring的设计会让使用它创建的应用尽可能少的依赖于它的APIs，在Spring应用中的大多数业务对象没有依赖于Spring。 <BR>6， 使用Spring构建的应用程序易于单元测试； <BR>7， Spring使EJB成为一个实现选择，而不是必需的选择。你可以用POJOs或local EJBs来实现业务接口，却不会影响到调用代码。 <BR>8， Spring提供一些web应用上的EJB的替代方案，比如用AOP提供声明性事务管理； <BR>9， Spring为数据存取提供了一个一致的框架，不论是使用JDBC还是O/R mapping的产品（Hibernate，JDO）。 </P>
<P>Spring的任务描述： <BR>Spring的主要目的就是使J2EE易用和促进良好的编程习惯。 <BR>Spring不会重新发明轮子，它是让已有的技术更加易用，比如它没有底层事务协调处理，但是提供了一个抽象层覆盖了JTA和任何其他的事物策略。Spring并没有和其他的开源项目竞争，不过还是在一些领域有新的方案提供，比如它的web framework，轻量级的IoC容器和AOP框架。 </P>
<P><BR>二，Inversion of Control容器 <BR>Spring的设计核心是org.springframework.beans包，用来协调JavaBeans的工作。这个包一般不会被用户直接使用，而是作为其他功能的基础服务。 <BR>下一个高一些的抽象概念是Bean Factory，一个Spring bean factory是一个可以通过名称来获取objects的通用工厂，并且管理objects之间的关系。 <BR>Bean factories支持两种对象模式： <BR>Singleton：默认的，最常使用的，对于无状态的对象是一种理想的模式。 <BR>Prototype：每次获取将创建一个独立的对象，可以让用户拥有他们自己的对象。 </P>
<P>由于org.springframework.beans.factory.BeanFactory是一个简单的接口，所以你能够方便地实现出你自己的BeanFactory，但是很少用户需要这样做；常用的BeanFactory定义是： <BR>XmlBeanFactory：解析简单直观的定义类和命名对象属性的XML结构； <BR>ListableBeanFactoryImpl：提供了解析存放在属性文件中的bean定义的能力； </P>
<P>通过BeanFactory的概念，Spring成为了一个Inversion of Control容器。IoC背后的概念就是所谓的Hollywood原则：Don’t call me, I ‘ll call you。IoC将控制创建的职责从对象的代码中搬进了框架中，使用IoC容器只需指出组件需要X对象，在运行期容器会提供给它具体的对象。而容器就是通过查看方法的参数表（例如JavaBean的属性），或者通过配置源（XML）来得到相应的信息，从而实现向组件提供对象 </P>
<P>Spring ApplicationContext是BeanFactory的子接口，为下列东西提供支持： <BR>信息查找，支持国际化 <BR>事件机制，允许发布应用程序以及可选的注册已接受到事件 <BR>可移植的文件和资源访问 </P>
<P><BR>三，JDBC抽象和数据访问异常层次 <BR>JDBC提供了不错的数据库抽象，但是也有痛苦的地方： <BR>需要大量的错误处理代码来确保ResultSet,Statement,Connection在使用后关闭； <BR>没有异常的层次，使用SQLException来响应所有的错误，并不知道具体错在哪里。 <BR>Spring用两种方法解决这些问题： <BR>通过API把冗长易出错的异常处理代码从程序转移到框架中，框架处理所有异常，而程序代码集中精力进行SQL和处理结果上； <BR>为要处理SQLException的程序代码提供有意义的异常层次。当Spring第一次从数据源取得一个连接时，它检查元数据以确定数据库，随后它使用这些信息把SQLException映射为自己的异常层次中的响应的异常，是你可以和有意义的异常打交道。 </P>
<P>Spring提供两层JDBC API，第一个在org.springframework.jdbc.core包中，使用回调机制移动控制权从程序转移到了框架中，这是一种不同的Inversion of Control。 <BR>在org.springframework.jdbc.object包中是对JDBC的更高层次的抽象。这是建立在核心的JDBC回调功能基础之上的，但是提供了一个能够对RDBMS操作的API，在这个API中无论是查询，更新或是存储过程，都是用Java对象来建模。这组API受到了JDO查询API的影响，非常直接而且有用。 </P>
<P>Spring数据访问异常层次是基于unchecked exception的，这样开发者可以自己决定是否来捕捉这些异常从而恢复。 </P>
<P>Spring JDBC对你带来的好处： <BR>你不必像JDBC那样写finally； <BR>你需要编写的代码变少了； <BR>你不必钻研RDBMS文档去解决理解，一个因为错误的列名而返回的诡异错误码； <BR>不管你使用何种持久化技术，你都可以方便地实现DAO模式，让业务代码不依赖于任何特定的数据访问API。 </P>
<P><BR>四，O/R mapping集成 <BR>Spring提供了对Hibernate 2.x和JDO的集成支持，尤其是对Hibernate的集成。 <BR>为什么要使用Hibernate+Spring，而不是直接使用Hibernate呢？ <BR>1， 用Hibernate的代码通常需要为了效率和适当的事务处理而使用相同的Session对象；Spring通过在代码层上使用显式的template包装类或者使用声明式的，AOP的方法拦截(interceptor)方式两种方案，使得能够很容易透明地创建和绑定Session到当前的线程。 <BR>2， 资源管理，Spring的应用程序context能够处理Hibernate SessionFactories的位置和配置，JDBC数据源和其他的相关资源；使得易于管理和改变。 <BR>3， 集成的事务管理 Spring让你能够把你的Hibernate代码包装起来，通过2种方式：在代码层上使用显式的template包装类，或者使用声明式的，AOP的方法拦截(interceptor)。 <BR>4， Spring能够包装Hibernate异常，把它们从私有的，checked异常转换为一套抽象的运行时异常；使得你能够在任何你需要的地方捕捉和处理异常，并且JDBC异常也被转换到相同的层次中，意味着你能在一致的编程模型中对JDBC执行相同的操作。 <BR>5， 为了避免和厂商绑定 Hibernate强大，灵活，免费，当时仍然使用私有的API；Spring对Hibernate的事务和异常的抽象，使你很容易将Hibernate-specific代码隔离开你的应用程序部分，而不会影响Hibernate的强大功能。 <BR>6， 测试简单 Spring的IoC使它很容易改变Hibernate session factories的位置，数据源，事务管理和映射对象执行，这使得很容易隔离和测试每一块持久关系代码。 </P>
<P>五，事务管理 <BR>JTA使一个直接用起来很笨重的API，许多J2EE开发者感到EJB CMT使对于事务管理的唯一合理的选择。 <BR>Spring提供了它对事务管理的抽象，提供了： <BR>1， 通过类似于JdbcTemplate的回调模板编程管理事务，比起直接用JTA容易多； <BR>2， 类似于EJB CMT的声明式事务管理，但不需要EJB容器； </P>
<P><BR>六，AOP <BR>Spring的AOP支持的首要目标是要给POJOs提供J2EE服务，而且它有能够在应用服务器之间移植的优势，Spring AOP支持method interception，关键概念包括： <BR>Interception：自定义行为能够在对接口和类的调用之前之后插入； <BR>Introduction：指定advice会导致对象实现额外的接口，混乱了继承； </P>
<P>Spring使用动态代理实现AOP或者在运行时使用CGLIB生成字节码（这是的能够代理类）。两种方法都能够在任何应用服务其中使用。 <BR>Spring使实现了AOP Alliance接口的AOP框架（在学习AOP中介绍过）。 </P>
<P>Spring AOP最常见的应用使声明式事务管理，这是基于前面描述的TransactionTemplate抽象上的，并且可以给任何POJO提供声明式事务管理。 <BR>Spring的声明式事务管理类似于EJB CMT，但在以下方面不同： <BR>l 事务管理能够应用于任何POJO； <BR>l 通过使用Spring的事务API能够在事务性POJO中实现编程回掉。为此我们提供静态的方法，使用ThreadLocal变量，因而不需要你传递EJBContext这样的对象确保回滚； <BR>l 你可以声明式地定义“回滚规则”； <BR>l 事务管理不绑定于JTA。 <BR>当然你还可以使用Spring AOP实现程序特有的aspects。 <BR>请对以上恢复出来的文字进行修改后提交<BR>七，MVC web框架 <BR>Spring的MVC model类似于Struts。在多线程服务对象这点上，Spring的Controller类似于Struts Action，只有一个实例处理所有客户请求。 <BR>Spring MVC比起Struts的优点： <BR>1， Spring在Controller, JavaBean, model和views提供了一个非常清晰的划分； <BR>2， Spring的MVC是非常灵活的。不像Struts强制你继承它的Action和Form对象，Spring MVC完全是基于接口的； <BR>3， Spring MVC是真正的view无关的。你不会被强制使用JSP <BR>4， 和其他对象一样，Spring的Controller是通过IoC配置的。使它们易于测试； <BR>5， Web层变成了业务对象层上的薄薄一层 </P>
<P><BR>八，EJB相关 <BR>实现EJB： <BR>如果你选择使用EJB，Spring能在EJB实现和客户端访问EJB两方面都提供很大的好处。 <BR>Spring为session bean和message drive bean提供了方便的超类，使得通过自动载入基于包含在EJB jar文件中的XML文档BeanFactory让这变得很容易。 <BR>感觉不是很有用的样子。 </P>
<P>使用EJB： <BR>许多EJB程序使用Service Locator和Business Delegate模式，这些比在客户代码中使用JDNI查找强多了，但是还是有显著的缺点： <BR>l 使用EJB的典型代码依赖Service Locator或者Business Delegate singletons，难于测试； <BR>l 在Service Locator模式没有使用Business Delegate的情况下，程序代码还要在EJB home重调用create()方法，并且可能导致异常，代码依然绑定在EJB API上； <BR>l 实现Business Delegate模式通常导致显著的代码重复； <BR>我们只需要给需要EJB的Bean定义一个组件，在XML中指定它的jndi name,interface，Spring AOP框架会帮你为EJB创建一个代理，实现了业务方法的接口，缓存EJBHome，代理JNDI查找，调用响应的业务方法。 <BR>从而使你的web层代码不依赖于EJB的使用，如果你要使用POJO或其他object代替EJB引用，你只需要改动组件定义xml，而不影响代码。<BR>&nbsp;<BR></P><img src ="http://www.blogjava.net/eagames/aggbug/16355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:20 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16355.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP彩色验证码</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16354.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:20:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16354.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16354.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16354.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16354.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16354.html</trackback:ping><description><![CDATA[<P>JSP彩色验证码</P>
<P>生成有4个随机数字和杂乱背景的图片，数字和背景颜色会改变，服务器端刷新（用history.go(-1)也会变）<BR>原型参考ALIBABA&nbsp; <A href="http://china.alibaba.com/member/showimage">http://china.alibaba.com/member/showimage</A></P>
<P>产生验证码图片的文件-----image.jsp</P>
<P>&lt;%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %&gt;<BR>&lt;%!<BR>Color getRandColor(int fc,int bc){//给定范围获得随机颜色<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Random random = new Random();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(fc&gt;255) fc=255;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(bc&gt;255) bc=255;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int r=fc+random.nextInt(bc-fc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int g=fc+random.nextInt(bc-fc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int b=fc+random.nextInt(bc-fc);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new Color(r,g,b);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>%&gt;<BR>&lt;%<BR>//设置页面不缓存<BR>response.setHeader("Pragma","No-cache");<BR>response.setHeader("Cache-Control","no-cache");<BR>response.setDateHeader("Expires", 0);</P>
<P>// 在内存中创建图象<BR>int width=60, height=20;<BR>BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);</P>
<P>// 获取图形上下文<BR>Graphics g = image.getGraphics();</P>
<P>//生成随机类<BR>Random random = new Random();</P>
<P>// 设定背景色<BR>g.setColor(getRandColor(200,250));<BR>g.fillRect(0, 0, width, height);</P>
<P>//设定字体<BR>g.setFont(new Font("Times New Roman",Font.PLAIN,18));</P>
<P>//画边框<BR>//g.setColor(new Color());<BR>//g.drawRect(0,0,width-1,height-1);</P>
<P><BR>// 随机产生155条干扰线，使图象中的认证码不易被其它程序探测到<BR>g.setColor(getRandColor(160,200));<BR>for (int i=0;i&lt;155;i++)<BR>{<BR>&nbsp;int x = random.nextInt(width);<BR>&nbsp;int y = random.nextInt(height);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int xl = random.nextInt(12);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int yl = random.nextInt(12);<BR>&nbsp;g.drawLine(x,y,x+xl,y+yl);<BR>}</P>
<P>// 取随机产生的认证码(4位数字)<BR>String sRand="";<BR>for (int i=0;i&lt;4;i++){<BR>&nbsp;&nbsp;&nbsp; String rand=String.valueOf(random.nextInt(10));<BR>&nbsp;&nbsp;&nbsp; sRand+=rand;<BR>&nbsp;&nbsp;&nbsp; // 将认证码显示到图象中<BR>&nbsp;&nbsp;&nbsp; g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同，可能是因为种子太接近，所以只能直接生成<BR>&nbsp;&nbsp;&nbsp; g.drawString(rand,13*i+6,16);<BR>}</P>
<P>// 将认证码存入SESSION<BR>session.setAttribute("rand",sRand);</P>
<P><BR>// 图象生效<BR>g.dispose();</P>
<P>// 输出图象到页面<BR>ImageIO.write(image, "JPEG", response.getOutputStream());</P>
<P><BR>%&gt; </P>
<P>---------------使用验证码图片的文件---------a.jsp------------------------------------</P>
<P>&lt;%@ page contentType="text/html;charset=gb2312" %&gt;<BR>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;认证码输入页面&lt;/title&gt;<BR>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<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;/head&gt;<BR>&lt;body&gt;<BR>&lt;form method=post action="check.jsp"&gt;<BR>&lt;table&gt;<BR>&lt;tr&gt;<BR>&lt;td align=left&gt;系统产生的认证码：&lt;/td&gt;<BR>&lt;td&gt;&lt;img border=0 src="image.jsp"&gt;&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt;<BR>&lt;td align=left&gt;输入上面的认证码：&lt;/td&gt;<BR>&lt;td&gt;&lt;input type=text name=rand maxlength=4 value=""&gt;&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;tr&gt;<BR>&lt;td colspan=2 align=center&gt;&lt;input type=submit value="提交检测"&gt;&lt;/td&gt;<BR>&lt;/tr&gt;<BR>&lt;/form&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P>-----------------验证的页面----------check.jsp</P>
<P>&lt;%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;认证码验证页面&lt;/title&gt;<BR>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<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;/head&gt;</P>
<P>&lt;body&gt;<BR>&lt;% <BR>&nbsp;String rand = (String)session.getAttribute("rand");<BR>&nbsp;String input = request.getParameter("rand");<BR>%&gt;<BR>系统产生的认证码为： &lt;%= rand %&gt;&lt;br&gt;<BR>您输入的认证码为： &lt;%= input %&gt;&lt;br&gt;<BR>&lt;br&gt;<BR>&lt;%<BR>&nbsp; if (rand.equals(input)) {<BR>%&gt;<BR>&lt;font color=green&gt;输入相同，认证成功！&lt;/font&gt;<BR>&lt;%<BR>&nbsp; } else {<BR>%&gt;<BR>&lt;font color=red&gt;输入不同，认证失败！&lt;/font&gt;<BR>&lt;%<BR>&nbsp; }<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P>&nbsp;</P><img src ="http://www.blogjava.net/eagames/aggbug/16354.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:20 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16354.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JbuildX的中文显示.txt</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16353.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:19:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16353.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16353.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16353.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16353.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16353.html</trackback:ping><description><![CDATA[关闭JBuilderX，修改 JBuilderX\bin 目录下的 jbuilder.config 文件， 在<BR># applications<BR>vmparam -Xms32m<BR>vmparam -Xmx256m<BR>后添加一行<BR>vmparam -Dprimetime.editor.useVariableWidthFont=true<BR>保存后，删除Documents and Settings\Administrator目录下的 .primetimeX .jbuilderX(就是将jbuilder生成的文件全部删了)<BR>启动Jbuilder看看结果吧。<img src ="http://www.blogjava.net/eagames/aggbug/16353.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:19 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16353.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jbuilder9+Weblogic8.1安装配置</title><link>http://www.blogjava.net/eagames/archive/2005/10/21/16351.html</link><dc:creator>EA_Games</dc:creator><author>EA_Games</author><pubDate>Fri, 21 Oct 2005 14:18:00 GMT</pubDate><guid>http://www.blogjava.net/eagames/archive/2005/10/21/16351.html</guid><wfw:comment>http://www.blogjava.net/eagames/comments/16351.html</wfw:comment><comments>http://www.blogjava.net/eagames/archive/2005/10/21/16351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eagames/comments/commentRss/16351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eagames/services/trackbacks/16351.html</trackback:ping><description><![CDATA[<P>Jbuilder9+Weblogic8.1安装配置</P>
<P>--------------------------------------------------------------------------------</P>
<P>　Ⅲ. Jbuilder9的安装与配置 </P>
<P>Jbuilder9的安装挺方便的，运行ent_trial_install.exe, InstallAnywhere 会解压安装，你要做的就是next & install。 </P>
<P>　　Jbuilder9安装好，能正常运行了，接下来就可以在Jbuilder中配置Weblogic了，点击"开始/程序/Borland JBuilder 9 Enterprise Trial/Borland JBuilder 9 Enterprise Trial"启动Jbuilder9à在菜单栏点击"Tools/Configure Servers..."à弹出"Configure Servers"窗口，在左边的User Home目录中选择"WebLogic Platform Server 8.x"，选中右边的"Enable server"项，这时右边所有本来是灰色的项都变得黑色的可使用状态。首先，在"General"子页中将Home directory:设为d:/bea/weblogic81/server(注：这里的d：/bea填的应该是你自己的bea安装目录)，"Working directory:"设为d:/bea/user_projects/mydomain, 如果你的bea不是安装在c:/,那么就需要将"VM parameters:"属性中的"-Djava.library.path="D:D:/bea/weblogic700/server/bin""和" -Djava.security.policy=="D:D:/bea/weblogic700/server/lib/weblogic.policy" " 去掉一个"D:"。 </P>
<P><BR>图七 </P>
<P>　　接下来到"Custom"子页，"BEA home directory:"设为d:/ bea ;" JDK installation directory:"设为d:/bea/jdk141_02 ,"Domain directory:"设为d:/bea/user_projects/mydomain,在"User name:"，"Possowrd:"中填入安装WebLogic时的用户名和密码，将"Listen address:"改为"localhost",不选"Add an Admin Console item to the tools menu"和"Add a Configuration Wizard item to the tools menu"，完成后点击"OK"。 </P>
<P><BR>图八 </P>
<P>　　接下来在菜单栏点击"Project/Default Project Properties..."à弹出"Default Project Properties"窗口，在"Server" 子页中选中"Single server for all services in project"，然后在其下面的下拉框中选择"Weblogic Application Server 8.x"，点击"OK"确定。 </P>
<P><BR>图九 </P>
<P><BR>Ⅳ. 在Weblogic 8.1中配置JDBC </P>
<P>　　JDBC的连接有两种，一种是直接连接，另一种是池连接。这里介绍的是通过配置连接池（Connection Pool）和数据源（DataSource）来实现池连接。 </P>
<P>　　首先，点击"开始/程序/BEA WebLogic Platform 8.1/User Projects/mydomain/Start Server"，启动WebLogic server8.1, 接着在IE的地址栏输入<A href="http://localhost:7001/console">http://localhost:7001/console</A>，回车，出现Weblogic Server登录页面，输入Username:和Password，点击Sign In登录。 </P>
<P>　　点击"Services Configurations/JDBC/Connection Pools/Configure a new JDBC Connection Pool...", 建立一个连接池，在Choose database中选择 Database Type:为Oracle,Database Driver:选择Oracle′s Driver(Thin) Versions:8.17,9.01,9.20,点击Continue，在Difine connection properties中设置： </P>
<P>Name:oraclePool <BR>Database Name:test(在安装Oracle时建立的全局数据库名) <BR>Host Name:localhost <BR>Port:1521 <BR>Database User Name:test(在安装Oracle时建立的用户名) <BR>Password:test（在安装Oracle时建立的用户密码） <BR>Confire Password:test(重复密码) </P>
<P> </P>
<P>　　点击Continue继续，进入Test database connection页面，点击Test Driver Configuration,进入Create an deploy页面，如果你看到的是绿色Connection successful字样，说明配置成功，点击Create an deploy建立oraclePool连接池。 </P>
<P> </P>
<P> </P>
<P>　　接下来我们配置数据源testTxDataSource，单击控制台左侧域树的JDBC/ Data Source节点，然后单击右侧的Configure a new JDBC Tx Data Source，进入Configure the data source选项卡。 </P>
<P> </P>
<P>Name: testDataSource <BR>JNDI Name: jdbc/testDataSource </P>
<P>　　点击Continue进入下一页面填写 </P>
<P>Pool Name: oraclePool </P>
<P> </P>
<P><BR>　　单击Create创建。 </P>
<P> </P>
<P>　　至此，Oracle 在WebLogic中的JDBC设置就完成了，重新启动WebLogic，如果没有报错就说明配置成功。<BR></P><img src ="http://www.blogjava.net/eagames/aggbug/16351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eagames/" target="_blank">EA_Games</a> 2005-10-21 22:18 <a href="http://www.blogjava.net/eagames/archive/2005/10/21/16351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>