亚洲国产另类精品专区,国产亚洲欧美日韩精品,亚洲欧美国产一区二区三区http://www.aygfsteel.com/eagames/zh-cnTue, 17 Jun 2025 14:19:37 GMTTue, 17 Jun 2025 14:19:37 GMT60常用數(shù)據(jù)庫JDBC連接寫法http://www.aygfsteel.com/eagames/archive/2005/12/19/24683.htmlEA_GamesEA_GamesMon, 19 Dec 2005 14:32:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/12/19/24683.htmlhttp://www.aygfsteel.com/eagames/comments/24683.htmlhttp://www.aygfsteel.com/eagames/archive/2005/12/19/24683.html#Feedback1http://www.aygfsteel.com/eagames/comments/commentRss/24683.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/24683.htmlhttp://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=123&threadID=20222&start=0&tstart=0

1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar
Class.forName( "org.gjt.mm.mysql.Driver" );
cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );

2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar
Class.forName( "org.postgresql.Driver" );
cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );

3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip
Class.forName( "oracle.jdbc.driver.OracleDriver" );
cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );

4. Sybase(http://jtds.sourceforge.net)jconn2.jar
Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );
cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );
//(Default-Username/Password: "dba"/"sql")

5. Microsoft SQLServer(http://jtds.sourceforge.net)
Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );

6. Microsoft SQLServer(http://www.microsoft.com)
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );
cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );

7. ODBC
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );

8.DB2(新添加)
Class.forName("com.ibm.db2.jdbc.net.DB2Driver");
String url="jdbc:db2://192.9.200.108:6789/SAMPLE"
cn = DriverManager.getConnection( url, sUsr, sPwd );

9.Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10

JDBC Name: jTDS
URL: http://jtds.sourceforge.net/
Version: 0.5.1
Download URL: http://sourceforge.net/project/showfiles.php?group_id=33291

語法:
Class.forName("net.sourceforge.jtds.jdbc.Driver ");
Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");
or
Connection con = DriverManager.getConnection("jdbc:jtds:sybase://host:port/database","user","password");

10.Postgresql
JDBC Name: PostgreSQL JDBC
URL: http://jdbc.postgresql.org/
Version: 7.3.3 build 110
Download URL: http://jdbc.postgresql.org/download.html
語法:
Class.forName("org.postgresql.Driver");
Connection con=DriverManager.getConnection("jdbc:postgresql://host:port/database","user","password");

11.IBM AS400主機(jī)在用的JDBC語法
有裝V4R4以上版本的Client Access Express
可以在C:\Program Files\IBM\Client Access\jt400\lib
找到 driver 檔案 jt400.zip,并更改擴(kuò)展名成為 jt400.jar
語法:
java.sql.DriverManager.registerDriver (new com.ibm.as400.access.AS400JDBCDriver ());
Class.forName("com.ibm.as400.access.AS400JDBCConnection");
con = DriverManager.getConnection("jdbc:as400://IP","user","password");

12.informix
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
Lib:jdbcdrv.zip<br><br>Class.forName( "com.sybase.jdbc.SybDriver" )
url="jdbc:sybase:Tds:127.0.0.1:2638/asademo";
SybConnection connection= (SybConnection)DriverManager.getConnection(url,"dba","sql");

13.SAP DB
Class.forName ("com.sap.dbtech.jdbc.DriverSapDB");
java.sql.Connection connection = java.sql.DriverManager.getConnection ( "jdbc:sapdb://" + host + "/" + database_name,user_name, password)

14.InterBase
String url = "jdbc:interbase://localhost/e:/testbed/database/employee.gdb";
Class.forName("interbase.interclient.Driver");
//Driver d = new interbase.interclient.Driver (); /* this will also work if you do not want the line above */
Connection conn = DriverManager.getConnection( url, "sysdba", "masterkey" );

15.HSqlDB
url:     http://hsqldb.sourceforge.net/
driver:  org.hsqldb.jdbcDriver
連接方式有4種,分別為:
con-str(內(nèi)存): jdbc:hsqldb.
con-str(本地): jdbc:hsqldb:/path/to/the/db/dir
con-str(http): jdbc:hsqldb:http://dbsrv
con-str(hsql): jdbc:hsqldb:hsql://dbsrv


EA_Games 2005-12-19 22:32 發(fā)表評論
]]>
教你如何成為一個Eclipse熱鍵高手http://www.aygfsteel.com/eagames/archive/2005/12/14/23952.htmlEA_GamesEA_GamesWed, 14 Dec 2005 14:53:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/12/14/23952.htmlhttp://www.aygfsteel.com/eagames/comments/23952.htmlhttp://www.aygfsteel.com/eagames/archive/2005/12/14/23952.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/23952.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/23952.htmlhttp://www.chinaitlab.com/www/news/article_show.asp?id=36365

Eclipse IDE 變得如此熱門,以至于出現(xiàn)在許多工作簡歷中。但是,也正因為它的功能繁多,使得難于入手了。在這篇文章中,Sam Brodkin 分享了他最常用的一些Eclipse功能。他也提到了那些會讓你的手指動的飛快的熱鍵組合。在工作的時候,人們會懷疑你是在打電玩。(1,200字;2005年8月29日)

Eclipse最妙的地方是它的功能是如此的豐富。如果你找不到某項功能,要么是你沒有好好的去找,要么有一個插件可以實現(xiàn)它。Eclipse最糟的地方也是它的功能如此的豐富。擁擠的工具條,臃腫的菜單,以及配置對話框都讓我想起了拉比林特斯迷宮(譯者注:Minotau’s labyrinth,希臘神戶中的人身牛頭怪,住在Labyrinth迷宮中,吃人們供奉的童男童女,最后被Theseus殺死)(盡管配置對話框在Eclipse3.1中已經(jīng)好了很多)。甚至是有經(jīng)驗的Eclipse程序員也是慢吞吞,笨手笨腳的。我觀察過無數(shù)的同事,當(dāng)試圖在Eclipse的navigation面板里找一個類的時候,不假思索的按下“Ctrl + Shift + T”(打開型別(open type))。其實,只要有意識的投入一點點時間,你也會不在笨手笨腳的,而成為熱鍵高手。

精通Eclipse不單提高了你的效率,(我知道,按小時賺錢的簽約人更喜歡文本編輯器),對你的求職簡歷也有好處。既然Eclipse已經(jīng)越來越多的出現(xiàn)在Java工作說明上,那么在你的求職簡歷上也絕對是個好詞。我把它放在我的個人簡歷上,就在POJO(簡單初始Java對象)和POJI(簡單初始Java接口)的中間。越來越多的公司轉(zhuǎn)向Eclipse,因為它免費,而且為大多數(shù)程序員所接受。(除了那些少有的IntelliJ和Emacs的崇拜者)

因此,你的簡歷上并不都是幫助你提高編程效率的大話,在本文中,我將給你幾條Eclipse高效的建議。注意:如果你是個在尋找初學(xué)者教程的新手,那么請參看資源部分。

Eclipse的快捷鍵組合功能

使用Eclipse的快捷鍵組合功能,讓你看起來像是在打電玩。特別是讓人想起《真人快打》(Mortal Combat)的感覺。要成為《真人快打》的高手,你必須記住大量的按鍵順序。比如,要使出Sub-Zero Skeleton Rip,你必須依次按下????和X鍵。這里的控制桿就是Ctrl,Alt,Shift,字母鍵,數(shù)字鍵和功能鍵的組合。

讓我們按照使用頻率來看看我最愛用的一些熱鍵組合。(注:以下內(nèi)容在Eclipse3.02及一上版本通過測試)

1. Control-Shift-T: 打開類型(Open type)。如果你不是有意磨洋工,還是忘記通過源碼樹(source tree)打開的方式吧。

2. Control-Shift-R: 打開資源(不只是用來尋找Java文件)。小提示:利用Navigator視圖的黃色雙向箭頭按鈕讓你的編輯窗口和導(dǎo)航器相關(guān)聯(lián)。這會讓你打開的文件對應(yīng)顯示在導(dǎo)航器的層級結(jié)構(gòu)中,這樣便于組織信息。如果這影響了速度,就關(guān)掉它。

3. F3: 打開申明(Open declaration)。或者,利用Declaration Tab(在Java視圖模式下,選擇Windows --> Show View -- > Declaration)。當(dāng)你選中代碼中的一個方法,然后按這個按鍵,它會把整個方法在申明方框里顯示出來。

4. Alt-left arrow: 在導(dǎo)航歷史記錄(Navigation History)中后退。就像Web瀏覽器的后退按鈕一樣,在利用F3跳轉(zhuǎn)之后,特別有用。(用來返回原先編譯的地方)

5. Alt-right arrow: 導(dǎo)航歷史記錄中向前。

6. Control-Q: 回到最后依次編輯的地方。這個快捷鍵也是當(dāng)你在代碼中跳轉(zhuǎn)后用的。特別是當(dāng)你鉆的過深,忘記你最初在做什么的時候。

7. Control-Shift-G: 在workspace中搜索引用(reference)。這是重構(gòu)的前提。對于方法,這個熱鍵的作用和F3恰好相反。它使你在方法的棧中,向上找出一個方法的所有調(diào)用者。一個與此相關(guān)的功能是開啟“標(biāo)記”功能(occurrence marking) 。選擇Windows->Preferences->Java-> Editor-> Mark Occurrences,勾選選項。這時,當(dāng)你單擊一個元素的時候,代碼中所有該元素存在的地方都會被高亮顯示。我個人只使用“標(biāo)記本地變量”(Mark Local Variables)。注意:太多的高亮顯示會拖慢Eclipse。

8. Control-Shift-F: 根據(jù)代碼風(fēng)格設(shè)定重新格式化代碼。我們的團(tuán)隊有統(tǒng)一的代碼格式,我們把它放在我們的wiki上。要這么做,我們打開Eclipse,選擇Window?Preferences?Java?Code Style,然后設(shè)置Code Formatter,Code Style和Organize Imports。利用導(dǎo)出(Export)功能來生成配置文件。我們把這些配置文件放在wiki上,然后團(tuán)隊里的每個人都導(dǎo)入到自己的Eclipse中。

9. Control-O: 快速概要(quick outline)。通過這個快捷鍵,你可以迅速的跳到一個方法或者屬性,只需要輸入名字的頭幾個字母。

10. Control-/: 對一行注釋或取消注釋。對于多行也同樣適用。

11. Control-Alt-down arrow: 復(fù)制高亮顯示的一行或多行。

12. Alt-down arrow: 將一行或多行向下移動。Alt-up arrow會向上移動。

其他的熱鍵在菜單里有。你可以通過按下Control-Shift-L(從3.1版本開始),看到所有快捷鍵的列表。按下Control-Shift-L兩次,會顯示熱鍵對話框(Keys Preferences dialog),你可以在這里自己設(shè)置熱鍵。我歡迎你在Talkback部分發(fā)表你的Eclipse提示。

其他的Eclipse竅門

我總結(jié)了幾個相關(guān)的小竅門:


鎖定命令行窗口:在命令行視圖中(Window ? Show View ? Other ? Basic ? Console),試試看用滾動鎖定按鈕來鎖定控制臺輸出不要滾屏。

使用Ant視圖:在我的Java或Debug模式下,我喜歡顯示出Ant視圖,這樣我就可以迅速的運行Ant任務(wù)。通過Window ? Show View ? Other ? Ant可以找到該視圖。把Ant視圖放在屏幕的一角, 通過“添加編譯文件(Add Buildfiles)”按鈕來添加build.xml文件。在3.1版本中,甚至支持Ant調(diào)試腳本語言。

自動遍歷一個集合:for + Control-Space: 如果你還不知道,那么你應(yīng)該記住Control-Space是自動完成功能。在Eclipse中,你還可以自動完成結(jié)構(gòu)。在一個數(shù)組或集合范圍內(nèi),試試看輸入“for”然后按下Control-Space鍵。Eclipse會問你你想要遍歷哪一個集合然后自動完成循環(huán)代碼。

