解决方案 »
- 如何用jsp分页后台已经获取到得list(高手进)
- 麻烦看看这个struts文件配置的问题,新手实在解决不了了
- 新手提问:怎样在Tomcat的war包里用File类获得文件夹下配置文件的路径?
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>如何找它的映射关系???????
- 向高手求教:截获的地址为何无法打开?他们是干什么用的?
- jsp上传文件的问题(加急)
- jsp.error.badaction这是什么样的错误!?为了毕设就10分了!!!
- poi导出公式问题【急求】
- servlet 简单问题?
- jsp的小问题
- 将字符串“1999-09-12”转换为日期格式,计算日期的差几天
- 求救查错!
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println("username = " + username + ", password = " + password);打印看看有没有值?
打印出来了,没有错!····我去Google里找找了,也许是缺小什么架包什么的···2010-1-12 12:53:00 org.apache.catalina.startup.HostConfig checkResources
信息: Reloading context [/blog]
sa
sa
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.apache.commons.dbutils.QueryRunner.prepareConnection(QueryRunner.java:195)
at org.apache.commons.dbutils.QueryRunner.query(QueryRunner.java:306)
at cn.com.jobedu.blog.UserServlet.login(UserServlet.java:51)
at cn.com.jobedu.blog.UserServlet.doPost(UserServlet.java:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
... 19 more
2010-1-12 12:53:05 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet UserServlet threw exception
java.lang.NullPointerException
at cn.com.jobedu.blog.UserServlet.login(UserServlet.java:55)
at cn.com.jobedu.blog.UserServlet.doPost(UserServlet.java:31)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
把你的数据库驱动加进去
楼主第二次提供的错误信息表明没有MySQL的JDBC驱动。到下面的网站上下载一个吧。http://dev.mysql.com/downloads/connector/j/5.1.html
try {
list = (List) qr.query(sql, params,new BeanListHandler(User.class));
} catch (SQLException e) {
e.printStackTrace();
}
// 此时list可能为null,所以导致下面的语句(list.size())抛出NullPointsException。
if (list.size() > 0) {
user = (User) list.get(0);
HttpSession session = request.getSession();
session.setAttribute("user", user);
request.getRequestDispatcher("/admin/admin.jsp").forward(request,
response);
} else {
request.setAttribute("message", "用户名或者密码不正确!");
request.getRequestDispatcher("/admin/login.jsp").forward(request,
response);
}有两点需要改进:
第1:QueryRunner的query(String sql, Object[] params, ResultSetHandler<T> rsh)方法已经被Deprecated。应该使用
query(String sql, ResultSetHandler<T> rsh, Object... params)因此楼主的代码(上例第三行)应改为:
list = (List) qr.query(sql, new BeanListHandler(User.class), params);第2:对结果集应做空为判断,如:
if (list != null && list.size() > 0) {
...
}else {
...
}
我把包拷在lib文件夹下了···
首先,我用的连接池来连接数据库的,所以,mysql架包放到项目的lib目录下,也是报错的,
所以,要想不报错,就得把驱动架包放到tomcat的lib目录下··但是,为什么呢?这个我也想不清楚,望各位指点···
数据库连接池是tomcat来管理的,所以需要,你可以自己写jdbc连接测试一下,不用连接池,就不需要把包放到tomcat目录下了。