weixin_44129141 2020-11-16 23:55 采纳率: 0%
浏览 277

javaweb登陆界面连接数据库的时候

 userlogin.jsp

<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<title>管理员登陆</title>
</head>
<body>
<script type="text/javascript">
function jump() {
	window.open("userregister.jsp");
}
</script>
<form action="loginServlet" method="get">
<table border="2">
<tr><th>
用户名:<input type="text" name="UserName" />
</th>
<tr><td>
密码:<input type="password" name="UserPassword"/>
</td></tr>
<tr><td>
<input type="submit" name="login" value="登陆"/>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" name="register" value="注册" onclick="jump()"/>
</td></tr>
</table>
</form>
</body>
</html>

loginServlet.java

package java_zhuyoukai.web.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.hamcrest.core.StringEndsWith;

import java_zhuyoukai.DAO.UserDAO;
import java_zhuyoukai.domain.User;
import java_zhuyoukai.service.UserService;
import java_zhuyoukai.service.UserServiceImpl;

/**
 * Servlet implementation class logins
 */
public class loginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public loginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
@Override

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		String name=request.getParameter("UserName");
		String password=request.getParameter("UserPassword");
		System.out.println(name+password);

		UserService us=new UserServiceImpl();
		PrintWriter out = response.getWriter();
		if(us.login(name, password)){
			out.print("success");
		}
else {
			
			out.print("false");
		}
	
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

UserDao.java

package java_zhuyoukai.DAO;

import java.sql.*;

import javax.servlet.http.HttpServlet;

import java_zhuyoukai.domain.User;

public class UserDAO  {

	
		public Connection getConnection()  {
		Connection con=null;
				try {
					Class.forName("com.mysql.jdbc.Driver");
				} catch (ClassNotFoundException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			
			try {
				con=DriverManager.getConnection("jdbc:mysql://localhost:3306/user","root","password");
				System.out.println(con);
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			return con;
		
		    
		}
		public ResultSet executeQuery(String sql) {
			// TODO Auto-generated method stub
			Connection con = getConnection();
			ResultSet res = null;
			
	        Statement state = null;
	 
	        if (con !=null) {
	 
	            try {
	                state = con.createStatement();
	                res = state.executeQuery(sql);
	            } catch (SQLException e) {
	                return null;
	            }
	 
	        }
	        
	        	
			
	        return res;
		}
}

 UserServiceImpl.java

package java_zhuyoukai.service;

import java.sql.ResultSet;
import java.sql.SQLException;

import java_zhuyoukai.DAO.UserDAO;



public class UserServiceImpl implements UserService {

	public boolean login(String uname ,String upassword)  {
		boolean a=false;
		String sql="select * from user_list where name='mizhonghao'";
		UserDAO userDAO=new UserDAO();
		ResultSet rs=userDAO.executeQuery(sql);
		try {
			if (rs.next()) {
				
				a=true;
			}
			else {
				System.out.println("no");
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return a;
	}

}

报错信息:Cannot invoke "java.sql.ResultSet.next()" because "rs" is null

  • 写回答

1条回答 默认 最新

  • qq_25376897 2020-11-17 09:40
    关注

    把语句拿到数据库里面执行,如果有数据 就 打断点调试executeQuery,看是哪里报错了

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