使用分級布局:在包瀏覽視圖(Package Explorer view)中默認(rèn)的布局(扁平式)方式讓我困惑,它把包的全名顯示在導(dǎo)航樹(navigation tree)中。我更喜歡我源碼的包和文件系統(tǒng)視圖,在Eclipse中叫做分級布局(Hierarchical Layout)。要切換到這種模式,點擊包瀏覽視圖中向下的按鈕,選擇布局(Layout),然后選擇分級(Hierarchial)。

一次顯示多個文件:你可以一次瀏覽多個文件。把不在激活狀態(tài)的編輯窗口拖到激活窗口的底部或側(cè)邊的滾動條上,就可以打開該編輯窗口。這是我能描述該竅門的最好方式了。

同時打開兩個Eclipse:要將改動從一個CVS分支上合并到另外一個上,我喜歡通過同時打開兩個工作目錄(Workspace)不同Eclipse來實現(xiàn)。這樣我可以通過比較CVS上的最新版本看到所有的變化(右鍵單擊工程,然后選擇Compare with ? Lastest from HEAD)然后把每一個變化都合并到另外一個CVS分支上。啟動多個Eclipse的最簡單的方法是利用Eclipse Launcher。

Implementors插件:安裝一個能夠跳到一個接口的實現(xiàn)的插件。如果你是個dependency injection 粉絲,或者正在基于編寫優(yōu)良的接口工作,那么你需要一個這樣的插件來加速代碼導(dǎo)航。 你可以在SourceForge找到這個插件。

就像Modest Mouse樂隊的歌曲“Out of Gas”唱的,“意見就像小貓,我已經(jīng)送給別人”。這些是我的Eclipse小貓,希望你能給它找一個溫暖的家。

EA_Games 2005-12-14 22:53 發(fā)表評論
]]>
Struts+Spring+Hibernate練習(xí)http://www.aygfsteel.com/eagames/archive/2005/11/22/21037.htmlEA_GamesEA_GamesTue, 22 Nov 2005 13:40:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/11/22/21037.htmlhttp://www.aygfsteel.com/eagames/comments/21037.htmlhttp://www.aygfsteel.com/eagames/archive/2005/11/22/21037.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/21037.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/21037.html環(huán)境:

Windows2003

jdk1.5.05

Eclipse3.1+MyEclipse4.03

 

做一登錄練習(xí)。

 

現(xiàn)已經(jīng)完成了loginstruts部份,實現(xiàn)了動態(tài)ActionForm和動態(tài)validator驗證,詳細(xì)全部文件內(nèi)容如下:

 

struts-config.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

 

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="password" type="java.lang.String" />
      <form-property name="username" type="java.lang.String" />
    </form-bean>

 

  </form-beans>

 

  <global-exceptions />
  <global-forwards >
    <forward name="indexGo" path="/index.jsp" />

 

  </global-forwards>

 

  <action-mappings >
    <action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      validate="true"
      type="com.test.struts.action.LoginAction" />

 

  </action-mappings>

 

  <message-resources parameter="com.test.struts.ApplicationResources" />
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>
</struts-config>

 

 

login.jsp

 

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
 
<html>
 <head>
  <title>JSP for loginForm form</title>
 </head>
 <body>
  <html:form action="/login">
   username : <html:text property="username"/><html:errors property="username"/><br/>
   password : <html:password property="password"/><html:errors property="password"/><br/>
   <html:submit/><html:cancel/>
  </html:form>
 </body>
</html>

 

index.jsp

 

<html>
  <head>
    <title>My JSP 'index.jsp' starting page</title>
  </head>
 
  <body>
 <a href="login.jsp">Login</a>
  </body>
</html>

 

LoginAction.java

 

//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.0.1/xslt/JavaClass.xsl

 

package com.test.struts.action;

 

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;

 

/**
 * MyEclipse Struts
 * Creation date: 10-27-2005
 *
 * XDoclet definition:
 * @struts.action path="/login" name="loginForm" input="login.jsp" scope="request" validate="true"
 */
public class LoginAction extends Action {

 

 // --------------------------------------------------------- Instance Variables

 

 // --------------------------------------------------------- Methods

 

 /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
 public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response) {
  DynaValidatorForm loginForm = (DynaValidatorForm) form;
  // TODO Auto-generated method stub
  String username=(String)loginForm.get("username");
  String password=(String)loginForm.get("password");
  loginForm.set("password",null);
  if(username.equals("sonic")||password.equals("sonic")){
   System.out.println("AAA");
   return mapping.findForward("indexGo");
  }
  else {
   System.out.println("BBB");
   return mapping.getInputForward();
  }
 }

 

}

 

ApplicationResources.properties

 

prompt.username=User Name
prompt.password=User Password

 

errors.required={0} is required.

 

ApplicationResources_zh_CN.properties

 

prompt.username=用戶名稱
prompt.password=
登錄密碼

 

errors.required={0} 是必須的.

 

validation.xml

 

<form-validation>
 <formset>
  <form name="loginForm">
   <field property="username" depends="required">
    <arg0 key="prompt.username" />
   </field>
   <field property="password" depends="required">
    <arg0 key="prompt.password" />
   </field>
  </form>
 </formset>
</form-validation>

 

到此已經(jīng)完成了全部代碼!



EA_Games 2005-11-22 21:40 發(fā)表評論
]]>
Struts+Hibernate+Spring練習(xí)(續(xù))http://www.aygfsteel.com/eagames/archive/2005/11/22/21035.htmlEA_GamesEA_GamesTue, 22 Nov 2005 13:39:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/11/22/21035.htmlhttp://www.aygfsteel.com/eagames/comments/21035.htmlhttp://www.aygfsteel.com/eagames/archive/2005/11/22/21035.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/21035.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/21035.html現(xiàn)在創(chuàng)建spring框架

 

配置struts-config.xml文件,添加(spring)的插件

 

<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
  </plug-in>

 

修改LoginAction配置

 

原:

<action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      validate="true"
      type="com.test.struts.action.LoginAction" />

 

  </action-mappings>

 

改為:

<action
      attribute="loginForm"
      input="/login.jsp"
      name="loginForm"
      path="/login"
      scope="request"
      validate="true"
      type="
org.springframework.web.struts.DelegatingActionProxy" />

  </action-mappings>

 

綠色字體部份為修改內(nèi)容

這里將使用spring的代理器來對Action進(jìn)行控制

 

當(dāng)提交到/login.do是將控制權(quán)交給了spring,然后由spring來決定是否轉(zhuǎn)回到strutsAction

 

現(xiàn)在來配置spring

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
http://www.springframework.org/dtd/spring-beans.dtd">

 

<beans>
 
<bean name="/login" class="net.xiaxin.action.LoginAction" singleton="false"></bean>
</beans>

 

綠色字體是關(guān)于轉(zhuǎn)交控制權(quán)的配置內(nèi)容

 

屬性singleton="false",指明了Action 的實例獲取方式為每次重新創(chuàng)建。解決了Struts中令人詬病的線程安全問題(Struts中,由一個Action實例處理所有的請求,這就導(dǎo)致了類公用資源在并發(fā)請求中的線程同步問題。)(摘自spring開發(fā)指南)

 

建立數(shù)據(jù)庫在 這里我使用的是mysql4.1.1x

 

CREATE TABLE `user` (
  `ID` int(11) NOT NULL auto_increment,
  `USERNAME` varchar(50) NOT NULL default '',
  `PASSWORD` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

 

創(chuàng)建Hibernate框架

使用MyEclipse的數(shù)據(jù)Database Explorer工具創(chuàng)建User.hmb.xmlAbstractUser.javaUser.java映射文件

創(chuàng)建完成后可以將自動生成的hibernate.cfg.xml刪除

 

創(chuàng)建UserDAO.javaUserDAOImp.java

 

修改LoginAction.java文件,使用userDao的方法來進(jìn)行用戶驗證

package com.test.struts.action;

 

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;

 

import com.test.UserDAO;


public class LoginAction extends Action {


 private UserDAO userDAO;

 

 public UserDAO getUserDAO() {
  return userDAO;
 }

 

 public void setUserDAO(UserDAO userDAO) {
  this.userDAO = userDAO;
 }

 

 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  DynaValidatorForm loginForm = (DynaValidatorForm) form;
  // TODO Auto-generated method stub
  String username = (String) loginForm.get("username");
  String password = (String) loginForm.get("password");
  loginForm.set("password", null);
  if (userDAO.isValidUser(username,password)) {
   return mapping.findForward("indexGo");
  } else {
   return mapping.getInputForward();
  }
 }

}
綠色字體為修改部份

 

現(xiàn)在剩下最后的spring配置了

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

 

<beans>
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName">
   <value>com.mysql.jdbc.Driver</value>
  </property>
  <property name="url">
   <value>jdbc:mysql://localhost:3306/test</value>
  </property>
  <property name="username">
   <value>root</value>
  </property>
  <property name="password">
   <value></value>
  </property>
 </bean>

 

 <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref local="dataSource" />
  </property>
  <property name="mappingResources">
   <list>
    <value>com\test\Hibernate\User.hbm.xml</value>
   </list>
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>

 

 <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
  <property name="sessionFactory">
   <ref local="sessionFactory" />
  </property>
 </bean>

 

 <bean id="userDAO" class="com.test.UserDAOImp">
  <property name="sessionFactory">
   <ref local="sessionFactory" />
  </property>
 </bean>

 

 <bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  <property name="transactionManager">
   <ref bean="transactionManager" />
  </property>
  <property name="target">
   <ref local="userDAO" />
  </property>
  <property name="transactionAttributes">
   <props>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
   </props>
  </property>
 </bean>

 

 <bean name="/login" class="com.test.struts.action.LoginAction" singleton="false">
  <property name="userDAO">
   <ref bean="userDAOProxy" />
  </property>
 </bean>
</beans>

 

現(xiàn)在可以進(jìn)行測試了!



EA_Games 2005-11-22 21:39 發(fā)表評論
]]>
Struts1.2+Spring2.0+Hibernate3示例http://www.aygfsteel.com/eagames/archive/2005/11/22/21034.htmlEA_GamesEA_GamesTue, 22 Nov 2005 13:38:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/11/22/21034.htmlhttp://www.aygfsteel.com/eagames/comments/21034.htmlhttp://www.aygfsteel.com/eagames/archive/2005/11/22/21034.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/21034.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/21034.html閱讀全文

EA_Games 2005-11-22 21:38 發(fā)表評論
]]>
我收集的Eclipse插件http://www.aygfsteel.com/eagames/archive/2005/11/22/21033.htmlEA_GamesEA_GamesTue, 22 Nov 2005 13:37:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/11/22/21033.htmlhttp://www.aygfsteel.com/eagames/comments/21033.htmlhttp://www.aygfsteel.com/eagames/archive/2005/11/22/21033.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/21033.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/21033.html我收集的Eclipse插件

Poperties Editor
  http://propedit.sourceforge.jp/eclipse/updates/

eclipseME
  http://eclipseme.org/updates/


我收集的Eclipse插件


 
1.MyEclipse  J2EE開發(fā)插件,支持SERVLET/JSP/EJB/數(shù)據(jù)庫操縱等
www.myeclipseide.com
 
2.Properties Editor  編輯java的屬性文件,并可以自動存盤為Unicode格式
http://propedit.sourceforge.jp/index_en.html
http://propedit.sourceforge.jp/eclipse/updates/
 
3.Colorer Take  為上百種類型的文件按語法著色
http://colorer.sourceforge.net/
 
4.XMLBuddy 編輯xml文件
www.xmlbuddy.com
 
5.Code Folding  加入多種代碼折疊功能(比eclipse自帶的更多)
http://www.coffee-bytes.com/servlet/PlatformSupport
 
