package com.xiaoan.javaweb.denglu;
import com.xiaoan.javaweb.utils.JdbcUtils;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@WebServlet({"/login/denlu"})
public class login extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String path = request.getServletPath();
if("/login/denlu".equals(path)){
dologin(request,response);
}
}
private void dologin(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
Connection conn = JdbcUtils.getConnection();
String sql = "select * from t_user1 where uname = ? and psw = ?";
ResultSet rs = null;
PreparedStatement ps = null;
Boolean sc = false;
try {
ps = conn.prepareStatement(sql);
ps.setString(1,username);
ps.setString(2,password);
//rs赋值不上,就错在这里,之前一切正确
rs = ps.executeQuery();
if(rs.next()){
sc = true;
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JdbcUtils.close(conn,ps,rs);
}
if(sc){
response.sendRedirect(request.getContextPath()+"/login/denlu");
}else{
System.out.println("登陆失败");
}
}
}
赋不上值?报错信息呢
你打个断点看看有没有查询出数据,如果没有查出数据,肯定也就不会有值了。同时看看那两个参数有没有数据传递过来。