(求助)为何struts中的连接池用不了??
struts-config.xml中配置如下:
<!-- ========== Data Source Configuration ===================== -->
<data-sources>
<data-source key="test" type="org.apache.struts.util.GenericDataSource">
<set-property property="password" value="water" />
<set-property property="minCount" value="10" />
<set-property property="maxCount" value="100" />
<set-property property="user" value="water" />
<set-property property="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<set-property property="description" value="" />
<set-property property="url" value="jdbc:oracle:thin:@10.3.8.48:1521:ORADB" />
<set-property property="readOnly" value="false" />
<set-property property="autoCommit" value="false" />
<set-property property="loginTimeout" value="" />
</data-source>
</data-sources>
Action类中的使用如下:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
TestpoolForm testpoolForm = (TestpoolForm) form;
DataSource dataSource;
Connection cnn = null;
try
{
//dataSource = getDataSource(request);
dataSource=servlet.findDataSource("test");
cnn = dataSource.getConnection();
// 数据连接已经建立了,你可以做你想做的事情了
}
catch (SQLException e)
{
getServlet().log("处理数据库连接", e);
}
finally
{
// 在finally块里包含这些代码
// 用以保证连接最后会被关闭
try
{
cnn.close();
}
catch (SQLException e)
{
getServlet().log("关闭数据库连接", e);
}
}
return mapping.findForward("success");
}
}
但转到这个action类的时候报错如下:
exception
javax.servlet.ServletException: Servlet.init() for servlet action threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:209)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:670)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:517)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
java.lang.Thread.run(Thread.java:536)
root cause
java.lang.NoClassDefFoundError: org/apache/struts/legacy/GenericDataSource
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:502)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1652)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:883)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212)
org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:207)
org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1081)
org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
javax.servlet.GenericServlet.init(GenericServlet.java:256)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:209)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:670)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:517)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
java.lang.Thread.run(Thread.java:536)
请问高手,这是为何???谢~~~~~~~
<!-- ========== Data Source Configuration ===================== -->
<data-sources>
<data-source key="test" type="org.apache.struts.util.GenericDataSource">
<set-property property="password" value="water" />
<set-property property="minCount" value="10" />
<set-property property="maxCount" value="100" />
<set-property property="user" value="water" />
<set-property property="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<set-property property="description" value="" />
<set-property property="url" value="jdbc:oracle:thin:@10.3.8.48:1521:ORADB" />
<set-property property="readOnly" value="false" />
<set-property property="autoCommit" value="false" />
<set-property property="loginTimeout" value="" />
</data-source>
</data-sources>
Action类中的使用如下:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
TestpoolForm testpoolForm = (TestpoolForm) form;
DataSource dataSource;
Connection cnn = null;
try
{
//dataSource = getDataSource(request);
dataSource=servlet.findDataSource("test");
cnn = dataSource.getConnection();
// 数据连接已经建立了,你可以做你想做的事情了
}
catch (SQLException e)
{
getServlet().log("处理数据库连接", e);
}
finally
{
// 在finally块里包含这些代码
// 用以保证连接最后会被关闭
try
{
cnn.close();
}
catch (SQLException e)
{
getServlet().log("关闭数据库连接", e);
}
}
return mapping.findForward("success");
}
}
但转到这个action类的时候报错如下:
exception
javax.servlet.ServletException: Servlet.init() for servlet action threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:209)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:670)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:517)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
java.lang.Thread.run(Thread.java:536)
root cause
java.lang.NoClassDefFoundError: org/apache/struts/legacy/GenericDataSource
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:502)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1652)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:883)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212)
org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:207)
org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:231)
org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1081)
org.apache.struts.action.ActionServlet.init(ActionServlet.java:472)
javax.servlet.GenericServlet.init(GenericServlet.java:256)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:209)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:670)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:517)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:575)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
java.lang.Thread.run(Thread.java:536)
请问高手,这是为何???谢~~~~~~~
...全文
相关推荐
有关struts中的数据库连接池问题解决
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。
Struts配置数据库连接池
讲述了Struts连接的配置及其属性,喜欢学习的人可以下载
struts连接池所需要Jar包
四个必要文件:commons-collections,commons-dbcp-1.2.1,commons-pool,struts-legacy
Struts2+spring+hibernate中的proxool连接池配置
NULL 博文链接:https://devsky.iteye.com/blog/1038804
struts5连接池与上传
struts5连接池与上传 一个ppt 很好用