6.Easy Explorer  從eclipse中訪問選定文件、目錄所在的文件夾
http://easystruts.sourceforge.net/
 
7.Fat Jar 打包插件,可以方便的完成各種打包任務(wù),可以包含外部的包等
http://fjep.sourceforge.net/
 
8.RegEx Test 測試正則表達(dá)式
http://brosinski.com/stephan/archives/000028.php
 
9.JasperAssistant 報表插件(強(qiáng),要錢的)
http://www.jasperassistant.com/
 
10.Jigloo GUI Builder JAVA的GUI編輯插件
http://cloudgarden.com/jigloo/
 
11.Profiler 性能跟蹤、測量工具,能跟蹤、測量BS程序
http://sourceforge.net/projects/eclipsecolorer/
 
12.AdvanQas 提供對if/else等條件語句的提示和快捷幫助(自動更改結(jié)構(gòu)等)
http://eclipsecolorer.sourceforge.net/advanqas/index.html
 
13.Log4E     Log4j插件,提供各種和Log4j相關(guān)的任務(wù),如為方法、類添加一個logger等
http://log4e.jayefem.de/index.php/Main_Page
 
14.VSSPlugin VSS插件
http://sourceforge.net/projects/vssplugin
 
15.Implementors   提供跳轉(zhuǎn)到一個方法的實現(xiàn)類,而不是接中的功能(實用!)
http://eclipse-tools.sourceforge.net/implementors/
 
16.Call Hierarchy 顯示一個方法的調(diào)用層次(被哪些方法調(diào),調(diào)了哪些方法)
http://eclipse-tools.sourceforge.net/call-hierarchy/index.html
 
17.EclipseTidy 檢查和格式化HTML/XML文件
http://eclipsetidy.sourceforge.net/
 
18.Checkclipse 檢查代碼的風(fēng)格、寫法是否符合規(guī)范
http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm
 
19.Hibernate Synchronizer Hibernate插件,自動映射等
http://www.binamics.com/hibernatesync/
 
20.spring updatesite 插件
http://springide.org/updatesite/

20.VeloEclipse  Velocity插件
http://propsorter.sourceforge.net/
 
21.EditorList   方便的列出所有打開的Editor
http://editorlist.sourceforge.net/
 
22.MemoryManager 內(nèi)存占用率的監(jiān)視
http://cloudgarden.com/memorymanager/

Eclipse的游戲插件
http://eclipse-games.sourceforge.net/

JBoss-IDE
http://jboss.sourceforge.net/jbosside/updates/

自動反編譯class,安裝后要設(shè)定class文件缺省關(guān)聯(lián)到j(luò)ode
http://www.technoetic.com/eclipse/update


jigloo swing/sw設(shè)計工具,里面自帶的form/anchor布局很好用!
http://cloudgarden.soft-gems.net/update-site/

jinto的資源文件編輯工具,同時編輯多種語言,而且自動轉(zhuǎn)換成iso8859-1編碼。很好用!
http://www.guh-software.de/eclipse/



EA_Games 2005-11-22 21:37 發(fā)表評論
]]>
速動畫教學(xué)系列共九集,關(guān)于struts、hibernate下載http://www.aygfsteel.com/eagames/archive/2005/11/22/21032.htmlEA_GamesEA_GamesTue, 22 Nov 2005 13:34:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/11/22/21032.htmlhttp://www.aygfsteel.com/eagames/comments/21032.htmlhttp://www.aygfsteel.com/eagames/archive/2005/11/22/21032.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/21032.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/21032.html速動畫教學(xué)系列共九集,關(guān)于struts、hibernate
速動畫教程系列第一集 Struts入門

下載地址:

http://www.ereach.cn/download/MyEclipse-Struts-01.exe

速動畫教程系列第二集 Hibernate + Struts 實例

下載地址:

http://www.ereach.cn/download/MyEclipse_Hibernate.exe

速動畫教程系列第三集 Struts 之 Hello Word 續(xù)

實現(xiàn)了返回用戶名稱

下載地址:

http://www.ereach.cn/download/struts_2.rar

速動畫教程系列第四集 Struts + Hibernate + oracle

使用 MyEclipse 插件創(chuàng)建 Hibernate + Struts + oracle 實例

這一集是第二集的改版,數(shù)據(jù)庫改為 oracle.

下載地址:

http://www.ereach.cn/download/Hibernate-Oracle.rar

速動畫教程系列第五集    第一段(共四段) 地址薄綜合實例

使用Eclipse + MyEclipse + Struts + Hibernate + MySql

第一段下載地址:

http://www.ereach.cn/download/sonic005.1.rar

速動畫教程系列第五集    第二段(共四段) 地址薄綜合實例

使用Eclipse + MyEclipse + Struts + Hibernate + MySql

第一段下載地址:

http://www.ereach.cn/download/sonic005.2.rar

速動畫教程系列第五集    第三段(共四段) 地址薄綜合實例

使用Eclipse + MyEclipse + Struts + Hibernate + MySql

第一段下載地址:

http://www.ereach.cn/download/sonic005.3.rar

速動畫教程系列第五集    第四段(共四段) 地址薄綜合實例

使用Eclipse + MyEclipse + Struts + Hibernate + MySql

第一段下載地址:

http://www.ereach.cn/download/sonic005.4.rar


速動畫教程第六集 Struts 之 Tiles 框架

下載地址:http://www.ereach.cn/download/sonic006.rar


速動畫教程系列第七集 Eclipse+MyEclipse配置
http://www.ereach.cn/download/sonic007.rar


速動畫教程第八集   Hibernate的一對多關(guān)聯(lián)關(guān)系

下載地址:http://www.ereach.cn/download/sonic008.rar


速動畫教程第九集 使用Eclipse+eclipseme開發(fā)HelloWorld!

下載地址:http://www.ereach.cn/download/sonic009.rar



EA_Games 2005-11-22 21:34 發(fā)表評論
]]>
Eclipse整合JBoss4.0.0服務(wù)器開發(fā)-配置篇http://www.aygfsteel.com/eagames/archive/2005/10/21/16368.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:40:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16368.htmlhttp://www.aygfsteel.com/eagames/comments/16368.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16368.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16368.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16368.html之前在網(wǎng)上看了很多關(guān)于這方面的文章,經(jīng)過自己的一些測試,終于……,嘿,結(jié)果你也知道,OK了,開心地說,所以想給大家分享分享勞動果實!

        其實我也跟大家一樣,是一個喜歡追求時尚的爺們,所以當(dāng)前配置是Eclipse3.1+JBoss4.0.0,說實在的,我對那些所謂的漢化版是較為鄙視的,學(xué)學(xué)E文也好嘛,不要老讓老外們牽著鼻子,做什么事都遲他們一步,俺們能看懂E文,老外們看不懂中文(說實在的,中文比E文高級多了,所以也更難學(xué)),自然他們就會慢慢地跟著俺們的屁股追了,廢話不多說,現(xiàn)在讓我們切入正題吧!(有什么不懂的,記得給我回復(fù)哦)

        這個配置要分四步走,具體如下:

        首先,巧婦難為無米之炊,沒有工具談?wù)祥_發(fā),可要比叫男人生小孩痛苦得多。所以,我們都下載相應(yīng)工具。
        Eclipse3.1下載:http://www.eclipse.org/downloads/index.php(若大的3.1,夠醒目吧,哈!)
        JBoss4.00下載:http://www.jboss.org/products/jbossas/downloads(哈,什么版本都有吧)
        Lomboz下載:http://forge.objectweb.org/project/showfiles.php?group_id=97(很多版本,擇優(yōu)吧)
        以上的三個網(wǎng)站,希望大家收藏起來,以后如果有新的版本,都可以在這上面看到,更新方便得多哦。

        其次,將三個寶(壓縮包)分別解壓,eclipse-SDK-3.1-win32.zip解壓至D:\Eclipse3.1目錄(別告訴我你沒有D盤),jboss-4.0.0.zip 解壓至D:\jboss-4.0.0目錄
       
        再次,搭建Eclipse+Lomboz環(huán)境。
        可能這個時候有朋友對Lomboz這東東還不太理解(俺當(dāng)初就菜成這副模樣,不騙你),其實呢,在百度(嚴(yán)重支持國貨)里Search一下就知道了,它是一個通用插件,通過它,Eclipse可以整合各種服務(wù)器,不過這東東好像不太好配置,主要是因為版本問題,還好我運氣沒那么背,第一次就撿狗屎運的配置成功了(而且還在第二天找了個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目錄下的所有內(nèi)容拷貝到D:\Eclipse3.1\features目錄,將plugins目錄下的所有內(nèi)容拷貝到D:\Eclipse3.1\plugins目錄。(關(guān)鍵步驟到了)這時,進(jìn)入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,這個才是真正配置啟動服務(wù)器類型的選項(例如JBoss、Weblogic、Tomcat、Resin、Websphere),下面就專門來講解這個配置。

        Server Definitions配置詳解:
                Server types:在下拉菜單中選擇需要配置的服務(wù)器(有版本區(qū)別),在此我選擇JBOSS 4.0.0
                                   注:Server types下拉菜單默認(rèn)最高支持到JBOSS 3.2.x,這方面的配置見附屬說明。
                Application Server Directory:D:/jboss-4.0.0(你的Jboss安裝路徑)
                Classpath Variable:D:/jboss-4.0.0(你的Jboss安裝路徑)
                其它項,全取默認(rèn)值

如果你不幸是用Linux的朋友,哦,對不起,忘記事先說明了,偶用的是Windows(暈死)平臺,兄弟們,這可是偶摸了一天兩夜才難產(chǎn)出來的自創(chuàng)性文章,如果其中某環(huán)節(jié)出了什么差池,可別扁我哦!

附屬說明:在D:\Eclipse3.1\plugins\com.objectlearn.jdt.j2ee_3.0.1\servers目錄下有一系列配置文件,你可以在此目錄下新建一個jboss400.server的文件,用Editplus打開它編輯,文件內(nèi)容如下:


<serverDefinition
  name="JBOSS 4.0.0"
  ejbModules="true"
  webModules="true"
  earModules="true">
<property id="serverRootDirectory"
 label="Application Server Directory:"
 type="directory"
 default="D:/jboss-4.0.0" />
<property id="serverAddress"
 label="Address:"
 type="string"
 default="127.0.0.1" />
<property id="serverPort"
 label="Port:"
 type="string"
 default="8080" />
<property id="serverConfig"
 label="Server Configuration (minimal/default/all):"
 type="string"
 default="default" />
<property id="classPathVariableName"
 label="Classpath Variable Name:"
 type="string"
 default="JBOSS400" />
<property id="classPath"
 label="Classpath Variable:"
 type="directory"
 default="D:/jboss-4.0.0" />
<serverHome>${serverRootDirectory}</serverHome>
<webModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</webModulesDeployDirectory>
<ejbModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</ejbModulesDeployDirectory>
<earModulesDeployDirectory>${serverRootDirectory}/server/${serverConfig}/deploy</earModulesDeployDirectory>
<jndiInitialContextFactory>org.jnp.interfaces.NamingContextFactory</jndiInitialContextFactory>
<jndiProviderUrl>jnp://${serverAddress}:1099</jndiProviderUrl>
<startClass>org.jboss.Main</startClass>
<startWorkingDirectory>${serverRootDirectory}/bin</startWorkingDirectory>
<startVmParameters></startVmParameters>
<startProgramArguments>-c ${serverConfig}</startProgramArguments>
<stopClass>org.jboss.Shutdown</stopClass>
<stopWorkingDirectory>${serverRootDirectory}/bin</stopWorkingDirectory>
<stopVmParameters></stopVmParameters>
<stopProgramArguments>-S</stopProgramArguments>
<serverClassPath>
 <jar type="variable">JDK_TOOLS</jar>
 <jar type="variable">${classPathVariableName}/bin/run.jar</jar>
 <jar type="variable">${classPathVariableName}/bin/shutdown.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jboss-j2ee.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/javax.servlet.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/jboss-boot.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/jboss-system.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/concurrent.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/bcel.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/jdom.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/xercesImpl.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/xml-apis.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/gnu-regexp.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/getopt.jar</jar>
</serverClassPath>
<clientClassPath>
 <jar type="variable">${classPathVariableName}/client/jboss-j2ee.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jnp-client.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jboss-client.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jboss-common-client.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jbosssx-client.jar</jar>
 <jar type="variable">${classPathVariableName}/client/log4j.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jnet.jar</jar>
 <jar type="variable">${classPathVariableName}/server/default/lib/jnpserver.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jboss-jaas.jar</jar>
</clientClassPath>
<projectClassPath>
 <jar type="variable">JDK_TOOLS</jar>
 <jar type="variable">${classPathVariableName}/bin/run.jar</jar>
 <jar type="variable">${classPathVariableName}/bin/shutdown.jar</jar>
 <jar type="variable">${classPathVariableName}/client/jboss-j2ee.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/javax.servlet.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/jboss-boot.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/jboss-system.jar</jar>
 <jar type="variable">${classPathVariableName}/lib/concurrent.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jnpserver.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-pattern.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jpl-util.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/jboss-transaction.jar</jar>
 <jar type="variable">${classPathVariableName}/server/${serverConfig}/lib/bcel.jar</jar>
</projectClassPath>
<adminTool>
 <web><deploy /><undeploy />
 </web>
 <ejb><deploy /><undeploy />
 </ejb>
 <ear><deploy /><undeploy />
  <webModule><deploy /><undeploy />
  </webModule>
  <ejbModule><deploy /><undeploy />
  </ejbModule>
 </ear>
</adminTool>
<adminToolPath>
</adminToolPath>
</serverDefinition>

 



EA_Games 2005-10-21 22:40 發(fā)表評論
]]>
Eclipse與插件安裝http://www.aygfsteel.com/eagames/archive/2005/10/21/16367.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:39:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16367.htmlhttp://www.aygfsteel.com/eagames/comments/16367.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16367.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16367.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16367.htmlEclipse與插件安裝

