连接数据库的JavaBean放在Action中就不能用了吗?
public class DbUtil { int i=0,j; String [][]data = new String[3][3]; Connection con = null; ResultSet rs=null; Statement stmt=null; String drivers = "com.sybase.jdbc3.jdbc.SybDriver"; String url = "jdbc:sybase:Tds:dawnspace:5000/Denglu"; public DbUtil(){ try { Class.forName(drivers).newInstance(); con = DriverManager.getConnection(url,"sa",""); stmt = con.createStatement(); } catch(java.lang.Exception e) { e.printStackTrace(); } }}public class DisplayAllAction extends Action{ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ ActionErrors errors = new ActionErrors(); if (!errors.isEmpty()) { saveErrors(request, errors); return (new ActionForward(mapping.getInput())); } HttpSession session = request.getSession(); String[][]data = new String[3][3]; [color=#FF0000]DbUtil db = new DbUtil();[/color]// data = db.displayall(); session.setAttribute(Constants.DISPLAY_ALL, data); return (mapping.findForward(Constants.FORWARD_SUCCESS)); }}
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
错误表面上看应该是数据库驱动器class找不到,但为什么上面单独用的时候又可以连接到数据库呢?
[解决办法]
驱动的jar包应该没有加到你的工程里面吧?