当前位置: 代码迷 >> Java Web开发 >> 连接数据库的JavaBean放在Action中就不能用了吗?该如何解决
  详细解决方案

连接数据库的JavaBean放在Action中就不能用了吗?该如何解决

热度:244   发布时间:2016-04-17 12:24:28.0
连接数据库的JavaBean放在Action中就不能用了吗?
Java code
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();        }            }}

上面这段程序单独运行可以成功连接到数据库里面,但如果在Action中用就会报错
Java code
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));    }}


java.lang.ClassNotFoundException: com.sybase.jdbc3.jdbc.SybDriver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at model.DbUtil.<init>(DbUtil.java:17)
at actions.DisplayAllAction.execute(DisplayAllAction.java:34)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
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.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
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.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
  相关解决方案