一、安裝準(zhǔn)備

在進(jìn)行安裝以前,你應(yīng)該準(zhǔn)備以下軟件:

 軟件:j2sdk-1_4_2_04-windows-i586-p.exe
 版本:1.4.2_04
 官方下載:http://java.sun.com/j2se/1.4.2/download.html
  
 軟件:jakarta-tomcat-5.0.28.exe
 版本:5.0.28
 官方下載:http://www.apache.org/dist/jakarta/
  
 軟件:jakarta-struts-1.1.zip
 版本:1.1
 官方下載:http://www.apache.org/dist/jakarta/struts/
  
 軟件:eclipse-SDK-2.1.3-win32.zip
 版本:2.1.3
 官方下載:http://www.eclipse.org/downloads/index.php
 ftp://download2.eclipse.org/R-2.1.1-200306271545/eclipse-SDK-2.1.1-win32.zip
 備注:目前eclipse最新版為eclipse3.0

 軟件:eclipse2.1.1-SDK-win-LanguagePackFeature.zip 
 版本:2.1.1
 官方下載:http://download2.eclipse.org/downloads/drops/
 L-2.1.x%20Translations-200307021300
 /eclipse2.1.1-SDK-win-LanguagePackFeature.zip 
 備注:該版本只能漢化eclipse2.1.3及以下版本

 軟件:TomcatPlugin
 版本:2.2.1
 官方下載:http://www.sysdeo.com/eclipse/tomcatPlugin.html
  
 軟件:Lomboz
 版本:2.1.3
 官方下載:http://www.objectlearn.com/index.jsp
  軟件:EasyStruts
 版本:0.6.4
 官方下載:http://sourceforge.net/projects/easystruts
 
 
如果要找其他eclipse插件可以去下面這個站點
http://www.eclipse-plugins.info
 

二、JDK安裝

1.安裝J2SE-SDK到C:\j2sdk1.4.2_04

       部分目錄結(jié)構(gòu)如下:

              C:\j2sdk1.4.2_04\bin

              C:\j2sdk1.4.2_04\lib

              C:\j2sdk1.4.2_04\jre

                     ...

2.配置環(huán)境變量如下:

JAVA_HOME=C:\j2sdk1.4.2_04

PATH=%PATH%;C:\j2sdk1.4.2_04\bin

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


三、Tomcat安裝

1.安裝jakarta-tomcat-5.0.28.exe到C:\Tomcat 5.0

       部分目錄結(jié)構(gòu)如下:

              C:\Tomcat 5.0\bin

              C:\Tomcat 5.0\conf

              C:\Tomcat 5.0\webapps

                     ...

2.配置環(huán)境變量如下:

CATALINA_HOME=C:\Tomcat 5.0
TOMCAT_HOME=C:\Tomcat 5.0


四、Struts安裝

1.解壓jakarta-struts-1.1.zip到C:\jakarta-struts-1.1

       部分目錄結(jié)構(gòu)如下:

              C:\jakarta-struts-1.1\lib

              C:\jakarta-struts-1.1\webapps

                     ...

五、Eclipse安裝

1.解壓eclipse-SDK-2.1.3-win32.zip到D:\eclipse

       部分目錄結(jié)構(gòu)如下:

              D:\eclipse\features

              D:\eclipse\plugins

                     ...

2.啟動Eclipse,看看安裝是否成功

   如果啟動不成功,請查看JRE是否安裝

3.啟動Eclipse,點擊菜單 windows->preferences
   在左邊樹中點擊展開java,選擇Installed JREs,

如果Installed JREs如下則正確:

 JRE Type:Standard VM
 Name:j2re1.4.2_04
 Location:C:\j2sdk1.4.2_04\jre


六、Eclipse漢化

1.解壓eclipse2.1.2.1-SDK-win32-LanguagePackFeature.zip
到D:\eclipse下

將目錄名eclipse2.1.2.1-SDK-win32-LanguagePackFeature
改為eclipse2.1.2.1Language

部分目錄結(jié)構(gòu)如下:

       D:\eclipse\eclipse2.1.2.1Language\eclipse\features

       D:\eclipse\eclipse2.1.2.1Language\eclipse\plugins

                     ...

2.在E:\eclipse下新建文件夾links,使得文件夾links
   和文件夾eclipse2.1.2.1Language同級

3.在D:\eclipse\links下新建文件,文件名任取,
   我們命名為language.link,打開此文件,

加入 path = D:\\eclipse\\eclipse2.1.2.1Language

4.啟動Eclipse,看看漢化是否成功,
如不成功請檢查language.link文件中配置信息
path = D:\\eclipse\\eclipse2.1.2.1Language
和漢化文件夾eclipse2.1.2.1Language的安裝路徑是否一致  

七、TomcatPlugin安裝

1.解壓tomcatPluginV221.zip

2.將解壓目錄tomcatPluginV221下
文件夾com.sysdeo.eclipse.tomcat_2.2.1復(fù)制到eclipse安裝
目錄中的plugins目錄中,即D:\eclipse\plugins

3.啟動Eclipse

4.啟動后你將看到你的菜單上多了一個下拉項Tomcat,
快捷欄里多了三個Tomcat的貓圖表,如果沒有看到,
請點擊 窗口->定制透視圖,展開樹結(jié)構(gòu)中的“其它”,選擇“Tomcat”

5.點擊 窗口->首選項

 在左邊樹中點擊tomcat,
 設(shè)置tomcat version為version 5.x
 設(shè)置tomcat-home為C:\Tomcat 5.0
 設(shè)置perspective to switch when tomcat is started為java
 
在左邊樹中點擊tomcat->JVM setting,設(shè)置JRE為j2sdk1.4.2
在“Tomcat”選項的子選項“JVM Settings” -> “Classpath”中,
添加 Jar/Zip ,該值應(yīng)該是 java_home/lib/tools.jar。
這用于編譯 JSP 文件。
為項目的 classpath 引用設(shè)置 classpath 變量 TOMCAT_HOME。
要完成這一任務(wù),請在與步驟 5 相同的彈出菜單中選擇“Java”選項,
然后選擇“Classpath Variables”子選項,
并添加一個新的變量“TOMCAT_HOME”,其路徑是C:\Tomcat 5.0。

確保“Tomcat”菜單和 3 個工具欄按鈕可用。到現(xiàn)在為止,
我們應(yīng)該在 Java 視圖中可以看到一個“Tomcat”菜單和 3 個 Tomcat 工具欄
按鈕.如果您沒有看到這些內(nèi)容,回到“Window”菜單中,
選擇“Customize Perspective...”項,打開選項樹,
選中“Other”項并選中“Tomcat”子選項。

點擊應(yīng)用確定

6.點擊快捷按鈕“Start Tomcat”來啟動Tomcat吧。  

八、Lomboz安裝

1.解壓lomboz.213.zip

2.將解壓目錄lomboz.213\plugins下文件夾com.objectlearn.jdt.j2ee
和com.objectlearn.jdt.j2ee.editors 復(fù)制到eclipse安裝目錄中的plugins
目錄中,即D:\eclipse\plugins

3.啟動Eclipse

4.點擊 窗口->首選項

  在左邊樹中點擊lomboz,設(shè)置JDK tools.jar位置為
  C:\j2sdk1.4.2_04\lib\tools.jar

在左邊樹中點擊lomboz->server definitions,
設(shè)置Server Type為Apache Tomcat v5.0.x

設(shè)置Application Server Directory為C:\Tomcat 5.0
設(shè)置classpath Variable Name為TOMCAT_HOME

 設(shè)置classpath Variable為C:\Tomcat 5.0

點擊應(yīng)用確定。


九、easyStruts安裝

1.解壓org.easystruts.eclipse_0.6.4.zip

2.將解壓目錄org.easystruts.eclipse_0.6.4下文件夾
com.cross.easystruts.eclipse_0.6.4復(fù)制到eclipse安裝目錄中的plugins
目錄中,即D:\eclipse\plugins

3.啟動Eclipse

4.點擊 窗口->首選項

 在左邊樹中點擊Easy Struts,選擇struts1.1

ADD JREs如下:

struts.jar-C:\jakarta-struts-1.1\lib\struts.jar

ADD TLDs如下:
struts-tiles.tld-C:\jakarta-struts-1.1\lib\struts-tiles.tld

struts-template.tld-C:\jakarta-struts-1.1\lib\struts-template.tld

struts-nested.tld-C:\jakarta-struts-1.1\lib\struts-nested.tld

struts-logic.tld-C:\jakarta-struts-1.1\lib\struts-logic.tld

struts-html.tld-C:\jakarta-struts-1.1\lib\struts-html.tld

struts-bean.tld-C:\jakarta-struts-1.1\lib\struts-bean.tld

點擊應(yīng)用確定。
至此,所有需要的插件都安裝好了,下次詳細(xì)講述如何用eclipse
來開發(fā) Struts 應(yīng)用程序

 



EA_Games 2005-10-21 22:39 發(fā)表評論
]]>
Eclipse+Tomcat集成開發(fā)servlet http://www.aygfsteel.com/eagames/archive/2005/10/21/16365.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:39:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16365.htmlhttp://www.aygfsteel.com/eagames/comments/16365.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16365.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16365.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16365.htmlEclipse+Tomcat集成開發(fā)servlet
作者:未知     文章來源:www.jspcn.net
訪問次數(shù): 次    加入時間:2005-01-19
 

Eclipse是open source的集成開發(fā)環(huán)境,它得到了IBM的大力支持,而Tomcat我們就更熟悉了,它是apache組織的JSP/Servlet容器,下面將講述如何集成:

準(zhǔn)備:

1. Tomcat4.0

2. Jdk1.4

3. Eclipse2.0

