jsp使用mysql技术分页_JSP分页技术实现

你好,记得你在JavaResearchOrganization上发过的帖子:”JSP分页技术实现“吗?

我看过后觉得很不错,决定采用你的方法了。首先注明的是我是新手,希望一些很低级的问题和错误请你原谅。

我是用websphere 5.0开发的,数据库是oracle;

我在做一个日志管理,所以在EJB中建立了OperatorLog,OperatorLogHome,OperatorLogBean,并且把你提供的那四个类,放在了searchPage中。而oracle的rowset的ocrs12.zip文件已经包含在oracle的jdbc中了。

另外,你的import foo.DBUtil我无法找到,于是建立一个DBUtil.java,实现import DBUtil,不知道这和foo.DBUtil有没有区别。好了,我想一起准备工作已经完成了。

当然,我现在做的是后台的调用,也就是在EJB进行检测我的开发。但是遇到了在PagedStatement.java中,执行rs =pst.executeQuery()时,出现了:

[03-11-20 12:37:09:922 CST] 495b0a00 SystemOut     O executeQueryUsingPreparedStatement

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R java.sql.SQLException: ORA-00907: 缺少右括号

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R     at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R     at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R     at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R     at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R     at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R     at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)

[03-11-20 12:37:10:188 CST] 495b0a00 SystemErr     R     at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)

[03-11-20 12:37:10:203 CST] 495b0a00 SystemErr     R     at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)

[03-11-20 12:37:10:203 CST] 495b0a00 SystemErr     R     at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)

[03-11-20 12:37:10:203 CST] 495b0a00 SystemErr     R     at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java:498)

[03-11-20 12:37:10:203 CST] 495b0a00 SystemErr     R     at searchPage.PagedStatement.executeQuery(PagedStatement.java:215)

[03-11-20 12:37:10:203 CST] 495b0a00 SystemErr     R     at logmanager.ejb.OperatorLogBean.getOPERATOR_ID(OperatorLogBean.java:58)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at logmanager.ejb.EJSRemoteStatelessOperatorLog_67a0df88.getOPERATOR_ID(EJSRemoteStatelessOperatorLog_67a0df88.java:36)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at java.lang.reflect.Method.invoke(Native Method)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at com.ibm.rmi.corba.ServantObjectImpl$3.run(ServantObjectImpl.java:223)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at java.security.AccessController.doPrivileged(Native Method)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at com.ibm.rmi.corba.ServantObjectImpl.invoke(ServantObjectImpl.java:221)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at $Proxy1.getOPERATOR_ID(Unknown Source)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at logmanager.ejb._OperatorLog_Stub.getOPERATOR_ID(_OperatorLog_Stub.java:260)

[03-11-20 12:37:10:219 CST] 495b0a00 SystemErr     R     at java.lang.reflect.Method.invoke(Native Method)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at com.ibm.etools.utc.model.ReflectionMethodModel.invoke(ReflectionMethodModel.java:68)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at com.ibm.etools.utc.servlet.InvokeServlet.invoke(InvokeServlet.java:110)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at com.ibm.etools.utc.servlet.InvokeServlet.doPost(InvokeServlet.java:323)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)

[03-11-20 12:37:10:234 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:258)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:872)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:491)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:173)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:199)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:187)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:331)

[03-11-20 12:37:10:250 CST] 495b0a00 SystemErr     R     at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)

[03-11-20 12:37:10:266 CST] 495b0a00 SystemErr     R     at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:432)

[03-11-20 12:37:10:266 CST] 495b0a00 SystemErr     R     at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:343)

[03-11-20 12:37:10:266 CST] 495b0a00 SystemErr     R     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)

我不知道怎么解决,希望你能够告诉我,万分感谢!

另附:一些改动已标明(粗体):

EJB中的SESSIONBEAN-----------------OperatorLogBean.java

package logmanager.ejb;

import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.PreparedStatement;

import oracle.jdbc.rowset.OracleCachedRowSet;

import searchPage.*;

