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

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

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

[摘要]利用JDBC RowSet讓EJB返回數據集(手記)**************************************************************************前言: 前幾日在Weblogic6.1上試驗使用數據集OK(EJB和客戶端都在Weblogic上)...
利用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 [email protected]<hr>");
%>

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

7.運行客戶CoffeesClient.jsp

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



全文完

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




主站蜘蛛池模板: 欧美特级淫片 | 在线亚洲精品 | 日本视频在线免费观看 | 伊人热人久久中文字幕 | 亚洲福利| 亚洲精品国产福利 | 一级做a爰性色毛片免费 | 香蕉狠狠再啪线视频 | 欧美视频色 | 日本久久99 | 日韩不卡手机视频在线观看 | 热久久久久久 | 青娱乐最新地址 | 夜夜伊人 | 香蕉欧美成人精品a∨在线观看 | 色综合久久综合网观看 | 青青草视频在线观看 | 亚洲网址在线 | 婷婷六月久久综合丁香乐透 | 欧日韩在线不卡视频 | 在线视频一区二区三区在线播放 | 人人公开免费超级碰碰碰视频 | 日本a在线观看 | 日韩欧美一级 | 又粗又硬又爽的三级视频在线观看 | 日韩电源| 日韩色网站 | 在线观看欧美日韩 | 日本欧美一区二区三区在线观看 | 性欧美暴力猛交69hd | 青青国产精品视频 | 速度与激情9免费完整版高清 | 添人人躁日日躁夜夜躁夜夜揉 | 天天影视色香欲综合网天天录日日录 | 欧美一区二区精品系列在线观看 | 一本久道久久综合多人 | 欧美亚洲一区二区三区四 | 日日奸| 视频一区二区三区在线观看 | 中文字幕在线免费观看视频 | 人人免费人人专区 |