4. Eclipse的Tomcat插件在http://www.sysdeo.com/eclipse/tomcatPluginV2.zip下載

安裝:

1. 安裝jdk1.4

2. 安裝Tomcat4.0

3. 安裝Eclipse2.0,解壓縮就可以了

4. 將tomcatPluginV2.zip解壓縮,把其中的com.sysdeo.eclipse.tomcat文件夾拷貝到,Eclipse安裝目錄下的plugins目錄中。

配置:

1. 啟動Eclipse

2. 打開菜單Windows->Preferences

3. 在左側(cè)選擇Tomcat,可以看到右側(cè)出現(xiàn)一些表單

4. Tomcat Version選擇Version 4.0.x,Tomcat Home選擇Tomcat的安裝路徑,Configuration File中會自動填入Tomcat的配置文件server.xml

5. 展開左側(cè)的Tomcat菜單,選擇JVM Settings,JRE選擇Detected VM,

6. 按下Apply

7. 按下OK

8. 看你的工具欄中是不是多了幾個小貓的圖標(biāo),如果沒有的話,選擇菜單Windows ->Custmize Perspective,展開other選項,在Tomcat上打勾,好了,看到小貓的圖標(biāo)沒有。

9. 試下Start Tomcat按鈕,好了,Tomcat在console中啟動了。

例子:

下面做個Hello World的例子

1. 選擇File->New->Project

2. 在對話框中選擇Tomcat Project,然后next

3. 輸入Project Name,這里可以寫HelloWorld,繼續(xù)next

4. 勾上can update server.xml file選項,finish,好了,一個Poject已經(jīng)創(chuàng)建好了。

5. 打開new class 向?qū)В贜ame中填入HelloWorld,在Superclass中填入javax.servlet.http.HttpServlet,按下finish,好了,一個servlet就創(chuàng)建好了

6. 在HelloWorld.java中重載doGet方法,代碼如下:

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

 

public class HelloWorld extends HttpServlet {

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws IOException, ServletException {

 

response.setContentType("text/html");

PrintWriter writer = response.getWriter();

 

writer.println("Hello World!");

}

}

8.Ctrl+S保存,右鍵HelloWorld project,選擇Tomcat Project->update context to server.xml

7.在Eclipse中啟動Tomcat

9.在用瀏覽器訪問http://localhost:8080/HelloWorld/servlet/HelloWorld

10.怎么樣,看到HelloWorld了沒有
 
 



EA_Games 2005-10-21 22:39 發(fā)表評論
]]>
Eclipse 3.0 上配置JSP開發(fā)環(huán)境(詳解)http://www.aygfsteel.com/eagames/archive/2005/10/21/16364.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:38:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16364.htmlhttp://www.aygfsteel.com/eagames/comments/16364.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16364.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16364.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16364.html最近在【網(wǎng)邏】(www.weblogic.com.cn),看到了這篇文章,覺得很不錯,與大家分享!現(xiàn)轉(zhuǎn)載如下:
首先講一下環(huán)境配置,注意我配置的環(huán)境是在win 2000 server下的,不是linux下的,配置的大致流程和操作系統(tǒng)無關(guān),僅僅是在具體的安裝上有差別。而配置成功與否,與操作系統(tǒng)無關(guān)。

  軟件安裝分為一下幾個部分:

 1、 java環(huán)境安裝:

  這里使用的是jdk1.4.1(jdk1.4.2也可以),這個可以到sun公司的網(wǎng)站去下載;

  2、 tomcat環(huán)境安裝:

  tomcat的版本是4.1的,安裝版或是解壓版都是可以的;

  3、 eclipse 3 安裝:

  可以去下列地址下載http://www.eclipse.org/downloads/index.php

  我下載的是 3.1M4 版本,這個版本應(yīng)該是比較新的。 4、 tomcat插件安裝;

  tomcat插件是要到下面地址下載http://www.sysdeo.com/eclipse/tomcatPlugin.html,下載之前需要查看插件是否適合eclipse的版本,我下載的是tomcatPluginV3.zip;

  5、 lomboz插件安裝;

  lomboz插件需要下載兩個部分,一個是emf環(huán)境,另一個是lomboz插件,分別到下列地方去找

http://forge.objectweb.org/project/showfiles.php?group_id=97

http://download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I

  我下載的是emf-sdo-runtime-I200412160800.zip和org.objectweb.lomboz_3.1.0.N20050106.zip ;

  這里主要是根據(jù)eclipse選擇適當(dāng)?shù)膌omboz插件,然后查看一下lomboz插件的 介紹,那里會介紹需要的emf插件的版本,然后再去下面的地址找emf插件。

  好了,該下載的都有了,下面我介紹一下如何安裝和配置。

  一、 java環(huán)境安裝

  這個只要直接安裝就可以了,不過最好能安裝在系統(tǒng)盤以外的地方,這樣可以更好理解jvm的配置;安裝好了以后,需要配置環(huán)境變量,新建JAVA_HOME,并且配置path,把jdk的bin目錄添加進(jìn)去,這樣就可以在命令行的任何路徑使用jdk的命令了。

  [測試] :編寫一個hello world程序,然后在dos下使用javac hello.java和java hello命令,如果可以正常執(zhí)行,就證明jdk安裝成功了。

 


【回貼】 [原創(chuàng)] Eclipse 3.0 上配置JSP開發(fā)環(huán)境(2) 作者:小豬哥 查看:0 回復(fù):0

[第 6 樓] 發(fā)表于4/14/2005 10:49:33

  二、 tomcat安裝

  解壓版的直接解壓就可以了,然后配置TOMCAT_HOME,安裝版的要注意的兩點,一個是安裝完之后tomcat的服務(wù)就能夠啟動的了,但是還是要配置TOMCAT_HOME;第二個就是需要查看一下安裝程序是不是把tomcat服務(wù)注冊成為windows的啟動服務(wù),需要到“服務(wù)”里查看,如果有這個選項就把它設(shè)置為手動啟動,并且先停止這個服務(wù)。

  [測試]:使用startup.bat命令,服務(wù)正常啟動之后,ie瀏覽器里輸入

  http://localhost:8080/ 如果出現(xiàn)正常的小貓頁面,那就應(yīng)該沒有問題了。

  三、 eclipse 3安裝

  eclipse的安裝倒是很簡單,只要解壓,然后把eclipse目錄復(fù)制到盤符下就可以了,啟動的時候,系統(tǒng)會自動尋找jvm,當(dāng)然可以再以后配置,但是好像是必須先安裝jdk。

  四、 tomcat插件安裝,emf插件安裝,lomboz插件安裝

  這幾部分的步驟都是一樣的,解壓軟件包,然后根據(jù)里面的目錄結(jié)構(gòu),把目錄文件分別復(fù)制到feature或plugins目錄里,這樣就行了,下面將詳細(xì)講述一下eclipse的配置。

  五、 配置eclipse

  1、 首先,打開配置界面 window->preferences。如果這幾個插件安裝成功,左邊的列表里應(yīng)該有l(wèi)omboz和tomcat的選項。如果沒有,檢查上面的步驟是不是正確。

  點擊java->Installed JREs,然后顯示如上,如果是初始安裝的,只有顯示第一個jre(不要問我什么是jre,自己查資料去),那是系統(tǒng)默認(rèn)的安裝在c盤的jre,如果系統(tǒng)當(dāng)中安裝了多個jdk,那么最好還是新建一個,點擊add,然后選擇你需要使用的jdk的位置,然后它會自動尋找其他的參數(shù),點擊ok。返回界面之后,不要忘記點選剛剛添加的jdk,要不然是沒有用的。然后點擊ok關(guān)閉這個窗口。

  2、 再次打開配置界面,點擊tomcat選項

  這里是配置tomcat的參數(shù),根據(jù)你安裝的tomcat的版本,選擇tomcat version,然戶找到該tomcat的主目錄,輸入在tomcat home,下面的參數(shù)會自動配置,點擊apply。 然后在左邊選擇advanced,同樣把tomcat的主目錄復(fù)制在tomcat base,點擊apply。

未完,其他的請參見http://www.weblogic.com.cn的技術(shù)論壇!很不錯的,不敢獨享^_^



EA_Games 2005-10-21 22:38 發(fā)表評論
]]>
Eclipse3.0.1上Visual Editor的配置 http://www.aygfsteel.com/eagames/archive/2005/10/21/16363.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:38:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16363.htmlhttp://www.aygfsteel.com/eagames/comments/16363.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16363.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16363.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16363.htmlEclipse3.0.1上Visual Editor的配置
 
   好多朋友都在使用Eclipse,我也在學(xué)習(xí)使用中,總是喜歡嘗試新鮮的東西,以前一直沒有使用過Eclipse的Visual Edit 插件,裝過幾次,可就是沒有成功,經(jīng)過反復(fù)琢磨同時又看了別的網(wǎng)友的經(jīng)驗,今天將我的配置過程介紹給大家,希望能給大家?guī)椭?BR>   主要是版本要搞對,不然的話,不會成功的.!-_-大家可以去http://download.eclipse.org/tools/ve/downloads/index.php下載相應(yīng)的版本的VEP。我配置是用的1.0.2.1版的,下載地址:http://download.eclipse.org/tools/ve/downloads/drops/R-1.0.2.1-200503171200/index.html在此網(wǎng)頁中可下載這次需要的所有資源。

Eclipse build eclipse-SDK-3.0.1
EMF build 2.0.1:
GEF Build 3.0.1:
VE-runtime-1.0.2.1.zip
VE-SDK-1.0.2.1.zip

我的JDK用的是 jdk-1_5_0-windows-i586.exe

 NLpack-eclipse-SDK-3.0.x-win32.zip(這個Eclipse開發(fā)平臺的漢化包,可以不使用)

第一步:安裝Eclipse
安裝JDK(這個就不說了)

下載的Eclipse一般是一個壓縮文件,我們把它解壓縮為 d:\eclipse
第二步:安裝插件
解壓后,把features和plugins文件夾下的文件copy到Eclipse的相應(yīng)的文件夾就可以了。
這里有一個小技巧,我們使用寫鏈接文件的方式來安裝插件

1.在F:\eclipse文件夾下面建立一個links文件夾,我們的鏈接文件就放在這個文件夾里面。
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目錄下面。
3.寫鏈接文件
我們用記事本建立文件,文件以 .link為后綴,建立四個鏈接文件,名字分別是
名字:emf-sdo-runtime-2.0.1.link
文件內(nèi)容:path=F:\\plugins\\emf-sdo-runtime-2.0.1  
名字:GEF-runtime-3.0.1.link
文件內(nèi)容:path=F:\\plugins\\GEF-runtime-3.0.1  
名字:VE-runtime-1.0.1.1.link
文件內(nèi)容:path=F:\\plugins\\VE-runtime-1.0.1.  
名字:VE-SDK-1.0.1.1.link
文件內(nèi)容:path=F:\\plugins\\VE-SDK-1.0.1.1 
如果你想要漢化,也可以使用同樣的方式進(jìn)行

(注:名字就是解壓縮到F:\plugins目錄的插件的名字,文件內(nèi)容:就是插件的路徑。不要嫌我羅嗦)

到此為止就平配置好了,下面就是檢驗一下是否成功。
第三步:運行Eclipse
我們打開 文件->新建項目->其它->java”看其中有沒有visal class 或 Swing,有的話,恭喜你成功了。

 



EA_Games 2005-10-21 22:38 發(fā)表評論
]]>
配置WebLogic 8.1和Hibernate 3.0http://www.aygfsteel.com/eagames/archive/2005/10/21/16361.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:26:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16361.htmlhttp://www.aygfsteel.com/eagames/comments/16361.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16361.html#Feedback1http://www.aygfsteel.com/eagames/comments/commentRss/16361.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16361.html最近,在 bartsandbox 上,有人問我在 WebLogic 上配置 Hibernate 的具體步驟。您可能知道, Hibernate 是一個非常流行的開源對象關(guān)系映射 (Object Relational Mapping , ORM) 工具。下面是在 WebLogic 8.1 上配置 Hibernate 的具體步驟:

 