/**

* Bean implementation class for Enterprise Bean: OperatorLog

*/

public class OperatorLogBean implements javax.ejb.SessionBean {

private javax.ejb.SessionContext mySessionCtx;

/**

* getSessionContext

*/

public javax.ejb.SessionContext getSessionContext() {

return mySessionCtx;

}

/**

* setSessionContext

*/

public void setSessionContext(javax.ejb.SessionContext ctx) {

mySessionCtx = ctx;

}

/**

* ejbCreate

*/

public void ejbCreate() throws javax.ejb.CreateException {

}

/**

* ejbActivate

*/

public void ejbActivate() {

}

/**

* ejbPassivate

*/

public void ejbPassivate() {

}

/**

* ejbRemove

*/

public void ejbRemove() {

}

public RowSetPage getOPERATOR_ID(String OPERATOR_ID, int pageNo) throws Exception{

String sql="SELECT OPERATION_LOG.LOG_ID,OPERATION_LOG.LOG_TIME,OPERATION_LOG.LOG_CONTENT,OPERATOR.OPERATOR_ID,OPERATOR.OPERATOR_NAME,OPERATOR.PASSWORD,OPERATOR.OPERATOR_STATE,ORGANIZE.ORG_ID,ORGANIZE.ORG_NAME,ORGANIZE.ORG_TYPE,TERMINAL_INFO.IP,SYSTEM_MODULE.MODULE_ID,ROLE_INFO.ROLE_ID,ROLE_INFO.ROLE_NAME,ROLE_INFO.ROLE_TYPE,ROLE_INFO.ROLE_INHERIT,MODULE_FUNCTION.FUNCTION_ID,MODULE_FUNCTION.FUNCTION_NAME,MODULE_FUNCTION.FUNCTION_URL,SYSTEM_MODULE.MODULE_NAME,SYSTEM_MODULE.MODULE_DEPTH,SYSTEM_MODULE.ROOT_ID,SYSTEM_MODULE.PARENT_ID";

sql=sql+"FROM OPERATION_LOG,OPERATOR,ORGANIZE,TERMINAL_INFO,MODULE_FUNCTION,OPERATOR_ROLE,ROLE_INFO,ROLE_PERMISSION,SYSTEM_MODULE";

sql=sql+"WHERE ( OPERATOR.OPERATOR_ID = OPERATION_LOG.OPERATOR_ID ) and ( ORGANIZE.ORG_ID = OPERATOR.ORG_ID ) and ( TERMINAL_INFO.ORG_ID = ORGANIZE.ORG_ID ) and ( OPERATOR_ROLE.OPERATOR_ID = OPERATOR.OPERATOR_ID ) and ( ROLE_INFO.ROLE_ID = OPERATOR_ROLE.ROLE_ID ) and  ( ROLE_INFO.ORG_ID = ORGANIZE.ORG_ID ) and  ( ROLE_PERMISSION.ROLE_ID = ROLE_INFO.ROLE_ID ) and  ( ROLE_PERMISSION.FUNCTION_ID = MODULE_FUNCTION.FUNCTION_ID ) and  ( SYSTEM_MODULE.MODULE_ID = ROLE_PERMISSION.FUNCTION_MODULE ) and  ( SYSTEM_MODULE.MODULE_ID = MODULE_FUNCTION.FUNCTION_MODULE ) and  (  OPERATION_LOG.OPERATOR_ID = ?  ) ";

//使用Oracle数据库的分页查询实现,每页显示5条

PagedStatement pst =new PagedStatementOracleImpl(sql,pageNo, 5);

pst.setString(1, OPERATOR_ID);

return pst.executeQuery();

}

}

你编写的四个文件没有修改,只是对DBUtil.java中的jndi做了改变。

private static void initDataSource() throws Exception{

// Put connection properties in to a hashtable.

if (ctx == null) {

ctx = new InitialContext();

}

if (ds == null) {

ds = (javax.sql.DataSource) ctx.lookup("java:comp/env/jdbc/ejbPool");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值