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

明輝手游網(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上),后來(lái)將
客戶端部署到另外一臺(tái)服務(wù)器上(運(yùn)行Resin),想由Resin上的JSP客戶端調(diào)用來(lái)獲得
Weblogic上的EJB返回的數(shù)據(jù)集,發(fā)現(xiàn)行不通.
 經(jīng)過(guò)日夜搜索,終于發(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" %>
<% // 來(lái)自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ù)器找不到!無(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問(wèn)題,仔細(xì)看看一定成功!



全文完

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




主站蜘蛛池模板: 亚洲天堂免费在线视频 | 日本在线免费看片 | 婷婷综合五月中文字幕欧美 | 日本无人区码卡1 | 深夜国产一区二区三区在线看 | 综合色综合| 亚洲视频免费在线观看 | 中文字幕在线免费观看 | 日韩a| 日本高清视频在线www色下载 | 啪啪网视频 | 欧美亚洲欧美日韩中文二区 | 五月开心六月伊人色婷婷 | 桃色app福利 | 午夜视频www | 伊人国产在线视频 | 香蕉成人福利片视频在线下载 | 亚洲欧美日韩一区高清中文字幕 | 日日噜噜噜夜夜爽爽狠狠69 | 色综合久久天天综合绕观看 | 午夜免费视频观看在线播放 | 日本一区二区视频在线 | 中文字幕免费观看视频 | 欧美一级久久 | 日韩欧美视频一区二区 | 午夜视频在线免费观看 | 下载一级毛片 | 日本大学生免费一级一片 | 色色就色色 | 涩涩涩涩涩 | 亚洲欧美一 | 日本wwwxxxxx| 欧美中文字幕在线看 | 亚洲网站免费看 | 日韩中文网 | 欧美亚洲激情在线 | 她也啪在线视频 | 欧美艳星nikki办公室 | 日本视频不卡 | 欧美午夜一区 | 欧美综合精品 |