数据库部分
drop database if exists mydb;
create database mydb;
use mydb;
create table t_user
(
uid int primary key auto_increment,
username varchar(20),
password varchar(20),
phone varchar(11),
address varchar(50)
);
insert into t_user(username,password,phone,address)values("张三","666","18755685452","旧金山");
insert into t_user(username,password,phone,address)values("李四","333","18794658126","挪威");
insert into t_user(username,password,phone,address)values("驴子","129","17826789436","广州");
select *from t_user where username=? and password=?
select *from t_user;
insert into t_user(username,password) values(?,?);
Java内容
首页index.jsp内容
html>
<head>
<title>Wabfrist</title>
</head>
<body>
<a href="login.jsp">登录</a>
<a href="zc.jsp">注册</a>
</body>
</html>
登录页面login.jsp内容
<body>
<h2>登录</h2>
<form action="login" method="post">
账号:<input type="text" name="username" value=""><br/>
密码:<input type="password" name="password" value=""><br/>
<input type="submit" value="登录">
</form>
</body>
注册页面zc.jsp内容
<body>
<h2>注册</h2>
<form action="index.jsp" method="post">
账号:<input type="text" name="username" value=""><br/>
密码:<input type="password" name="password" value=""><br/>
<input type="submit" value="确定">
</form>
</body>
创建Java实体类User
package Use;
public class User {
private int uid;
private String username;
private String password;
private String phone;
private String address;
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
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 String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", username='" + username + '\'' +
", password='" + password + '\'' +
", phone='" + phone + '\'' +
", address='" + address + '\'' +
'}';
}
}
登录Login代码
package bean;
import Use.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.*;
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");
String password = req.getParameter("password");
// 3、业务处理--JDBC操作
Connection con=null;
PreparedStatement pst=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/mydb?useSSL=false&serverTimezone=UTC","root","root");
// 3、定义sql语句
String sql="select * from t_user where username=? and password=?";
// 4、获取预处理对象
pst=con.prepareStatement(sql);
// 5、传参
pst.setObject(1,username);
pst.setObject(2,password);
// 6、执行sql语句
rs=pst.executeQuery();
// 7、处理结果集
if (rs.next()){
login=new User();
// 从结果集中获取数据,然后封装到实体类对象中
int uid=rs.getInt("uid");
login.setUid(uid);
login.setUsername(rs.getString("username"));
login.setPassword(rs.getString("password"));
login.setPhone(rs.getString("Phone"));
login.setAddress(rs.getString("address"));
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
try {
if (rs!=null){
rs.close();
}
if (pst!=null){
pst.close();
}
if (con!=null){
con.close();
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
if (login!=null){
resp.sendRedirect("cg.jsp");
}else {
resp.sendRedirect("error.jsp");
}
}
}