有关jsp运用jdbc,数据库设置并没有错呀,但是jsp就是老是空指针异常

  1. package connector;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class User {

private  String username="";
private  String password="";
public User(){};
public User(String username, String password){
    this.username = username;
    this.password = password;
}
public  String getUsername() {
    return username;
}
public  void setUsername(String username) {
    this.username = username;
}
public  String getPassword() {
    return password;
}
public  void setPassword(String password) {
    this.password = password;
}
//查看是否存在该用户以及是否密码正确
public boolean isUser() throws Exception{
    Connection ct = Database.getCon();
    if(ct==null)
        System.out.println("ct is null");
    Statement st = ct.createStatement();
    ResultSet rs = st.executeQuery("select * from usernameandpassword");
    while(rs.next()){
        if(rs.getString("username").equals(this.username) && rs.getString("password").equals(this.password))
            return true;
    }
    return false;
}

}
2. package connector;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Database {
private static final String USER="root";
private static final String PASSWORD="root";
private static final String URL="jdbc:mysql://localhost:3306/debate";
private static Connection con=null;
private static PreparedStatement pstat;

public Database(){}
static{
    try {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(URL,USER,PASSWORD);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public static Connection getCon(){
        return con;
}

}
3. <%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="connector.User" %>
<!DOCTYPE html>



do_login


<% request.setCharacterEncoding("utf-8"); %>
<%!String username="";String password=""; %>
<%!User user = new User(); %>
<%
username=request.getParameter("username");
password=request.getParameter("password");
user.setUsername(username);
user.setPassword(password);
if(user.isUser()){
out.println("登录成功");
}else{
out.println("登录失败");
}
%>


把报错信息贴出来一下

很有可能是你
username=request.getParameter("username");
password=request.getParameter("password");
这里得到的username和password就是null了,看看你的jsp文件代码,getParameter();里边的参数名有没有写错,

空指针异常 ,和数据库配置没有半毛钱的 关系。有无数种原因导致空指针异常 ,看报错信息指向哪一行,追踪栈,查看调用的,是不是你都有,有没有错漏