六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

使用JDBC RowSet讓EJB返回?cái)?shù)據(jù)集(手記)

[摘要]利用JDBC RowSet讓EJB返回?cái)?shù)據(jù)集(手記)**************************************************************************前言: 前幾日在Weblogic6.1上試驗(yàn)使用數(shù)據(jù)集OK(EJB和客戶端都在Weblogic上)...
利用JDBC RowSet讓EJB返回?cái)?shù)據(jù)集(手記)

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

 前幾日在Weblogic6.1上試驗(yàn)使用數(shù)據(jù)集OK(EJB和客戶端都在Weblogic上),后來將
客戶端部署到另外一臺(tái)服務(wù)器上(運(yùn)行Resin),想由Resin上的JSP客戶端調(diào)用來獲得
Weblogic上的EJB返回的數(shù)據(jù)集,發(fā)現(xiàn)行不通.
 經(jīng)過日夜搜索,終于發(fā)現(xiàn)一偏關(guān)于JDBC RowSet的文章(JDBC 2.0 Optional Package API),
正是我想要的.
 馬上行動(dòng)!

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

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

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"); //數(shù)據(jù)源
}
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.發(fā)布CoffeesEJB到你的EJB Server上.
ok!EJB在EJB Server上的部署完成!下面是客戶端的部署.

5.同樣將rowset.jar放到你的客戶端服務(wù)器的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服務(wù)器的地址和端口

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 = "錯(cuò)誤:EJB服務(wù)器找不到!無法使用遠(yuǎn)程方法.<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 [email protected]<hr>");
%>

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

7.運(yùn)行客戶CoffeesClient.jsp

如果報(bào)錯(cuò)肯定是你的CLASSPATH問題,仔細(xì)看看一定成功!



全文完

=======================================================
火火火 于2002/3/8虎門 [email protected]
=======================================================




主站蜘蛛池模板: 日本欧美一区二区三区在线观看 | 日本网络视频www色高清免费 | 人人揉揉香蕉大免费不卡 | 青青草原播放器 | 青青热久免费精品视频网站 | 亚欧三级| 性生活视频欧美 | 午夜影视免费完整高清在线观看网站 | 婷婷丁香激情 | 欧美一级一一特黄 | 在线视频欧美精品 | 亚洲第一天堂无码专区 | 伊人久久婷婷丁香六月综合基地 | 日一日射一射 | 一级做a爱片久久毛片 | 全部毛片免费看 | 青草悠悠视频在线观看 | 人人狠| 日本亚欧乱色视频在线网站 | 亚洲最大成人 | 天堂8中文在线最新版在线 天堂8中文在线bt | 中日韩一线二线三线视频 | 天天干夜夜看 | 中国一级做a爰片久久毛片 中国性欧美 | 欧美特黄一级大片 | 日本欧美高清全视频 | 天天弄天天操 | 香蕉草莓榴莲向日葵 | 日本wwwxxx| 日本三级韩国三级香港三级网站 | 中文字幕第66页永久乱码 | 色域综合| 四虎精品影院在线观看视频 | 五月激情婷婷丁香 | 日本99视频 | 日日噜噜夜夜狠狠扒开双腿 | 午夜老司机免费视频 | 天天曰天天干 | 亚洲欧美日韩精品久久亚洲区 | 日日a.v拍夜夜添久久免费 | 日本优女 |