(头疼很久了)wsad 4.0.2中,连接db2,设了连接池后,用jsp测试~~~~~~~~

zh_baiyu 2003-02-12 04:55:25
wsad中配置了连接池,我看了很多资料,都是这么配置的!!!

但是,我每次用jsp测试时总是出错。。。
是不是 jsp 在 wsad 中不能试用连接池的阿。。
如果可以用,该怎么写呢!!

希望有实例的朋友,告诉我一下,,
非常感激~~
...全文
105 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ellaChi 2003-02-19
  • 打赏
  • 举报
回复
一个标准的代码段
public Connection getConnection() throws Exception {
Connection conn = null;
try {
javax.naming.Context ctx = new javax.naming.InitialContext();
javax.sql.DataSource ds =
(javax.sql.DataSource) ctx.lookup("jdbc/DGPortalDataSource");
conn = ds.getConnection();
} catch (Exception ex) {
throw ex;
}
return conn;
}
ellaChi 2003-02-19
  • 打赏
  • 举报
回复
到db2 的java12目录下找到最新的db2java.zip,覆盖你wsad里建DS时指定的那个文件。
在jsp中是有问题的,但我想你没有必要硬做啊,把代码放到javaBean中就好了。<jsp:useBean ...... /> 而且在jsp中直接写你说的代码也不太符合编程规范。

上边InitialContext ct = new InitialContext( Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");

InitialContext ct = new InitialContext();
这两种方式是有关分布式的问题,和问题的根本应该没有关系吧!!
zh_baiyu 2003-02-13
  • 打赏
  • 举报
回复
例外データは以下のとおりです。
javax.naming.NamingException: ClassNotFoundException: COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
at com.ibm.websphere.advanced.cm.factory.DataSourceFactory$ResourceReferenceObjectFactory.getObjectInstance(DataSourceFactory.java:705)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:308)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:737)
at com.ibm.ejs.ns.jndi.CNContextImpl.processResolveResults(CNContextImpl.java:1594)
at com.ibm.ejs.ns.jndi.CNContextImpl.doLookup(CNContextImpl.java:1470)
at com.ibm.ejs.ns.jndi.CNContextImpl.lookup(CNContextImpl.java:1120)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:128)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at testJDBC.doGet(testJDBC.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:523)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:282)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:112)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:91)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:184)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:122)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)

[03/02/13 12:50:22:011 JST] 262e09e4 Helpers W NMSV0610I: javax.naming.Context のインプリメンテーションからNamingException がスローされています。 詳細は以下のとおりです。
コンテキスト・インプリメンテーション: com.ibm.ejs.ns.jndi.CNContextImpl
コンテキスト・メソッド: lookup
コンテキスト名: domainRoots/UnspecifiedDomainName/legacyRoot
ターゲット名: jdbc/dddd
その他のデータ:
例外スタック・トレース: com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. Root exception is javax.naming.NamingException: ClassNotFoundException: COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
at com.ibm.websphere.advanced.cm.factory.DataSourceFactory$ResourceReferenceObjectFactory.getObjectInstance(DataSourceFactory.java:705)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:308)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:737)
at com.ibm.ejs.ns.jndi.CNContextImpl.processResolveResults(CNContextImpl.java:1594)
at com.ibm.ejs.ns.jndi.CNContextImpl.doLookup(CNContextImpl.java:1470)
at com.ibm.ejs.ns.jndi.CNContextImpl.lookup(CNContextImpl.java:1120)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:128)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at testJDBC.doGet(testJDBC.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:523)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:282)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:112)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:91)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:184)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:122)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)


zh_baiyu 2003-02-13
  • 打赏
  • 举报
回复
例外データは以下のとおりです。
javax.naming.NamingException: ClassNotFoundException: COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
at com.ibm.websphere.advanced.cm.factory.DataSourceFactory$ResourceReferenceObjectFactory.getObjectInstance(DataSourceFactory.java:705)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:308)
at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:737)
at com.ibm.ejs.ns.jndi.CNContextImpl.cacheLookup(CNContextImpl.java:2682)
at com.ibm.ejs.ns.jndi.CNContextImpl.doLookup(CNContextImpl.java:1415)
at com.ibm.ejs.ns.jndi.CNContextImpl.lookup(CNContextImpl.java:1120)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:128)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at testJDBC.doGet(testJDBC.java:30)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:523)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:282)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:112)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:91)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:184)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:122)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)

