熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

用jbuilder7+jboss3+vss開發EJB

2013-11-23 20:51:59  來源: Java開源技術 
前言
  在n年前java只是一種編程語言的理解但現在的java非常強大其含義也發生變化我們可以理解為海陸空總集合的部隊其下屬分支很多如jspservletjavabeanappletejbjmsjse(無線通訊用)javaDjavaD……
  此處我們著重介紹java的web應用和開發即jspservletjavabeanappletejb等其中applet是比較特殊的它需要jre(java運行環境)的支持並且對jre版本有要求即applet是用jdk開發的那麼jre也得版本的
  java的web開發需要視情況而定如果只是編譯jspservletjavabeanapplet等只需要安裝jdk(java開發工具包)如果加上ejb就得jdk+jeejdkjee的安裝程序到http://javasuncom下載本例的jdk安裝在C:\jsdkjee安裝在c:\jee讀者可根據安裝的目錄自定安裝後配置的環境變量如下
  CLASSPATH=;C:\jsdk\lib\toolsjar;C:\jee\lib\jeejar;
  JEE_HOME=c:\jee
  java_HOME=C:\jsdk
  Path=C:\jsdk\lib\toolsjar;C:\jsdk\lib\dtjar;C:\jsdk\bin;C:\jsdk\jre\bin;
  如果Path變量有其他的值請在後面續接此處的值
  在windowsXXX中開始->設置->控制面板->系統->高級->環境變量->系統變量中設置上述的值在windowX中上述的變量寫在autoexecbat文件中格式是變量=值(回車)
  測試jdk是否可用的方法是在c盤下新建一個Testjava文件寫入以下代碼
  import javautilDate;
  public class Test
  {
  //構造函數
  public Test(){}
  //顯示當前時間的方法
  public String getDate()
  {
  Date date=new Date();
  return datetoString();
  }
  }
  在dos狀態下鍵入C:\>javac /Testjava編譯通過後同目錄下新增Testclass說明jdk成功安裝測試jee在dos狀態下鍵入C:\jee\bin>jee verbose如果啟動的過程中沒有錯誤不要關閉窗口在IE浏覽器中訪問HTTP://localhost:看到默認的jee主頁由此可看出jee除了自帶工具包外還可以充當web服務器的角色