?  首先要創(chuàng)建一個域。我創(chuàng)建了一個 WebLogic Workshop (WLW) 域,因為我打算使用 WLW 來創(chuàng)建和實現(xiàn)應(yīng)用程序。

?  將 hibernate...\lib\antlr-2.7.5H3.jar 添加到 PRE_CLASSPATH ,或者在 hibernate.cfg.xml 文件中將 query.factory_class 屬性設(shè)為 user 2.x's query factory 。

?  WLW 域還啟動了一個 PointBase 數(shù)據(jù)庫實例。我將使用這個內(nèi)置實例。我創(chuàng)建了一個新的用戶和模式。并為該模式填充了一些示例數(shù)據(jù)。

?  在服務(wù)器實例中配置連接池和數(shù)據(jù)源。

?  創(chuàng)建應(yīng)用程序。我打算使用 WebLogic Workshop 創(chuàng)建。

?  應(yīng)該將庫( jar 文件)(它們是成功運行 Hibernate 所必需的)放在哪里呢?放在應(yīng)用程序的 APP-INF/lib 文件夾中。庫包括 hibernate.jar 和附加的第三方庫。引用 Hibernate Reference 的表格 3-1 。

?  在 WLW 中創(chuàng)建一個 Java 項目。該 Java 項目包括映射到數(shù)據(jù)庫的域類。 WLW 編譯該項目,并將生成的 jar 文件放到 APP-INF/lib 目錄下。在 Java 項目中編碼域類。創(chuàng)建 Hibernate 映射文件和 Hibernate 配置文件。此外,從 Hibernate Reference 復(fù)制實現(xiàn),創(chuàng)建 HibenateUtil 類。 Hibernate 配置文件包括數(shù)據(jù)源的 JNDI 名。

?  創(chuàng)建一個 EJB 對象(例如,一個模塊)。該項目包含了會話 bean 。編寫一個操縱域類的會話 bean 。

?  創(chuàng)建一個 Web 或 Web Service 項目(例如,一個模塊)。該項目包含了可互操作性地測試會話 bean 的組件。

完整、有效、自包含的示例應(yīng)用程序 在此 。其中包括了模式和所有的 Hibernate 配置文件。(注:需要有 bartsandbox 的免費會員資格。)

接下來的文章中,我將增強(qiáng)這一基本配置。
我的 前一篇文章 描述了在 WebLogic 8.1 上配置 Hibernate 3.0 的具體步驟。文章引起了巨大的反響。在本文中,我將介紹高級配置,其中 Hibernate 使用了 WebLogic 的 Java 命名和目錄接口 (Java Naming and Directory Interface , JNDI) 、 Java 事務(wù) API (Java Transaction API , JTA) 、 Java 連接器架構(gòu) (Java Connector Architecture , JCA) 和 Java 管理擴(kuò)展 (Java Management extension , JMX) 實現(xiàn)。

我們先從 JNDI 開始。通過在 hibernate.cfg.xml 文件中命名 SessionFactory , Hibernate 使 SessionFactory 在 JNDI 中可用。呀!這在 WebLogic 中不起作用。正如 此處 所描述的, WebLogic JNDI 與 Hibernate 配合得不是很好。有多個工作區(qū)。工作區(qū)手動將 SessionFactory 綁定到 JNDI 中,方法是通過 WebLogic startup 類或者啟動 servlet 。但是,我不能使 SessionFactory 實例從 JNDI 安全返回。因此,折衷一下,為 SessionFactory 向 HibernateUtil 實用類添加一個存取器。

為了配置 Hibernate 使用 JTA ,我在 hibernate.cfg.xml 文件中配置了 transaction.factory_class 。有兩個選項: org.hibernate.transaction.JTATransactionFactory 和 org.hibernate.transaction.CMTTransactionFactory 。說明文檔建議,對 Bean 托管事務(wù)界定 (Bean Managed Transaction Demarcation , BMTD) bean 使用 JTATransactionFactory ,而對容器托管事務(wù)界定 (Container Managed Transaction Demarcation , CMTD) bean 使用 CMTTransactionFactory 。 JTATransactionFactory 似乎更通用些,它既支持 BMTD bean 又支持 CMTD bean 。因此,我配置的是 JTATransactionFactory 。此外,為了以特定于容器的方式查找事務(wù),我在 hibernate.cfg.xml 文件中配置了 transaction.manager_lookup_class 。借助于這個配置,我完全不需要使用 Hibernate Transaction API 。

對 Hibernate 的 JCA 支持是實驗性質(zhì)的,目前還沒有全面應(yīng)用于 WebLogic 。我可以設(shè)想,以后 Hibernate 會被打包為 Resource ARchive (RAR) 文件。 Hibernate RAR 文件作為資源適配器部署。適配器使 Session 在 JNDI 中可用。所有的配置元素都是通過資源適配器( xml 文件)配置的,而不是通過 hibernate.cfg.xml 文件或采用其他方法配置。為什么在 WebLogic 中要配置 Hibernate 使用 JCA ? JCA 旨在封裝傳統(tǒng)系統(tǒng)的連接、事務(wù)等等,并使它們在 J2EE 中可用。但是,由于 Hibernate ,傳統(tǒng)的資源適配器的優(yōu)勢不能全面體現(xiàn)。一旦 Hibernate 被配置為資源適配器,特定的應(yīng)用程序與 Hibernate 的耦合就被削弱了。多個不同的應(yīng)用程序可以使用同一個 Hibernate 資源適配器。由于當(dāng)前正在開發(fā)的 EJB 3.0 ,這種配置在 EJB 的持久性 API 、 Hibernate 和 Java 數(shù)據(jù)對象 (Java Data Object , JDO) 的標(biāo)準(zhǔn)化方面的優(yōu)勢更為明顯。從理論上講,可以熱部署(或重部署)適配器和改變持久性實現(xiàn)。

Hibernate 附帶 JMX Management Bean (MBean) 實現(xiàn)。我不知道如何使用 JMX 將 Hibernate 部署到 WebLogic 上。 Hibernate 和 WebLogic 使用 JMX 有什么好處?至少有兩條。一條是部署和重部署。更重要的一條是,可以監(jiān)控 Hibernate 和獲得的統(tǒng)計信息。從 JMX 控制臺進(jìn)行運行時監(jiān)控是所部署的應(yīng)用程序運行良好的基本保障。

我更新了示例應(yīng)用程序,可 在此 獲取。(注:需要有 bartsandbox 的免費會員資格。)

 



EA_Games 2005-10-21 22:26 發(fā)表評論
]]>
配置weblogic8.Xhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16359.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:26:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16359.htmlhttp://www.aygfsteel.com/eagames/comments/16359.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16359.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16359.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16359.html快速配置weblogic8.X的應(yīng)用目錄
--------------------------------------------------------------------------------

我們知道在weblogic7.x之前,安裝完后weblogic會自動創(chuàng)建默認(rèn)的應(yīng)用目錄DefaultWebApp。如果沒有特別的需要,就可以利用這個默認(rèn)的應(yīng)用目錄布署Web應(yīng)用程序或者J2EE系統(tǒng)了。而在weblogic8.x之后版本中,它不會自動創(chuàng)建默認(rèn)的應(yīng)用目錄。所以我們需要使用Configuration Wizard來創(chuàng)建自己的應(yīng)用目錄,發(fā)布應(yīng)用目錄有兩種方法,現(xiàn)分別介紹。

1.weblogic8.x安裝 weblogic8.x有幾個版本提供使用,并且從這個版本出現(xiàn)了中文版。例子中使用了英文版。weglogic安裝很簡單,只需要按默認(rèn)值一路下一步就OK了。

2.創(chuàng)建weblogic服務(wù) 安裝成功后,依次點擊”開始”->”BEA WebLogic Platform 8.1”->”Configuration Wizard”,啟動”BEA WebLogic Configuration Wizard”,選擇”create a new weblogic configuration”,然后”next”,在”template”選擇”base weblogic server domain”,然后”next”,沒有特別的需要就不修改默認(rèn)選擇,然后”next”,在這個界面上輸入用戶名、密碼和創(chuàng)建這個服務(wù)的描述(請記住這個用戶密碼它是啟動這個服務(wù)和進(jìn)入服務(wù)控制臺的帳號),然后”next”,選擇jdk的版本,然后”next”,在這個界面你可以修改創(chuàng)建服務(wù)的目錄和名稱,然后按”create”開始創(chuàng)建。

3.創(chuàng)建應(yīng)用目錄 創(chuàng)建應(yīng)用目錄有兩種方式分別介紹如下:

3.1 最簡單的應(yīng)用目錄創(chuàng)建 當(dāng)weblogic服務(wù)創(chuàng)建成功后,再次打開“Configuration Wizard”,這次選擇”extend and existing weblogic configuration(擴(kuò)展weblogic配置)”,然后”next”,選擇weblogic服務(wù)目錄,然后”next”,在”Configuration Extensions”中勾選”DefaultWebApp”,然后以下取默認(rèn)值一路”next”直到”import”就OK了。默認(rèn)應(yīng)用目錄一般在D:\bea\user_projects\applications\mydomain\DefaultWebApp(注:d:為我PC機(jī)上安裝weblogic的盤符,讀者根據(jù)安裝目錄進(jìn)行查找)。

測試:啟動weblogic服務(wù),然后輸入http://localhost:7001就可以看到介紹性頁面了。

3.2使用控制臺創(chuàng)建應(yīng)用目錄 當(dāng)weblogic服務(wù)創(chuàng)建成功后,啟動weblogic服務(wù),然后在瀏覽器中輸入http://localhost:7001/console 在登錄界面輸入你創(chuàng)建weblogic服務(wù)時的用戶密碼。

a.創(chuàng)建一個新目錄做為即將發(fā)布的應(yīng)用目錄,我使用d:\appweb做為例了目錄,在該目錄下再創(chuàng)建WEB-INF,在WEB-INF下面創(chuàng)建web.xml文件,目錄結(jié)構(gòu)為

appweb

|__WEB-INF/web.xml

web.xml內(nèi)容一般是:

<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</web-app>


b.目錄創(chuàng)建完成后,在控制臺的首頁,選擇“Web Application Modules”->”Deploy a new Web Application Module... ”,在”Location”下選擇你剛才創(chuàng)建的appweb(注意這個目錄一定要有WEB-INF目錄,并且在WEB-INF目錄下一定要有web.xml文件,否則不能夠創(chuàng)建應(yīng)用目錄)。選擇后,點擊”target module”,返回,可以看到當(dāng)前weblogic服務(wù)中依成功創(chuàng)建的應(yīng)用目錄了。然后再創(chuàng)建一個index.html文檔放在appweb目錄下,就完成了應(yīng)用目錄的創(chuàng)建。

測試:啟動weblogic服務(wù),然后輸入http://localhost:7001/appweb/index.html就可以看到自己設(shè)置的頁面了。



EA_Games 2005-10-21 22:26 發(fā)表評論
]]>
Eclipse檢測最新插件http://www.aygfsteel.com/eagames/archive/2005/10/21/16358.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:25:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16358.htmlhttp://www.aygfsteel.com/eagames/comments/16358.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16358.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16358.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16358.html

EA_Games 2005-10-21 22:25 發(fā)表評論
]]>
測試Weblogic 8.11 連接池的JSP文件http://www.aygfsteel.com/eagames/archive/2005/10/21/16357.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:22:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16357.htmlhttp://www.aygfsteel.com/eagames/comments/16357.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16357.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16357.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16357.html測試Weblogic 8.11 連接池的JSP文件         
 
 <%@ page contentType="text/html;charset=GBK" %>