[03/02/13 12:50:21:801 JST] 262e09e4 DataSourceFac X CONM1006E: データ・ソースのクラス名 "COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource" がデータ・ソース (dddd) で見つかりません。
[03/02/13 12:50:21:871 JST] 262e09e4 Helpers W NMSV0605E: コンテキスト "domainRoots/UnspecifiedDomainName/legacyRoot" から名前 "jdbc/dddd" で検索された参照オブジェクトは JNDI Naming Manager に送られましたが、例外が発生しました。
参照データは以下のとおりです。
参照ファクトリー・クラス名: com.ibm.websphere.advanced.cm.factory.DataSourceFactory$ResourceReferenceObjectFactory
参照ファクトリー・クラス・ロケーションの URL: <null>
Reference Class Name: com.ibm.ejs.cm.portability.PortableDataSource
Type: name
Content: dddd
Type: minimumPoolSize
Content: 1
Type: maximumPoolSize
Content: 10
Type: connectionTimeout
Content: 180
Type: idleTimeout
Content: 1800
Type: orphanTimeout
Content: 1800
Type: statementCacheSize
Content: 100
Type: disableAutoConnectionCleanup
Content: false
Type: oemId
Content: WebSphereSequeLinkClient
Type: informixLockModeWait
Content: 0
Type: oracleStmtCacheSize
Content: 0
Type: disable2Phase
Content: false
Type: dataSourceClassName
Content: COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
Type: user
Content: sa
Type: password
Content: {xor}LD4=
Type: databaseName
Content: javadata
zh_baiyu 2003-02-13
  • 打赏
  • 举报
回复
欧,那个可能是wsad的问题,现在好了~~
但运行的时候还是出错。。。

*** Starting the server ***
IBM WebSphere Application Server, Release 4.0.2
Advanced Single Server Edition for Multiplatforms
Copyright IBM Corp., 1997-2001

************ Start Display Current Environment ************
WebSphere AEs 4.0.2 a0150.05 running with process name localhost/Default Server and process id 2168
Host Operating System is Windows 2000, version 5.0
Java version = J2RE 1.3.0 IBM build cn130-20010925was (JIT disabled), Java Compiler = , Java VM name = Classic VM
server.root = E:/websphere/plugins/com.ibm.etools.websphere.runtime
Java Home = E:\websphere\plugins\com.ibm.etools.server.jdk\jre
ws.ext.dirs = E:/websphere/plugins/com.ibm.etools.server.jdk/lib;E:/websphere/plugins/com.ibm.etools.websphere.runtime/classes;E:/websphere/plugins/com.ibm.etools.websphere.runtime/lib;E:/websphere/plugins/com.ibm.etools.websphere.runtime/lib/ext;E:/websphere/plugins/com.ibm.etools.websphere.runtime/web/help;E:/db2/SQLLIB/java/db2java.zip;E:/websphere/plugins/com.ibm.etools.websphere.tools/runtime/wasListener.jar;E:/websphere/plugins/com.ibm.etools.webservice/runtime/worf.jar
Classpath = E:/websphere/plugins/com.ibm.etools.websphere.runtime/properties;E:/websphere/plugins/com.ibm.etools.websphere.runtime/lib/bootstrap.jar;E:/websphere/plugins/com.ibm.etools.websphere.tools/runtime/wteServers.jar;E:/websphere/plugins/com.ibm.etools.websphere.tools/runtime/wasTools.jar
Java Library path = E:/websphere/plugins/com.ibm.etools.websphere.runtime/bin;E:\websphere\jre\bin;.;C:\WINNT\System32;C:\WINNT;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;d:\MSSQL7\BINN;d:\j2sdk\bin;E:\db2\SQLLIB\BIN;E:\db2\SQLLIB\FUNCTION;E:\db2\SQLLIB\SAMPLES\REPL;E:\db2\SQLLIB\HELP;E:\db2\IBM\IMNNQ;
Current trace specification = *=all=disabled
************* End Display Current Environment *************
[03/02/13 12:49:39:620 JST] 54c289ea Server U Version : 4.0.2
[03/02/13 12:49:39:630 JST] 54c289ea Server U Edition: Advanced Single Server Edition for Multiplatforms
[03/02/13 12:49:39:660 JST] 54c289ea Server U Build date: Tue Dec 18 00:00:00 JST 2001
[03/02/13 12:49:39:660 JST] 54c289ea Server U Build number: a0150.05
[03/02/13 12:49:50:666 JST] 54c289ea DrAdminServer I WSVR0053I: DrAdmin がポート 7000 で使用可能です
[03/02/13 12:49:51:107 JST] 54c289ea ResourceBinde I WSVR0049I: Session Persistence datasource を jdbc/Session としてバインドしています
[03/02/13 12:49:51:187 JST] 54c289ea ResourceBinde I WSVR0049I: dddd を jdbc/dddd としてバインドしています
[03/02/13 12:49:59:769 JST] 54c289ea EJBEngine I WSVR0037I: EJB JAR を開始しています: javadataEJB
[03/02/13 12:50:06:599 JST] 54c289ea ServletEngine A SRVE0161I: IBM WebSphere Application Server - Web Container. Copyright IBM Corp. 1998-2001
[03/02/13 12:50:08:582 JST] 54c289ea ServletEngine A SRVE0162I: サーブレット仕様レベル: 2.2
[03/02/13 12:50:08:622 JST] 54c289ea ServletEngine A SRVE0163I: サポートされる JSP 仕様レベル: 1.1
[03/02/13 12:50:11:416 JST] 54c289ea ServletEngine A SRVE0167I: セッション・マネージャーは構成されました - 初期化中...
[03/02/13 12:50:12:858 JST] 54c289ea CacheManager A DYNA0011E: サーブレット・キャッシュ・ファイル dynacache.xml が見つかりません。キャッシュは使用不可です
[03/02/13 12:50:13:068 JST] 54c289ea ServletEngine A SRVE0169I: Web モジュールをロード中: IBM EJB Test Client。
[03/02/13 12:50:15:191 JST] 54c289ea WebGroup I SRVE0091I: [サーブレット・ログ]: JSP 1.1 Processor: init
[03/02/13 12:50:15:432 JST] 54c289ea WebGroup I SRVE0091I: [サーブレット・ログ]: SimpleFileServlet: init
[03/02/13 12:50:15:652 JST] 54c289ea ServletEngine A SRVE0169I: Web モジュールをロード中: javadataWeb。
[03/02/13 12:50:16:263 JST] 54c289ea WebGroup I SRVE0091I: [サーブレット・ログ]: JSP 1.1 Processor: init
[03/02/13 12:50:16:323 JST] 54c289ea WebGroup I SRVE0091I: [サーブレット・ログ]: SimpleFileServlet: init
[03/02/13 12:50:16:473 JST] 54c289ea WebGroup I SRVE0091I: [サーブレット・ログ]: InvokerServlet: init
[03/02/13 12:50:17:084 JST] 54c289ea HttpTransport A SRVE0171I: トランスポート http はポート 8,080 に listenしています。
[03/02/13 12:50:17:234 JST] 54c289ea Server A WSVR0023I: e-business に対してサーバー Default Server がオープンされました
[03/02/13 12:50:20:278 JST] 262e09e4 WebGroup I SRVE0091I: [サーブレット・ログ]: testJDBC: init
[03/02/13 12:50:21:080 JST] 262e09e4 DataSourceFac X CONM1006E: データ・ソースのクラス名 "COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource" がデータ・ソース (dddd) で見つかりません。
[03/02/13 12:50:21:420 JST] 262e09e4 Helpers W NMSV0605E: コンテキスト "domainRoots/UnspecifiedDomainName/legacyRoot" から名前 "jdbc/dddd" で検索された参照オブジェクトは JNDI Naming Manager に送られましたが、例外が発生しました。
参照データは以下のとおりです。
参照ファクトリー・クラス名: com.ibm.websphere.advanced.cm.factory.DataSourceFactory$ResourceReferenceObjectFactory
参照ファクトリー・クラス・ロケーションの URL: <null>
Reference Class Name: com.ibm.ejs.cm.portability.PortableDataSource
Type: name
Content: dddd
Type: minimumPoolSize
Content: 1
Type: maximumPoolSize
Content: 10
Type: connectionTimeout
Content: 180
Type: idleTimeout
Content: 1800
Type: orphanTimeout
Content: 1800
Type: statementCacheSize
Content: 100
Type: disableAutoConnectionCleanup
Content: false
Type: oemId
Content: WebSphereSequeLinkClient
Type: informixLockModeWait
Content: 0
Type: oracleStmtCacheSize
Content: 0
Type: disable2Phase
Content: false
Type: dataSourceClassName
Content: COM.ibm.db2.jdbc.DB2ConnectionPoolDataSource
Type: user
Content: sa
Type: password
Content: {xor}LD4=
Type: databaseName
Content: javadata
changray 2003-02-13
  • 打赏
  • 举报
