<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>regist</title>
</head>
<body>
<form action="/day55/regist" method="post">
账户:<input name="username"><br>
密码:<input name="password"><br>
<button type="submit">注册</button>
</form>
</body>
</html>
regist.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
</head>
<body>
<form action="/day55/login" method="post">
欢迎登录^-^<br>
账户:<input name="username"><br>
密码:<input name="password"><br>
<button type="submit">登录</button>
</form>
</body>
</html>
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>welcome</title>
</head>
<body>
欢迎回来!
</body>
</html>
welcome.html
package sevlet;
import bean.User;
import dao.UserDao;
import dao.impl.UserDaoimpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 注册验证
*/
@WebServlet(name = "RegistServlet",urlPatterns = "/regist")
public class RegistServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取注册名和密码
String username = req.getParameter("username");
String password = req.getParameter("password");
System.out.println(username+":"+password);
UserDao userDao = new UserDaoimpl();
User user = new User(username,password);
int i = userDao.addUser(user);
if(i==1){
//将用户名,密码保存到域对象中
req.setAttribute("username",username);
req.setAttribute("password",password);
//并跳转登录页面
req.getRequestDispatcher("login.html").forward(req,resp);
}else{
req.getRequestDispatcher("regist.html").forward(req,resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
RegistServlet
package sevlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "LoginServlet",urlPatterns = "/login")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取登录名,密码
String username = req.getParameter("username");
String password = req.getParameter("password");
//通过req域获取对象,并验证登录名和密码是否正确
if(req.getParameter("username")==username&&req.getParameter("password")==password){
//密码用户名都正确,登录成功,跳转欢迎页面
req.getRequestDispatcher("welcome.html").forward(req,resp);
}else {
//其中之一错误,跳转登录页面
req.getRequestDispatcher("login.html").forward(req,resp);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
LoginServlet
package dao.impl;
import bean.User;
import dao.UserDao;
import util.DBUtils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class UserDaoimpl implements UserDao {
private PreparedStatement preparedStatement=null;
private ResultSet resultSet=null;
private Connection connection=null;
@Override
public int addUser(User user) {
try {
connection = DBUtils.getConnection();
preparedStatement = connection.prepareStatement("insert into user(username,password) values(?,?) ");
preparedStatement.setString(1,user.getUsername());
preparedStatement.setString(2,user.getPassword());
return preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DBUtils.release(connection,preparedStatement,resultSet);
}
return 0;
}
@Override
public User selectUser(String username) {
User user =null;
try {
connection = DBUtils.getConnection();
preparedStatement = connection.prepareStatement("select username,password from user where username = ?");
preparedStatement.setString(1,username);
resultSet = preparedStatement.executeQuery();
if(resultSet.next()){
user = new User(resultSet.getString(1),resultSet.getString(2));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DBUtils.release(connection,preparedStatement,resultSet);
}
return user;
}
}
UserDaoImpl