jbuilderjbossms sql配置
  開發ejb應用系統較好的開發發布的工具組合是websphere+visualAge兩者都是ibm出品協同工作性非常好包括建模版本控制ejb開發web發布等一體化讓程序員從底層的ejb開發中解放出來但該組合的價格大概是十萬人民幣不是每個客戶都可以承受的所以我們推薦另一個組合jbuilder+jboss數據庫選擇微軟的sql server(簡稱sql部分介紹參考了劉曉巍(liuxiaowei@sinacom)的文章並加入作者的見解
  jboss每一個版本的差別很大它不象傳統的軟件兼容性好此例jboss的版本是jboss_tomcat下載地址http://prdownloadssourceforgenet/jboss/jboss_tomcatzip?download
  數據庫sql和jboss一起協同工作有兩種方式一種是odbcjdbc一種是jdbc許多web服務器自帶odbcjdbc驅動無需下載在控制面板->管理工具->數據源(odbc)中設置數據源即可使用但如果要開發ejb要使用jdbc驅動很多公司提供ms sql的jdbc驅動(屬第四種類型驅動即純java驅動)作者建議大家到微軟的官方站點下載http://wwwmicrosoftcom/downloads/detailsaspx?FamilyID=ddbbafbbee&DisplayLang=en下載後安裝默認安裝路徑是C:\Program Files\Microsoft SQL Server Driver for JDBCjdbc的驅動包在lib中分別是msbasejarmssqlserverjarmsutiljar
jboss和jbuilder協同工作需要下載並安裝JBossOpenTool For JBuilder 下載地址http://weisoftmyricecom/download/JBuilder_JBossOTjar將下載的JbossOpenTooljar拷貝至Jbuilder的lib\ext目錄下重啟動JBuilder
  准備工作完成後我們開始配置工作
在jboss中配置sql的JDBC驅動
  將msbasejar msutiljar mssqlserverjar三個文件拷貝至Jboss的Server\default\lib目錄下將Jboss的docs\examples\jca目錄下的mssqlservicexml mssqlxaservicexml文件拷貝至Jboss的server\default\deploy目錄下修改mssqlservicexml/*…*/中是說明文件千萬不要拷貝到該xml文件中
<configproperty name=ConnectionURL type=javalangString>
jdbc:microsoft:sqlserver://localhost:;DatabaseName=Northwind
</configproperty>
/*sql默認端口是如果sql和jboss分裝不同機器則localhost要改成數據庫的ip地址數據庫選擇sql自帶的Northwind數據庫你可以改成別的數據庫*/
<configproperty name=UserName type=javalangString>sa</configproperty>
/*數據庫的用戶名*/
<configproperty name=Password type=javalangString>csdn</configproperty>
/*與數據庫用戶名對應的密碼*/
修改mssqlxaservicexmlServerNameDatabaseName要和上個文件的一樣
<configproperty name=XADataSourceProperties type=javalangString>
ServerName=localhost;DatabaseName=Northwind;SelectMethod=cursor
</configproperty>
運行jboss
  運行jboss安裝目錄\bin\runbat打開IE在地址欄輸入 http://localhost:出現一些錯誤信息大意是沒有web應用程序等讀者可以先在jboss安裝目錄\server\default\deploy中新建一個簡單的web應用程序或者等待後面用jbuilder中發布一個web應用如果需要新建步驟如下
jboss安裝目錄\server\default\deploy中新建文件夾db_testwar在db_testwar中新建indexjsp內容如下
<%@page contentType=text/html%>
<%@ page import=javasql* javaxsqlDataSource javaxnamingInitialContext %>
<h>Test sql Database</h>
<%
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctxlookup(java:/MSSQLDS);
Connection conn = dsgetConnection();
Statement stmt = conncreateStatement();
ResultSet rs = stmtexecuteQuery(SELECT * FROM Employees); while ( rsnext() ) {
outprintln( rsgetInt(EmployeeID) + <br>);
}
connclose();
%>
在db_testwar中新建文件夾WEBINF其中有兩個文件jbosswebxml和webxml
jbosswebxml內容是
<jbossweb>
</jbossweb>
webxml內容是
<?xml version=?>
<!DOCTYPE webapp PUBLIC
//Sun Microsystems Inc//DTD Web Application //EN
http://javasuncom/dtd/webapp__dtd>
<webapp></webapp>
訪問http://localhost:/db_test成功後表示和數據庫正常連接了
配置JBuilder
  ()啟動jbuilderTools>Enterprise Setup單擊Database Drivers頁上的Add 在彈出的對話框中單擊New 在彈出的對話框中填寫Name為MS SQL Server JDBC Location選擇User Home單擊Add按鈕選擇msbasejar msutiljar mssqlserverjar單擊OK關閉當前對話框可以看到MS SQL Server JDBC已被加入單擊OK關閉當前對話框再次單擊OK配置完成
  ()重起JBuilder Tools>Configure Servers選中左側的JBoss X選中右邊的Enable Server填寫
General頁Home Directiry = F:\jboss_tomcat // <——JBoss的安裝目錄
Main Class = orgjbossMain
VM Parameters =msm mxm Dprogramname=runbat
Server Parameters = c default
Working Directory = F:\jboss_tomcat\bin
Custom頁JBoss Installation Directory = F:\jboss_tomcat // <——JBoss的安裝目錄
Tomcat X JBuilder Installation Directory = F:\JBuilder\jakartatomcat //<——Tomcat的安裝目錄
JBoss Configuration to Use = default
單擊OK
  ()Tools—>Configure Libraries 在彈出的對話框中單擊New按鈕在Name欄中填寫JBoss Libs單擊Add按鈕加入JBoss目錄下\Server\default\lib目錄下的javaxservletjar和jbossjeejar文件單擊OK
  ()Tools—>Database Pilot新打開的Database Pilot窗口是察看數據庫的相當於數據庫服務器的客戶端選擇File—>New…
Driver=commicrosoftjdbcsqlserverSQLServerDriver
URL=jdbc:microsoft:sqlserver://localhost:;DatabaseName= Northwind
單擊OK在左邊窗口出現我們新建的數據庫連接雙擊輸入用戶名密碼就可以浏覽數據庫Northwind中的數據表注意此處URL的寫法要剛剛配置的jboss的xml文件一樣
  如果讀者沒法連上數據庫可以把sql的jdbc驅動msbasejarmssqlserverjarmsutiljar拷貝到jbuilder安裝目錄\lib
在jbuilder中開發ejb
  一新建一個Project選擇File->New Project在Name欄填寫JBossDemo在Directory欄輸入保存路徑其它不變單擊Finsih選擇Project->Project properties在Path頁的Required Libraries中單擊Add按鈕在彈出的對話框中選擇我們剛才建立的JBoss Libs單擊OK選擇Server頁選中Single Server For All Service in Project在下拉列表中選擇JBoss X單擊OK
  二新建一個EJB Module選擇File>New在彈出的對話框中選擇Enterprise頁中的EJB Module圖標單擊OK在彈出的對話框中Name欄填寫JBossDemoModule其它不變單擊OK
  三新建兩個CMP右鍵單擊左下角的DataSource選擇Import Schema From Database在彈出的對話框Database Schema Provider中選擇Choose Existing Connection在彈出的Select Database中選擇我們剛建立的jdbc:microsoft:sqlserver…單擊okDatabase Schema Provider按如下信息填寫其他不變
UserNamesa
Passwordcsdn
JNDI Namejava:/MSSQLDS
Extended propertiesDatabaseName=Northwind
勾選All Schemas和Views項
單擊OK成功的話在DataSource下面將出現一個java:/MSSQLDS項單擊其左側的+號將其展開將會看到表名右鍵單擊Employees表選擇CMP Entity Bean 同樣右鍵單擊Orders表選擇CMP Entity Bean
  四建立表關聯的關系右鍵單擊右側的代表Employees表的矩形選擇Add->Relationship後單擊指向代表Oderss表的矩形後將會看到一條線把兩個矩形連接起來了同時Employees表多了一個orders字段單擊右下角的JBossCMPJDBC頁按如下填寫其它不變
datasource = MSSQLDS
datasourcemapping = Hypersonic SQL
選擇File->Save All保存項目選擇Project->Make Project JbossDemojpx編譯項目
  五建立Session Bean在右邊的空白處單擊右鍵選擇Create EJB-> Session Bean 將Bean Name改為GetData右鍵單擊代表這個Session Bean的矩形選擇Add->Method按如下填寫
Method Name = GetOrdersByEmployeesID
Return Type = Vector
Input Parameters = Integer ID
Interface = Remote
  六編寫代碼右鍵單擊代表GetData的矩形選擇 View Bean Source在開始處加入以下語句:
import javautil*;
import javaxnaming*;
按如下填寫GetOrdersByEmployeesID
public Vector GetOrdersByEmployeesID(Integer ID)
{
Vector result = new Vector();
resultadd(ID);
try
{
Context ctx = new InitialContext();
EmployeesHome home = (EmployeesHome)ctxlookup(Employees);
Employees emp = homefindByPrimaryKey(ID);
Collection orders = empgetOrders();
Iterator it = ordersiterator();
while(ithasNext())
{
Orders order = (Orders)itnext();
resultadd(ordergetOrderID());
}
}
catch (Exception ex)
{
Systemoutprintln(ShowOrdersByEmployeesID() error : + exgetMessage());
}
return result;
}
  七建立Servlet選擇File>New在彈出的對話框中選擇Web頁中的Servlet圖標單擊OK在彈出的對話框中Class Name欄填寫FormServlet其它不變單擊Next選中doGet()項單擊Next此處的Name和URL pattern是有講究的它說明該servlet的web位置和web顯示名稱其它不變單擊Finish
按如下填寫FormServletjava的doGet()函數
public void doGet(HttpServletRequest request HttpServletResponse response) throws ServletException IOException
{
responsesetContentType(CONTENT_TYPE);
PrintWriter out = responsegetWriter();
outprintln(<h>Enter the Employees ID</h>);
outprintln(<strong>Enter Employees ID in the input fields below</strong>);
outprintln(<br><br>);
outprintln(<form action=showordersservlet method=POST>);
outprintln(Name<br>);
outprintln(<input type=text name=EmployeeID value=\\ size= maxlength=>);
outprintln(<br><br><br><br>);
outprint(<input type=submit value=Submit>);
outprintln(</form>);
}
再次選擇File>New在彈出的對話框中選擇Web頁中的Servlet圖標單擊OK在彈出的對話框中Class Name欄填寫ShowOrdersServlet其它不變單擊Next選中doPost()項其它不變單擊Next單擊Next單擊Add Parameter按如下填寫
Name = EmployeeID
Type = String
Desc = employees ID
Variable = employeeID
Default =
單擊Next單擊Finish
按如下填寫ShowOrdersServletjava的doPost()函數別忘了在開始處加入以下語句:
import javautil*;
import javaxnaming*;
public void doPost(HttpServletRequest request HttpServletResponse response) throws ServletException IOException
{
String employeesID = requestgetParameter(EmployeeID);
if (employeesID == null)
{
employeesID = ;
}
responsesetContentType(CONTENT_TYPE);
PrintWriter out = responsegetWriter();
Vector orders = new Vector();
try
{
Context ctx = new InitialContext();
GetDataHome home = (GetDataHome)ctxlookup(GetData);
GetData getData = homecreate();
orders = getDataGetOrdersByEmployeesID(new Integer(employeesID));
}
catch (Exception ex)
{
Systemoutprintln(GetOrdersServlet doPost() error :+exgetMessage());
}
Iterator it = ordersiterator();
outprintln(<html>);
outprintln(<head><title>ShowOrdersServlet</title></head>);
outprintln(<body>);
outprintln(<p>Orders with EmployeesID + employeesID+ </p>);
while(ithasNext())
{
outprintln(<p>OrderID = + itnext()toString()+</p>);
}
outprintln(<h>Order Count = + orderssize()+</h>);
outprintln(</body></html>);
}
  八建立EAR文件右鍵單擊左側目錄樹中的的<Default WebApp>選擇Properties將WebApp頁的Name填寫為JBossDemo將Dependencies頁中的所有項設置成Exclude All單擊OK選擇File>New在彈出的對話框中選擇Enterprise頁中的EAR圖標單擊OK第一頁不變單擊Next選中JBossDemoModule單擊Next單擊Next單擊Next選中JBossDemo單擊Finish選擇File->Save All保存項目選擇Project->Rebuild Project JBossDemojpx編譯項目
  九發布整個應用程序右鍵單擊左側目錄樹中的的JBossDemoeargrp選擇Deploy Options for JBossDemoear —>Deploy發布應用程序
  十測試應用程序打開IE在地址欄輸入 http://localhost:/JBossDemo/formservlet回車在編輯框中輸入單擊submit即可
在jbuilder中使用vss進行團隊開發
  部分參考網上CNJAVA論壇>CASE工具>VSS與Jbuilder/進行代碼控制的說明書
vss安裝
  如果你的電腦裝有vss但版本的不是vss那你可以卸裝(服務器版本)或者清理注冊表記錄(客戶端版本)開始>運行>regeditexe清除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe 中的所有記錄vss是微軟Visual Studio 中的一員你可以從中安裝作者安裝的是vss獨立版運行vss_ss/setupexe安裝成功後重啟電腦
vss服務器端設置
  運行開始>程序>Microsoft Visual Studio > Microsoft Visual SourceSafe> Visual SourceSafe Admin用戶名Admin密碼默認為空Visual SourceSafe AdministratorUsers>Change Password修改管理員密碼單擊okvss默認的數據庫名是VSS我們創建新的數據庫Tools>Create Database…選擇該數據庫放置的位置例如D:\VSSDB勾選New database…單擊okUsers>Open SourceSafe Database雙擊vssdb此時我們操作的是vssdb數據庫修改管理員密碼並增加該數據庫的使用用戶例如Users>Add User…User namecjwPassword單擊ok
  選擇tools>Options在彈出窗口選擇 Project Security 標簽選擇 enable project security 復選框單擊ok選擇tools>Rights by Project在彈出窗口設置用戶的權限設置完成之後單擊close
在vss數據庫中新建項目
  運行開始>程序>Microsoft Visual Studio > Microsoft Visual SourceSafe> Microsoft Visual SourceSafe 選擇File>Open SourceSafe Database…雙擊我們剛建立的數據庫vss允許以任何的層次結構存儲組織項目在一個數據庫中可以創建多個項目選擇File>Create Project…創建一個項目例如daxt
jbuilder中設置vss
  打開Jbuilder打開我們建立的JbossDemo工程選擇Team>Select Project VCS選擇Visual SourceSafe單擊ok選擇Team>Place Project into VSS在彈出窗口中填寫vss安裝目錄/win單擊next填寫剛建立數據源的目錄路徑單擊next填寫admin的用戶名和密碼單擊next選擇想置入vss中的目錄或文件單擊nextnext填寫數據源的位置(一般情況下不填也可以)單擊finish等待jbuilder把項目加入vss中根據對話框的內容知道操作是否成功
項目開發人員獲得VSS上的項目工程
  vss服務器安裝後項目開發人員運行vss服務器中vss安裝目錄/NETSETUPEXE根據提示安裝或者把vss服務器中vss安裝目錄\win\SSEXPEXE的快捷方式放到本機直接運行即可
  以下部分作者沒有非常詳細測試過請讀者見諒若有問題請發emailpeiwen_lin@net
  訪問服務器共享出來的VSS數據源目錄和jbuilder工程把它們映射到自己的電腦上運行Jbuilder打開Demo工程選擇Team>Select Project VCS選擇Visual SourceSafe單擊ok選擇Team>Pull Project from VSS選擇映射的服務器上的VSS數據源目錄單擊next填寫自己的用戶名稱和密碼單擊next選擇數據源內合適的項目工程單擊next選擇一個空目錄作為新項目的存放地點單擊finish 根據對話框的內容知道操作是否成功工程check in後選擇Team>Configure Visual SourceSaft在彈出式窗口中可以重新設定vss的參數
在jbuilder中如何使用vss
  在jbuilder中打開JBossDemo工程通過VSS進行代碼控制需要經常得到最新的項目代碼文檔選擇Team>Commit Browser在彈出窗口中可以得到最新代碼版本與本地版本之間的變更列表單擊Commit使本地的版本得到更新(注可選擇變更記錄的action項選擇對此變更的操作)
  修改文件前要把文件check out出來在jbuilder左邊工程窗口中右擊需要修改的文件選擇 Visual SourceSafe>Check out 文件修改完成後用同樣的方法把文件check in 進去別人才能訪問修改此文件
  添加文件開發人員在工程內添加了文件之後需要把它加入到 VSS右擊需要增加的文件選擇 Visual SourceSafe>Add…   刪除文件把需要刪除的文件chechout 出來右擊文件選擇Delete 進行此操作時可能出現VSS操作停頓的現象解決方法)激活Windows的任務管理窗口把進程 ssexe 干掉)通過 VSS 的 Explorer 窗口把沒有清除的文件刪掉
結束語
  作者剛剛涉足EJB不免學識單薄此篇文章若有誤漏請讀者們多多包涵寫這篇文章的目的有兩個)配置過程遇到很多問題所以要把正確的過程寫出來避免別人象我一樣浪費時間)調配服務器過程中我從網上獲得很多有用的信息所以我要反饋信息與別人共享信息資源 

From:http://tw.wingwit.com/Article/program/Java/ky/201311/29213.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.