盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

用Java完成可保存状态的数据库生成XML树(4)

时间:2024/10/10作者:未知来源:盾怪网教程人气:

[摘要](cookies.length == 0))out.println("No Clicked Node");/**cookie不为空且子cookie的个数不为零,遍历cookie*...
(cookies.length == 0)){
out.println("No Clicked Node");
}
/**cookie不为空且子cookie的个数不为零,遍历cookie*/
else {
for(int i = 0;i < cookies.length; i++){
javax.servlet.http.Cookie c =cookies[i];
/**当遍历的子cookie的名称为ClickId时书写XSL*/
if ( c.getName().equals("ClickId")){
/**t_click_id的值为点击对象的id*/



4.6.Servlet调用的Session Bean的构造
XML树是从数据库中得到相应结果集而构造的,这个结果集如果不采用EJB的方式可以用ResultSet来完成,但是如果考虑采用EJB来做,那么就需要放弃使用ResultSet,因为它是不可序列化,不能直接为EJB所用,使用RowSet或者CachedRowSet这些可序列化的结果集对象来实现.
这里构造的SessionBean是有状态的,需要构造的有远程接口,home接口和bean类.
远程接口, ResultEdit.java
home接口, ResultEditHome.java
bean类, ResultEditBean.java
对如何实现bean类进行详细描述,

public class ResultEditBean implements SessionBean {
/**Session容器定义*/
private SessionContext sessionContext;
public int id;
public String name;
/**结果集定义,定义结果集类型为sun.jdbc.rowset.CachedRowSet*/
private CachedRowSet crset=null;
/**容器定义*/
private Context ctx = null;
/**数据源定义*/
private DataSource ds = null;
/**构造函数*/
public ResultEditBean() {
}
/**EJB创建,该方法是每个EJB定义都必须有,方法里面包含EJB的创建过程*/
public void ejbCreate() {
 try {
/**容器初始化*/
 ctx = new InitialContext();
/**从容器获得DataSource名称为imis的实例*/
ds = (DataSource)ctx.lookup("java:comp/env/imis");
 }
catch (Exception e) {
 System.out.println("ejbCreate failed:"+e.getMessage());
 e.printStackTrace();
}
 }

 /**以下几个ejb开头的方法是构造EJB时必须的,分别处理着相应的事件*/
 public void ejbRemove() throws RemoteException {
 }
 public void ejbActivate() throws RemoteException {
 }
 public void ejbPassivate() throws RemoteException {
 }
 public void setSessionContext(SessionContext sessionContext) throws RemoteException {
 this.sessionContext = sessionContext;
 }
/**getRowSet()返回私有成员crset,该方法在远程接口中有定义*/
 public RowSet getRowSet() throws SQLException {
return crset;
 }
/**setRowSet(String sqlExp)通过定义好的数据源连接数据库,并用查询语句获得结果集*/
 public RowSet setRowSet(String sqlExp) throws SQLException {
 Connection con = null;
 try {
 con = ds.getConnection();
 Statement stmt = con.createStatement();
 ResultSet rs =stmt.executeQuery(sqlExp);
 CachedRowSet t_crset = new CachedRowSet();
 t_crset.populate(rs);
 rs.close();
 stmt.close();
 crset = t_crset;
 return t_crset;
 }
 finally {
 if (con != null) con.close();
 }
 }
SessionBean在附录中有完整的代码和EJB发布的完整过程.
 

关键词:用Java完成可保存状态的数据库生成XML树(4)




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版