回复
将错误贴出来啊
zh_baiyu 2003-02-13
  • 打赏
  • 举报
回复
为什么 我一加上
InitialContext ct = new InitialContext( Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");

这句话就出错!!
InitialContext ct = new InitialContext();到是没什么问题
就是运行的时候还不行~~~
changray 2003-02-13
  • 打赏
  • 举报
回复
sashalin说的并不完善:
InitialContext ct = new InitialContext(); //这句替换成下面的
InitialContext ct = new InitialContext( Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
zh_baiyu 2003-02-13
  • 打赏
  • 举报
回复
哎,没办法啊,,,给日本人打工就这个下场,什么都看不懂,,,,
过段时间要去学日语了
changray 2003-02-13
  • 打赏
  • 举报
回复
ft..还有用日文版的?
sashalin 2003-02-12
  • 打赏
  • 举报
回复
应该是JSP本身的问题
sashalin 2003-02-12
  • 打赏
  • 举报
回复
你是用的数据源吧?如果是,那我也遇到过同样的问题,在JSP中查找数据源找不到,同样的代码放在SERVLET里就没问题。我的代码如下:
<%@page import="javax.naming.*,javax.sql.*%>
<%
InitialContext ct = new InitialContext();
ds=(DataSource)ct.lookup("jdbc/yx");
if(ds == null) throw new NamingException();
ds.getConnection();

response.sendRedirect("/test/success.jsp");

%>
看是否对你有帮助?

2,633

社区成员

发帖
与我相关
我的任务
社区描述
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
社区管理员
  • WebSphere社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