做项目的时候一般都按照严格的分层,所以servlet中都不会进行连接数据库的 *** 作,连接数据库的 *** 作都是放在dao层进行,servlet中一般只进行数据的传递,或者调用service中的方法执行 *** 作。
楼主你把连接数据库写成构造器的形式,认为可以每次执行时都会连接,所以不在具体查询方法里面再做数据库的connection *** 作,这个方式显然发生错误了,建议不写成默认构造的形式。具体改法可以照我的例子改:
private static final String DRIVER="commysqljdbcDriver";
private static final String URL="jdbc:mysql://localhost:8080/useToVote";
private static final String USER="root";
private static final String PWD="qinx";
public Connection getConnection(){
Connection conn=null;
try {
ClassforName(DRIVER);
conn=DriverManagergetConnection(URL,USER,PWD);
} catch (Exception e) {
eprintStackTrace();
}
return conn;
}
然后在查询的GetResulte方法里面先加入conn=getConnection();开启连接,再继续往下。注意最后要关闭连接哦!希望对你有所帮助。
//1调用UserService完成查询
UserService service = new UserServiceImpl();
List<User> users = servicefindAll();
在UserListServlet 方法外
使用@Autowired private UserService userService;
或者@Resource private UserService userService;
然后启动项目才可以引入service,因为spring构建bean并注入是在项目启动时注入,当前引入的,无法通过new去声明service;
以上就是关于servlet中连接到数据库出错,找不到驱动,但是同样的代码在class类中不会报错,求解啊,坐等全部的内容,包括:servlet中连接到数据库出错,找不到驱动,但是同样的代码在class类中不会报错,求解啊,坐等、servlet中连接数据库问题: exception java.lang.NullPointerException、为什么我的servlet链接不了数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)