<%@ page import= "java.sql.* " %>
<%@ page import= "javax.sql.* " %>
<%@ page import= "javax.naming.* "%>

<HTML>
<HEAD>
<TITLE> </TITLE>
<META NAME="Generator" CONTENT="EditPlus2.11">
</HEAD>
<BODY>

<%
// 從weblogic 8 文檔抄來
Context ctx = null;
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://127.0.0.1:7001");
// ht.put(Context.SECURITY_PRINCIPAL, "admin");
// ht.put(Context.SECURITY_CREDENTIALS, "11111111");

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

try {
ctx = new InitialContext(ht);
//ctx = new InitialContext();//也可以
DataSource ds = (DataSource)ctx.lookup ("ejbPool");
conn = ds.getConnection();
stmt = conn.createStatement();
stmt.execute("select * from accounts");
rs = stmt.getResultSet();
while ( rs.next()){
out.println( rs.getString(1)+"___");
out.println( rs.getString(2)+"___");
out.println( rs.getString(3)+"<br>");
}

stmt.close();
stmt=null;
conn.close();
conn=null;

 

}catch (Exception e) {
out.println("錯誤 !! ERR !" );
}
finally {

try {
ctx.close();
} catch (Exception e) {
out.println("ctx ERR !" ); }

try {
if (rs != null) rs.close();
} catch (Exception e) {
out.println("rs ERR !" ); }

try {
if (stmt != null) stmt.close();
} catch (Exception e) {
out.println("stmt ERR !" ); }

try {
if (conn != null) conn.close();
} catch (Exception e) {
out.println("conn ERR !" ); }

}

 

%>
</BODY>
</HTML>
 



EA_Games 2005-10-21 22:22 發(fā)表評論
]]>
Springhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16355.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:20:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16355.htmlhttp://www.aygfsteel.com/eagames/comments/16355.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16355.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16355.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16355.htmlSpring(1)
一地雞毛 @ 2004-08-12 17:57

看了Rod的介紹Spring的文章,翻譯后的連接:


http://blog.csdn.net/taowen2002/archive/2004/05/07/15875.aspx

一,Spring簡介
Spring的特點:
1, Spring不同于其他的Framework,它要提供的是一種管理你的業(yè)務(wù)對象的方法。
2, Spring有分層的體系結(jié)構(gòu),意味著你能選擇僅僅使用它的任何一個獨立的部分,而其他的仍然使用你的相關(guān)實現(xiàn)。
3, 它的設(shè)計從一開始就是要幫助你編寫易于測試的代碼,Spring是使用測試驅(qū)動開發(fā)(TDD)的工程的理想框架。
4, Spring不會給你的工程添加對其他的框架依賴;同時Spring又可以稱得上是個一攬子解決方案,提供了一個典型應(yīng)用所需要的大部分基礎(chǔ)架構(gòu)。

Spring的好處:
1, Spring能有效地組織你的中間層對象;(*)
2, Spring能消除在許多工程中常見的對Singleton的過多使用;
3, 通過一種在不同應(yīng)用程序和項目間一致的方法來處理配置文件,消除各種自定義格式的屬性文件的需要,僅僅需要看看類的JavaBean屬性。Inversion of Control的使用幫助完成了這種簡化;(使用的是type2的IoC)
4, 能夠很容易培養(yǎng)你面向接口而不是面向類的編程習(xí)慣。(這也算。。。)
5, Spring的設(shè)計會讓使用它創(chuàng)建的應(yīng)用盡可能少的依賴于它的APIs,在Spring應(yīng)用中的大多數(shù)業(yè)務(wù)對象沒有依賴于Spring。
6, 使用Spring構(gòu)建的應(yīng)用程序易于單元測試;
7, Spring使EJB成為一個實現(xiàn)選擇,而不是必需的選擇。你可以用POJOs或local EJBs來實現(xiàn)業(yè)務(wù)接口,卻不會影響到調(diào)用代碼。
8, Spring提供一些web應(yīng)用上的EJB的替代方案,比如用AOP提供聲明性事務(wù)管理;
9, Spring為數(shù)據(jù)存取提供了一個一致的框架,不論是使用JDBC還是O/R mapping的產(chǎn)品(Hibernate,JDO)。

Spring的任務(wù)描述:
Spring的主要目的就是使J2EE易用和促進(jìn)良好的編程習(xí)慣。
Spring不會重新發(fā)明輪子,它是讓已有的技術(shù)更加易用,比如它沒有底層事務(wù)協(xié)調(diào)處理,但是提供了一個抽象層覆蓋了JTA和任何其他的事物策略。Spring并沒有和其他的開源項目競爭,不過還是在一些領(lǐng)域有新的方案提供,比如它的web framework,輕量級的IoC容器和AOP框架。


二,Inversion of Control容器
Spring的設(shè)計核心是org.springframework.beans包,用來協(xié)調(diào)JavaBeans的工作。這個包一般不會被用戶直接使用,而是作為其他功能的基礎(chǔ)服務(wù)。
下一個高一些的抽象概念是Bean Factory,一個Spring bean factory是一個可以通過名稱來獲取objects的通用工廠,并且管理objects之間的關(guān)系。
Bean factories支持兩種對象模式:
Singleton:默認(rèn)的,最常使用的,對于無狀態(tài)的對象是一種理想的模式。
Prototype:每次獲取將創(chuàng)建一個獨立的對象,可以讓用戶擁有他們自己的對象。

由于org.springframework.beans.factory.BeanFactory是一個簡單的接口,所以你能夠方便地實現(xiàn)出你自己的BeanFactory,但是很少用戶需要這樣做;常用的BeanFactory定義是:
XmlBeanFactory:解析簡單直觀的定義類和命名對象屬性的XML結(jié)構(gòu);
ListableBeanFactoryImpl:提供了解析存放在屬性文件中的bean定義的能力;

通過BeanFactory的概念,Spring成為了一個Inversion of Control容器。IoC背后的概念就是所謂的Hollywood原則:Don’t call me, I ‘ll call you。IoC將控制創(chuàng)建的職責(zé)從對象的代碼中搬進(jìn)了框架中,使用IoC容器只需指出組件需要X對象,在運行期容器會提供給它具體的對象。而容器就是通過查看方法的參數(shù)表(例如JavaBean的屬性),或者通過配置源(XML)來得到相應(yīng)的信息,從而實現(xiàn)向組件提供對象

Spring ApplicationContext是BeanFactory的子接口,為下列東西提供支持:
信息查找,支持國際化
事件機(jī)制,允許發(fā)布應(yīng)用程序以及可選的注冊已接受到事件
可移植的文件和資源訪問


三,JDBC抽象和數(shù)據(jù)訪問異常層次
JDBC提供了不錯的數(shù)據(jù)庫抽象,但是也有痛苦的地方:
需要大量的錯誤處理代碼來確保ResultSet,Statement,Connection在使用后關(guān)閉;
沒有異常的層次,使用SQLException來響應(yīng)所有的錯誤,并不知道具體錯在哪里。
Spring用兩種方法解決這些問題:
通過API把冗長易出錯的異常處理代碼從程序轉(zhuǎn)移到框架中,框架處理所有異常,而程序代碼集中精力進(jìn)行SQL和處理結(jié)果上;
為要處理SQLException的程序代碼提供有意義的異常層次。當(dāng)Spring第一次從數(shù)據(jù)源取得一個連接時,它檢查元數(shù)據(jù)以確定數(shù)據(jù)庫,隨后它使用這些信息把SQLException映射為自己的異常層次中的響應(yīng)的異常,是你可以和有意義的異常打交道。

Spring提供兩層JDBC API,第一個在org.springframework.jdbc.core包中,使用回調(diào)機(jī)制移動控制權(quán)從程序轉(zhuǎn)移到了框架中,這是一種不同的Inversion of Control。
在org.springframework.jdbc.object包中是對JDBC的更高層次的抽象。這是建立在核心的JDBC回調(diào)功能基礎(chǔ)之上的,但是提供了一個能夠?qū)DBMS操作的API,在這個API中無論是查詢,更新或是存儲過程,都是用Java對象來建模。這組API受到了JDO查詢API的影響,非常直接而且有用。

Spring數(shù)據(jù)訪問異常層次是基于unchecked exception的,這樣開發(fā)者可以自己決定是否來捕捉這些異常從而恢復(fù)。

Spring JDBC對你帶來的好處:
你不必像JDBC那樣寫finally;
你需要編寫的代碼變少了;
你不必鉆研RDBMS文檔去解決理解,一個因為錯誤的列名而返回的詭異錯誤碼;
不管你使用何種持久化技術(shù),你都可以方便地實現(xiàn)DAO模式,讓業(yè)務(wù)代碼不依賴于任何特定的數(shù)據(jù)訪問API。


四,O/R mapping集成
Spring提供了對Hibernate 2.x和JDO的集成支持,尤其是對Hibernate的集成。
為什么要使用Hibernate+Spring,而不是直接使用Hibernate呢?
1, 用Hibernate的代碼通常需要為了效率和適當(dāng)?shù)氖聞?wù)處理而使用相同的Session對象;Spring通過在代碼層上使用顯式的template包裝類或者使用聲明式的,AOP的方法攔截(interceptor)方式兩種方案,使得能夠很容易透明地創(chuàng)建和綁定Session到當(dāng)前的線程。
2, 資源管理,Spring的應(yīng)用程序context能夠處理Hibernate SessionFactories的位置和配置,JDBC數(shù)據(jù)源和其他的相關(guān)資源;使得易于管理和改變。
3, 集成的事務(wù)管理 Spring讓你能夠把你的Hibernate代碼包裝起來,通過2種方式:在代碼層上使用顯式的template包裝類,或者使用聲明式的,AOP的方法攔截(interceptor)。
4, Spring能夠包裝Hibernate異常,把它們從私有的,checked異常轉(zhuǎn)換為一套抽象的運行時異常;使得你能夠在任何你需要的地方捕捉和處理異常,并且JDBC異常也被轉(zhuǎn)換到相同的層次中,意味著你能在一致的編程模型中對JDBC執(zhí)行相同的操作。
5, 為了避免和廠商綁定 Hibernate強(qiáng)大,靈活,免費,當(dāng)時仍然使用私有的API;Spring對Hibernate的事務(wù)和異常的抽象,使你很容易將Hibernate-specific代碼隔離開你的應(yīng)用程序部分,而不會影響Hibernate的強(qiáng)大功能。
6, 測試簡單 Spring的IoC使它很容易改變Hibernate session factories的位置,數(shù)據(jù)源,事務(wù)管理和映射對象執(zhí)行,這使得很容易隔離和測試每一塊持久關(guān)系代碼。

五,事務(wù)管理
JTA使一個直接用起來很笨重的API,許多J2EE開發(fā)者感到EJB CMT使對于事務(wù)管理的唯一合理的選擇。
Spring提供了它對事務(wù)管理的抽象,提供了:
1, 通過類似于JdbcTemplate的回調(diào)模板編程管理事務(wù),比起直接用JTA容易多;
2, 類似于EJB CMT的聲明式事務(wù)管理,但不需要EJB容器;


六,AOP
Spring的AOP支持的首要目標(biāo)是要給POJOs提供J2EE服務(wù),而且它有能夠在應(yīng)用服務(wù)器之間移植的優(yōu)勢,Spring AOP支持method interception,關(guān)鍵概念包括:
Interception:自定義行為能夠在對接口和類的調(diào)用之前之后插入;
Introduction:指定advice會導(dǎo)致對象實現(xiàn)額外的接口,混亂了繼承;

Spring使用動態(tài)代理實現(xiàn)AOP或者在運行時使用CGLIB生成字節(jié)碼(這是的能夠代理類)。兩種方法都能夠在任何應(yīng)用服務(wù)其中使用。
Spring使實現(xiàn)了AOP Alliance接口的AOP框架(在學(xué)習(xí)AOP中介紹過)。

