人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

運用JDBC RowSet讓EJB返回數據集(手記)

運用JDBC RowSet讓EJB返回數據集(手記)

更新時間:2022-09-01 文章作者:未知 信息來源:網絡 閱讀次數:

利用JDBC RowSet讓EJB返回數據集(手記)

**************************************************************************
前言:

 前幾日在Weblogic6.1上試驗使用數據集OK(EJB和客戶端都在Weblogic上),后來將
客戶端部署到另外一臺服務器上(運行Resin),想由Resin上的JSP客戶端調用來獲得
Weblogic上的EJB返回的數據集,發現行不通.
 經過日夜搜索,終于發現一偏關于JDBC RowSet的文章(JDBC 2.0 Optional Package API),
正是我想要的.
 馬上行動!

**************************************************************************

注意:安以下步驟部署你必須熟悉Weblogic6.1的EJB部署,數據源部署.

1.到http://developer.java.sun.com/developer/earlyAccess/下載rowset.jar

//JDBC RowSet The three JDBC RowSet implementations in this release demonstrate some of the many possibilities for implementing the javax.sql.RowSet interface, which is part of the JDBC 2.0 Optional Package API. (June 30, 2000)


2.將rowset.jar放到你的CLASSPATH中.(我使用的是Weblogic6.1)

3.寫你的EJB,如下列:
************************************************************************
CoffeesEJB.java
************************************************************************
import java.sql.*;
import javax.sql.*;
import sun.jdbc.rowset.*;//倒入rowset.jar類
import javax.naming.*;
import javax.ejb.*;

public class CoffeesEJB implements SessionBean {

private SessionContext sc = null;
private Context ctx = null;
private DataSource ds = null;

public CoffeesEJB () {}

public void ejbCreate() throws CreateException {

try {
ctx = new InitialContext();
ds = (DataSource)ctx.lookup("bbb.OracleThintxds"); //數據源
}
catch (Exception e) {
System.out.println(e.getMessage());
throw new CreateException();
}
}

public RowSet getCoffees() throws SQLException {

Connection con = null;
ResultSet rs;
CachedRowSet crs;

try {
con = ds.getConnection("system", "command1"); //EJB Server的用戶和密碼,我用的是Weblogic6.1
Statement stmt = con.createStatement();
rs =stmt.executeQuery("select * from coffees");

crs = new CachedRowSet();
crs.populate(rs);
// the writer needs this because JDBC drivers
// don't provide this meta-data.
crs.setTableName("coffees");

rs.close();
stmt.close();
} finally {
if (con != null)
con.close();
}
return crs;
}


 
//
// Methods inherited from SessionBean
//

public void setSessionContext(SessionContext sc) {
this.sc = sc;
}

public void ejbRemove() {}
public void ejbPassivate() {}
public void ejbActivate() {}


}
************************************************************************

4.發布CoffeesEJB到你的EJB Server上.
ok!EJB在EJB Server上的部署完成!下面是客戶端的部署.

5.同樣將rowset.jar放到你的客戶端服務器的CLASSPATH中.(我使用的是Resin2.0)

6.寫你的客戶端jsp代碼,如下列:
************************************************************************
CoffeesClient.jsp
************************************************************************
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="sun.jdbc.rowset.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="weblogic.jndi.T3InitialContextFactory" %>
<% // 來自weblogic.jar%>
<%@ page import="java.io.*"%>
<%@ page import="javax.rmi.*"%>

<%@ page import="Coffees"%>
<%@ page import="CoffeesHome"%>
<%@ page contentType="text/html;charset=big5" %>


<%
Properties p = new Properties() ;
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://192.1.1.23:7001");//Weblogic服務器的地址和端口

String info="";
try{
Context initial = new InitialContext(p);

Object objref = initial.lookup("statelessSession.Coffees");

CoffeesHome home =(CoffeesHome)PortableRemoteObject.narrow(objref,CoffeesHome.class);
Coffees currencymyString = home.create();

CachedRowSet rset = (CachedRowSet)currencymyString.getCoffees();


String coffeeName="";
while (rset.next()) {

 coffeeName = rset.getString("COF_NAME");
 out.println(coffeeName + "<BR><HR size=1>" );
}

out.println("<br>********************<br>");

currencymyString.remove();

}catch(javax.naming.NamingException ne){
 info = "錯誤:EJB服務器找不到!無法使用遠程方法.<br>" + ne.toString();
}catch(java.rmi.RemoteException re){
 info = re.toString();
}catch(javax.ejb.CreateException ce){
 info = ce.toString();
}catch(javax.ejb.RemoveException re){
 info = re.toString();
}
 

out.println("<hr>"+info+"<hr>");
out.println("<hr>Test By Jun_bai@sohu.com<hr>");
%>

************************************************************************

7.運行客戶CoffeesClient.jsp

如果報錯肯定是你的CLASSPATH問題,仔細看看一定成功!



全文完

=======================================================
火火火 于2002/3/8虎門 jun_bai@sohu.com
=======================================================

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 巴塘县| 宜州市| 南涧| 盘锦市| 宁南县| 西峡县| 雅安市| 威远县| 监利县| 宁化县| 正镶白旗| 班玛县| 安阳县| 聊城市| 兴和县| 汉中市| 高淳县| 彭山县| 特克斯县| 公安县| 镇康县| 云霄县| 华蓥市| 碌曲县| 汉沽区| 偃师市| 开平市| 疏附县| 蛟河市| 靖安县| 新野县| 涡阳县| 讷河市| 永吉县| 历史| 济源市| 潢川县| 沙田区| 开远市| 武义县| 和平区|