web连接数据库时,报空指针java.lang.NullPointerException问题--可能的解决方式
来源:互联网 发布:js构造函数模式 编辑:程序博客网 时间:2024/06/06 13:03
序言:
好吧,第一次写CSDN博客,其实从一开始学计算机,到现在,快两年了,中间就不断的遇到问题,基本通过上这博客看的
确实挺好的 一直想什么时候开始 把自己遇到的问题和解决方法都写下来,毕竟每次自己遇到麻烦的时候真心 心累
对于像我这样的新手,或许一个小问题可以磨半天
这次 总算开始写了
问题:
写web时,需要用到数据库的数据,参着网上的方法自己写了一个数据库连接类,然而给这个类写个main方法,能够正常读取数据,但用在servlet里时却报空指针java.lang.NullPointerException的异常
连接类DBUtil:
import java.sql.*;public class DBUtil {private static String url="jdbc:sqlserver://localhost:1433;DatabaseName=班级圈";private static String driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";private static Connection conn;//装载驱动static{try{Class.forName(driverClass);}catch(ClassNotFoundException e){e.printStackTrace();}}//获取数据库连接public static Connection getConnection(){try{conn=DriverManager.getConnection(url,"root","123456");}catch(SQLException e){e.printStackTrace();}return conn;} public static void main(String[] args)throws ClassNotFoundException, SQLException{ Connection conn=DBUtil.getConnection(); Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery("select name from student");while(rs.next()){//返回值是boolean类型 System.out.println(rs.getString("name").trim());} }//关闭数据库连接public static void Clse(){if(conn!=null){try{conn.close();}catch(SQLException e){e.printStackTrace();}}}}
好吧,全部贴上来了,接下来是在servlet中用到这个类,代码一部分
try {Statement stmt;stmt = DBUtil.getConnection().createStatement();ResultSet rs=stmt.executeQuery("select pass from teacher where phonenum='"+userName+"'");if(rs.next()){if(rs.getString("pass").equals(passWord)){isFound=true;HttpSession session=request.getSession();session.setAttribute("userName", userName);response.sendRedirect("index.jsp");}}if(!isFound)response.sendRedirect("inputerror.jsp");} catch (SQLException e) {e.printStackTrace();}
就是这样,运行。。。。。。。报错了!空指针异常,错误发生在 stmt = DBUtil.getConnection().createStatement(); 这一行
讲道理 没错啊 看起来稳的一痞
不扯了 ,,
解决:
个人的解决方法是 除了在工程中导入数据库驱动包,在 tomcat 的 lib 目录下也要放入数据库驱动的 jar 包,也就是说 这个jar包要放两个地方,毕竟这是tomcat服务需要用到的(我的理解)
或者:将驱动jar包放置WebContent > WEB-INF > lib 文件夹下,并Add to build Path,应该都行
大概就是这样 ,解决了空指针异常
当然遇到这问题,前提是数据库服务的各种配置啊,端口啊什么的都要弄好了
另外:顺带扯一句 ,当时我用的是 sql server 2008 R2 SP2,无论怎么弄,测试 telnet 127.0.0.1:1433都不成功
经过一番苦搜,将SP2升级到SP3 done!
- web连接数据库时,报空指针java.lang.NullPointerException问题--可能的解决方式
- java.lang.NullPointerException空的指针问题
- 【Android】AndroidStudio空指针解决之:listview与adapter的使用报空 java.lang.NullPointerException
- 关于properties空指针报错的问题 java.lang.NullPointerException
- 空指针问题(java.lang.NullPointerException)
- java.lang.NullPointerException空指针问题
- java.lang.NullPointerException 空指针异常问题
- java.lang.NullPointerException 空指针异常问题
- java连接Hbase数据报java.lang.NullPointerException空指针异常解决办法
- java 编程中遇到空指针异常的可能原因java.lang.nullpointerexception
- java.lang.NullPointerException,空指针
- saveAttributes 报空指针错误(java.lang.NullPointerException)
- Hadoop copyToLocalFile报java.lang.NullPointerException空指针异常
- spark 从HIVE读数据导入hbase中发生空指针(java.lang.NullPointerException)问题的解决
- C3P0连接池报错:java.lang.NullPointerException 空指针异常
- List、Map、Tree报空指针java.lang.NullPointerException异常的解决方案
- List、Map、Tree报空指针java.lang.NullPointerException异常的解决方案
- zeppelin 空指针异常问题 java.lang.NullPointerException
- 插入排序
- 《机器学习实战》第五章:Logistic回归(1)基本概念和简单实例
- Android开发——带你彻底理解 Window 和 WindowManager
- pyCharm破解
- 70. Climbing Stairs
- web连接数据库时,报空指针java.lang.NullPointerException问题--可能的解决方式
- 1.[个人]C++线程入门到进阶(1)----概念
- Windows10 TensorBoard 运行出现 No scalar data was found问题解决
- Bootstrap轮播图
- 信息系统项目管理知识--信息系统建设
- 自定义ListView实现任意View跑马灯效果
- Binary Tree Postorder Traversal
- python爬网页存入本地文件
- 斐波那契dp