捣腾了很久。我用的是mysql5,连接数据的jar包是mysql-connector-java-5.0.7.jar
最近自学servlet时,看视频说要导入三个包到tomcat的lib目录下,需要的另外两个包是什么呢?
aspectjtools-1.5.3.jar+mysql-connector-java-5.0.7-bin-g.jar
我试了一下。不行,控制台出现一大堆trace。。求大神指教。。不想倒在起跑路上。。谢谢解答。。

解决方案 »

  1.   

    不是用eclipse 可以直接跑吗?
    拷什么jar 包额。
      

  2.   

    连接数据库不是需要jar包么?
      

  3.   

    拷到项目里面是私用的jar,拷贝到lib目录下也一样的功能,关键我的问题是所需要的jar包是需要匹配的,aspectjtools-1.5.3.jar没有用。。控制台会出现一大堆trace。
      

  4.   

    错误信息六月 07, 2012 10:37:47 上午 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet logincheck threw exception
    java.lang.ClassNotFoundException: org.aspectj.lang.Signature
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at com.gcj.logincheck.doGet(logincheck.java:91)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:722)
      

  5.   

    我也是刚照着视频学servlet,数据库我连接成功了,就是用servlet做一个跳转的时候报错了。。谢谢你的解答
      

  6.   


    try {
    System.out.println("ddddd");
    String u=request.getParameter("username");
    String p=request.getParameter("passwd");
    //连接数据库
    Class.forName("com.mysql.jdbc.Driver");
    //得到连接
     ct=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/dblogin","root","123456");
    //创建statement
     sm=((java.sql.Connection) ct).createStatement();
     rs=sm.executeQuery("select  *from user where uname='"+u+"' and upass='"+p+"'");
    //验证
    // System.out.println("bbbb");
    //session的生命周期只有三十分钟(用户发呆时间)
    if (rs.next()) {
    System.out.println("bbbb");
    //合法
    //将验证成功的信息写入session
    //得到session
    HttpSession hs=request.getSession(true);
    //修改session的存在时间,默认半小时发呆时间
    hs.setMaxInactiveInterval(20);//秒计算
    hs.setAttribute("pass", u);
    //跳转到wel
    response.sendRedirect("wel?uname="+u+"&psd="+p);
    } else {
    //不合法
    //跳转
    response.sendRedirect("login");//写servlet的url,切记;
    }

    } catch (Exception e) {
    e.printStackTrace();
    }finally{
    try {
    if (rs!=null){
    sm.close();}
    if(ct!=null){
    ct.close();}
    if(rs!=null){
    rs.close();}

    catch (Exception e2) {
    e2.printStackTrace();
    }
    }
    } 上面是我的程序代码
      

  7.   

    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Servlet execution threw an exception
    root cause java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:186)
    com.gcj.logincheck.doGet(logincheck.java:91)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause java.lang.ClassNotFoundException: org.aspectj.lang.Signature
    java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:186)
    com.gcj.logincheck.doGet(logincheck.java:91)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs.
      

  8.   

    http://blog.csdn.net/software_developer/article/details/3329542类似于上面这种情况
      

  9.   

    链接数据库的包是需要导入项目的lib目录下的 而不是导入在tomcat中,链接mysql只需要导入第一个就行
      

  10.   

    直接导入就行了呗!。。将jar文件导入至lib下面,,直接拉进去还需要进行配置比较麻烦
      

  11.   

    现在的错误信息是
    [code=/Java]
    java.lang.ClassCastException: com.mysql.jdbc.Connection cannot be cast to com.sun.corba.se.pept.transport.Connection
    at com.gcj.logincheck.doGet(logincheck.java:93)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:722)[/code]
      

  12.   

     ct=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/dblogin","root","123456");包导错了。
     ct 这个对象 , 你把它改成java.sql.Connection
      

  13.   

    链接mysql数据就需要mysql-connector-java-5.0.7.jar这个包就ok了,不需要你说的其它2个包。。
      

  14.   

    是不是还要将这个包配置到path路径呢?现在控制台不报错了,但是出现了一大堆debug信息。。
      

  15.   

    现在出现了一直在logincheck(检查登陆账号密码)的情况。。
      

  16.   


    Statement sm=null;
    java.sql.Connection ct=null;
    ResultSet rs=null;
    try {
    System.out.println("ddddd");
    String u=request.getParameter("username");
    String p=request.getParameter("passwd");
    //连接数据库
    Class.forName("com.mysql.jdbc.Driver");
    //得到连接
     ct= DriverManager.getConnection("jdbc:mysql://localhost:3306/dblogin","root","123456");
    //创建statement
     sm=ct.createStatement();
     rs=sm.executeQuery("select  *from user where uname='"+u+"' and upass='"+p+"'");
      

  17.   

    你可能把别的包的Connection 类导入了,你换成
    import java.sql.Connection ;
      

  18.   

    搞定了,感谢上面所有的人,结贴了。尤其是is_zhoufeng,谢谢
      

  19.   

    我的的数据库是2005的,但导入到java的.jar包是2008的,我也还是连接不上不知什么原因,难道非要是2008的数据库才能连接上吗?
      

  20.   

    我用得是Sql2000,数据库连接不成功!求指导!这是我连接代码import java.lang.Class;
    import java.sql.*;import javax.sql.DataSource;public class Database {
        public static Connection cn=null;
        public static Statement st=null;
        public static ResultSet rs=null;    public static boolean joinDB() {
            boolean joinFlag;
            try {
                joinFlag = true;            Class.forName("com.microsoft.jdbc.sqlsever.SQLSeverDriver");            String url="jdbc:microsoft:sqlsever://localhost:1433;Database=EmployeeInformationMS";
                String user="sa";
                String password="";
                Connection cn= DriverManager.getConnection(url,user,password);
                cn.setCatalog("EmployeeInformationMS");
                System.out.println("数据库连接成功");
                st = cn.createStatement();
                return joinFlag;        } catch (SQLException sqlEx) {
                System.out.println(sqlEx.getMessage());            joinFlag = false;
                return joinFlag;        } catch (ClassNotFoundException notfoundEX) {
                System.out.println(notfoundEX.getMessage());            joinFlag = false;
                return joinFlag;
            }
        }    public static boolean executeSQL(String sqlString) {
            boolean executeFlag;
            try {
                st.execute(sqlString);
                executeFlag = true;
            } catch (Exception e) {
                executeFlag = false;
                System.out.println("sql exception:" + e.getMessage());
            }
            return executeFlag;
        }
        public static boolean query(String sqlString) {        try {
                rs = null;            rs = st.executeQuery(sqlString);
            } catch (Exception Ex) {
                System.out.println("sql exception:" + Ex);
                return false;
            }
            return true;
        }
    }