serlvet运行jdbc报错,而主方法中运行不报错

在Servlet中执行JDBC操作时遇到了NullPointerException,具体错误信息为'Cannot invoke java.sql.Connection.prepareStatement(String) because con is null'。该问题通常发生在尝试使用未初始化的Connection对象执行SQL查询时。可能的原因是数据库连接没有成功建立或者Connection对象没有正确赋值。检查数据库配置、连接池设置以及异常处理代码,确保在调用prepareStatement之前Connection对象已非空。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void main(String[] args) throws SQLException {

    Login login = checkusername("chenlu", "123456789");
    System.out.println(login.getUsername()+":"+ login.getPassword());

}

上面这行代码是在类JDBCImpl主方法中用来测试的,是一个静态类






	String username = request.getParameter("username");
	
    String password = request.getParameter("password");
    Login login = null;
    try {
        login = JDBCImpl.checkusername(username, password);
    } catch (SQLException e) {
        System.out.println(e.getMessage());
    }

为什么同样的代码在servle中就报错呢?
报错类型如下所示:

异常报告:
消息 Cannot invoke “java.sql.Connection.prepareStatement(String)” because “con” is null
描述 服务器遇到一个意外的情况,阻止它完成请求。
例外情况
java.lang.NullPointerException: Cannot invoke “java.sql.Connection.prepareStatement(String)” because “con” is null
com.example.dao.JDBCImpl.checkusername(JDBCImpl.java:118)
com.example.democase.Servletfail.doGet(Servletfail.java:22)
javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看

请大佬给个反馈,感谢

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值