package com.chen.servlet;
import com.chen.bean.User;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class Login extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//1.设置请求和响应的编码
req.setCharacterEncoding("utf-8");//设置请求的编码格式为中文
resp.setCharacterEncoding("utf-8");//设置响应的编码格式
resp.setContentType("text/html;charset=utf-8");//以什么样的格式(文本/网页)响应获取用户输入的值
//2.获取请求参数
String username=req.getParameter("username");//根据表单的name属性
String password=req.getParameter("password");
System.out.println(username);
System.out.println(password);
//3.执行业务处理
Connection con=null;//数据库链接对象
PreparedStatement pstm=null;//预处理对象
ResultSet rs=null;//结果集对象
User login=null;
try {
//1.加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取数据库链接
con= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysql?useSSl=false&serverTimezone=UTC","root","root");
//3.定义登录的sql语句
String sql="select * from t_user where username=? and password=?";
//4.获取与处理对象
pstm=con.prepareStatement(sql);
//5.传参
pstm.setObject(1,username);
pstm.setObject(2,password);
//6.执行查询
rs=pstm.executeQuery();
//7.解析结果集
if (rs.next()){
login=new User();
//从结果集中获取数据,封装到实体类对象中
int uid=rs.getInt("uid");
login.setUid(uid);
login.setUsername("username");
login.setPassword("password");
login.setPhone("phone");
login.setAddress("address");
}
}catch (Exception e){
e.printStackTrace();
}finally {
//8.关闭资源
try {
if (rs!=null){
rs.close();
}
if (pstm!=null){
pstm.close();
}
if (con!=null){
con.close();
}
}catch (Exception e) {
e.printStackTrace();
}
}
//判断登录的用户信息是否为空
if (login!=null){
//登陆成功,跳转到主页
resp.sendRedirect("zhuye.jsp");//跳转到指定该页面
}else {
//登录失败,跳转到错误页
resp.sendRedirect("error.jsp");
}
}
}
用JDBC完成登录
最新推荐文章于 2024-07-22 22:58:19 发布