Spring AOP最常見的應(yīng)用使聲明式事務(wù)管理,這是基于前面描述的TransactionTemplate抽象上的,并且可以給任何POJO提供聲明式事務(wù)管理。
Spring的聲明式事務(wù)管理類似于EJB CMT,但在以下方面不同:
l 事務(wù)管理能夠應(yīng)用于任何POJO;
l 通過使用Spring的事務(wù)API能夠在事務(wù)性POJO中實現(xiàn)編程回掉。為此我們提供靜態(tài)的方法,使用ThreadLocal變量,因而不需要你傳遞EJBContext這樣的對象確保回滾;
l 你可以聲明式地定義“回滾規(guī)則”;
l 事務(wù)管理不綁定于JTA。
當(dāng)然你還可以使用Spring AOP實現(xiàn)程序特有的aspects。
請對以上恢復(fù)出來的文字進(jìn)行修改后提交
七,MVC web框架
Spring的MVC model類似于Struts。在多線程服務(wù)對象這點上,Spring的Controller類似于Struts Action,只有一個實例處理所有客戶請求。
Spring MVC比起Struts的優(yōu)點:
1, Spring在Controller, JavaBean, model和views提供了一個非常清晰的劃分;
2, Spring的MVC是非常靈活的。不像Struts強(qiáng)制你繼承它的Action和Form對象,Spring MVC完全是基于接口的;
3, Spring MVC是真正的view無關(guān)的。你不會被強(qiáng)制使用JSP
4, 和其他對象一樣,Spring的Controller是通過IoC配置的。使它們易于測試;
5, Web層變成了業(yè)務(wù)對象層上的薄薄一層


八,EJB相關(guān)
實現(xiàn)EJB:
如果你選擇使用EJB,Spring能在EJB實現(xiàn)和客戶端訪問EJB兩方面都提供很大的好處。
Spring為session bean和message drive bean提供了方便的超類,使得通過自動載入基于包含在EJB jar文件中的XML文檔BeanFactory讓這變得很容易。
感覺不是很有用的樣子。

使用EJB:
許多EJB程序使用Service Locator和Business Delegate模式,這些比在客戶代碼中使用JDNI查找強(qiáng)多了,但是還是有顯著的缺點:
l 使用EJB的典型代碼依賴Service Locator或者Business Delegate singletons,難于測試;
l 在Service Locator模式?jīng)]有使用Business Delegate的情況下,程序代碼還要在EJB home重調(diào)用create()方法,并且可能導(dǎo)致異常,代碼依然綁定在EJB API上;
l 實現(xiàn)Business Delegate模式通常導(dǎo)致顯著的代碼重復(fù);
我們只需要給需要EJB的Bean定義一個組件,在XML中指定它的jndi name,interface,Spring AOP框架會幫你為EJB創(chuàng)建一個代理,實現(xiàn)了業(yè)務(wù)方法的接口,緩存EJBHome,代理JNDI查找,調(diào)用響應(yīng)的業(yè)務(wù)方法。
從而使你的web層代碼不依賴于EJB的使用,如果你要使用POJO或其他object代替EJB引用,你只需要改動組件定義xml,而不影響代碼。
 



EA_Games 2005-10-21 22:20 發(fā)表評論
]]>
JSP彩色驗證碼http://www.aygfsteel.com/eagames/archive/2005/10/21/16354.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:20:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16354.htmlhttp://www.aygfsteel.com/eagames/comments/16354.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16354.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16354.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16354.htmlJSP彩色驗證碼

生成有4個隨機(jī)數(shù)字和雜亂背景的圖片,數(shù)字和背景顏色會改變,服務(wù)器端刷新(用history.go(-1)也會變)
原型參考ALIBABA  http://china.alibaba.com/member/showimage

產(chǎn)生驗證碼圖片的文件-----image.jsp

<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
Color getRandColor(int fc,int bc){//給定范圍獲得隨機(jī)顏色
        Random random = new Random();
        if(fc>255) fc=255;
        if(bc>255) bc=255;
        int r=fc+random.nextInt(bc-fc);
        int g=fc+random.nextInt(bc-fc);
        int b=fc+random.nextInt(bc-fc);
        return new Color(r,g,b);
        }
%>
<%
//設(shè)置頁面不緩存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

// 在內(nèi)存中創(chuàng)建圖象
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 獲取圖形上下文
Graphics g = image.getGraphics();

//生成隨機(jī)類
Random random = new Random();

// 設(shè)定背景色
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);

//設(shè)定字體
g.setFont(new Font("Times New Roman",Font.PLAIN,18));

//畫邊框
//g.setColor(new Color());
//g.drawRect(0,0,width-1,height-1);


// 隨機(jī)產(chǎn)生155條干擾線,使圖象中的認(rèn)證碼不易被其它程序探測到
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
 int x = random.nextInt(width);
 int y = random.nextInt(height);
        int xl = random.nextInt(12);
        int yl = random.nextInt(12);
 g.drawLine(x,y,x+xl,y+yl);
}

// 取隨機(jī)產(chǎn)生的認(rèn)證碼(4位數(shù)字)
String sRand="";
for (int i=0;i<4;i++){
    String rand=String.valueOf(random.nextInt(10));
    sRand+=rand;
    // 將認(rèn)證碼顯示到圖象中
    g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//調(diào)用函數(shù)出來的顏色相同,可能是因為種子太接近,所以只能直接生成
    g.drawString(rand,13*i+6,16);
}

// 將認(rèn)證碼存入SESSION
session.setAttribute("rand",sRand);


// 圖象生效
g.dispose();

// 輸出圖象到頁面
ImageIO.write(image, "JPEG", response.getOutputStream());


%>

---------------使用驗證碼圖片的文件---------a.jsp------------------------------------

<%@ page contentType="text/html;charset=gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>認(rèn)證碼輸入頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</head>
<body>
<form method=post action="check.jsp">
<table>
<tr>
<td align=left>系統(tǒng)產(chǎn)生的認(rèn)證碼:</td>
<td><img border=0 src="image.jsp"></td>
</tr>
<tr>
<td align=left>輸入上面的認(rèn)證碼:</td>
<td><input type=text name=rand maxlength=4 value=""></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="提交檢測"></td>
</tr>
</form>
</body>
</html>

-----------------驗證的頁面----------check.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>認(rèn)證碼驗證頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</head>

<body>
<%
 String rand = (String)session.getAttribute("rand");
 String input = request.getParameter("rand");
%>
系統(tǒng)產(chǎn)生的認(rèn)證碼為: <%= rand %><br>
您輸入的認(rèn)證碼為: <%= input %><br>
<br>
<%
  if (rand.equals(input)) {
%>
<font color=green>輸入相同,認(rèn)證成功!</font>
<%
  } else {
%>
<font color=red>輸入不同,認(rèn)證失敗!</font>
<%
  }
%>
</body>
</html>

 



EA_Games 2005-10-21 22:20 發(fā)表評論
]]>
JbuildX的中文顯示.txthttp://www.aygfsteel.com/eagames/archive/2005/10/21/16353.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:19:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16353.htmlhttp://www.aygfsteel.com/eagames/comments/16353.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16353.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16353.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16353.html# applications
vmparam -Xms32m
vmparam -Xmx256m
后添加一行
vmparam -Dprimetime.editor.useVariableWidthFont=true
保存后,刪除Documents and Settings\Administrator目錄下的 .primetimeX .jbuilderX(就是將jbuilder生成的文件全部刪了)
啟動Jbuilder看看結(jié)果吧。

EA_Games 2005-10-21 22:19 發(fā)表評論
]]>
Jbuilder9+Weblogic8.1安裝配置http://www.aygfsteel.com/eagames/archive/2005/10/21/16351.htmlEA_GamesEA_GamesFri, 21 Oct 2005 14:18:00 GMThttp://www.aygfsteel.com/eagames/archive/2005/10/21/16351.htmlhttp://www.aygfsteel.com/eagames/comments/16351.htmlhttp://www.aygfsteel.com/eagames/archive/2005/10/21/16351.html#Feedback0http://www.aygfsteel.com/eagames/comments/commentRss/16351.htmlhttp://www.aygfsteel.com/eagames/services/trackbacks/16351.htmlJbuilder9+Weblogic8.1安裝配置

--------------------------------------------------------------------------------

 Ⅲ. Jbuilder9的安裝與配置

Jbuilder9的安裝挺方便的,運行ent_trial_install.exe, InstallAnywhere 會解壓安裝,你要做的就是next & install。

  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"項,這時右邊所有本來是灰色的項都變得黑色的可使用狀態(tài)。首先,在"General"子頁中將Home directory:設(shè)為d:/bea/weblogic81/server(注:這里的d:/bea填的應(yīng)該是你自己的bea安裝目錄),"Working directory:"設(shè)為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:"。


圖七

  接下來到"Custom"子頁,"BEA home directory:"設(shè)為d:/ bea ;" JDK installation directory:"設(shè)為d:/bea/jdk141_02 ,"Domain directory:"設(shè)為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"。


圖八

  接下來在菜單欄點擊"Project/Default Project Properties..."à彈出"Default Project Properties"窗口,在"Server" 子頁中選中"Single server for all services in project",然后在其下面的下拉框中選擇"Weblogic Application Server 8.x",點擊"OK"確定。


圖九


Ⅳ. 在Weblogic 8.1中配置JDBC

  JDBC的連接有兩種,一種是直接連接,另一種是池連接。這里介紹的是通過配置連接池(Connection Pool)和數(shù)據(jù)源(DataSource)來實現(xiàn)池連接。

  首先,點擊"開始/程序/BEA WebLogic Platform 8.1/User Projects/mydomain/Start Server",啟動WebLogic server8.1, 接著在IE的地址欄輸入http://localhost:7001/console,回車,出現(xiàn)Weblogic Server登錄頁面,輸入Username:和Password,點擊Sign In登錄。

  點擊"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中設(shè)置:

Name:oraclePool
Database Name:test(在安裝Oracle時建立的全局?jǐn)?shù)據(jù)庫名)
Host Name:localhost
Port:1521
Database User Name:test(在安裝Oracle時建立的用戶名)
Password:test(在安裝Oracle時建立的用戶密碼)
Confire Password:test(重復(fù)密碼)

?

  點擊Continue繼續(xù),進(jìn)入Test database connection頁面,點擊Test Driver Configuration,進(jìn)入Create an deploy頁面,如果你看到的是綠色Connection successful字樣,說明配置成功,點擊Create an deploy建立oraclePool連接池。

?

?

  接下來我們配置數(shù)據(jù)源testTxDataSource,單擊控制臺左側(cè)域樹的JDBC/ Data Source節(jié)點,然后單擊右側(cè)的Configure a new JDBC Tx Data Source,進(jìn)入Configure the data source選項卡。

?

Name: testDataSource
JNDI Name: jdbc/testDataSource

  點擊Continue進(jìn)入下一頁面填寫

Pool Name: oraclePool

?


  單擊Create創(chuàng)建。

?

  至此,Oracle 在WebLogic中的JDBC設(shè)置就完成了,重新啟動WebLogic,如果沒有報錯就說明配置成功。



EA_Games 2005-10-21 22:18 發(fā)表評論
]]>
主站蜘蛛池模板: 西峡县| 太湖县| 措勤县| 彭州市| 志丹县| 大埔区| 乐昌市| 桦川县| 都匀市| 齐河县| 比如县| 池州市| 仙居县| 兴安县| 麟游县| 遵义市| 临夏县| 乌审旗| 友谊县| 双鸭山市| 如东县| 五大连池市| 关岭| 旺苍县| 榆树市| 杂多县| 景泰县| 安多县| 岳阳县| 扬州市| 鞍山市| 库尔勒市| 曲水县| 平阳县| 湘阴县| 泸西县| 密云县| 都昌县| 江口县| 红原县| 昌吉市|