今天学着日常我们注册账号的过程实现的小案例
前端注册页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form action="service01" method="post">
账户:<input type="text" name="username" /></br>
密码:<input type="text" name="password"></br>
<button type="submit">注册</button>
</form>
</body>
</html>
登录界面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="service02" method="post">
账户:<input type="text" name="username" /></br>
密码:<input type="text" name="password"></br>
<button type="submit">登录</button>
</form>
</body>
</html>
注册为驱动,获取链接复用代码
package com.qf.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class DButils {
private static final String DRIVER;
private static final String URL;
private static final String USERNAME;
private static final String PASSWORD;
private static Properties properties = new Properties();
static {
InputStream stream = DButils.class.getClassLoader().getResourceAsStream("db.properties");
try {
properties.load(stream);
} catch (Exception e) {
e.printStackTrace();
}
DRIVER = properties.getProperty("driver");
URL = properties.getProperty("url");
USERNAME = properties.getProperty("username");
PASSWORD = properties.getProperty("password");
}
//加载驱动
public static void loadDriver() throws Exception {
Class.forName(DRIVER);
}
//获取连接
public static Connection getConnection() throws Exception {
loadDriver();
return DriverManager.getConnection(URL,USERNAME,PASSWORD);
}
//释放资源
public static void release(Connection connection, Statement statement, ResultSet resultSet){
if(resultSet != null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
resultSet = null;
}
if(statement != null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
statement = null;
}
if(connection != null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
connection = null;
}
}
}
表示层
- 注册处理代码
package com.qf.service;
import com.qf.bean.User;
import com.qf.dao.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 = "Service01",urlPatterns = "/service01")
public class Service01 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
User user = new User(req.getParameter("username"),req.getParameter("password"));
UserDaoImpl userDao = new UserDaoImpl();
int i = userDao.addUser(user);
if(i == 1){
resp.sendRedirect("login.html");
}else{
resp.sendRedirect("reqist.html");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
- 登录处理代码
package com.qf.service;
import com.qf.bean.User;
import com.qf.dao.UserDaoImpl;
import javax.servlet.RequestDispatcher;
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 = "Service02",urlPatterns = "/service02")
public class Service02 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
User user = new User(req.getParameter("username"),req.getParameter("password"));
UserDaoImpl userDao = new UserDaoImpl();
User user1 = userDao.selectUser(user.getUsername());
if(user1 != null && user.getPassword().equals(user1.getPassword())){
RequestDispatcher service03 = req.getRequestDispatcher("service03");
service03.forward(req,resp);
}else{
resp.sendRedirect("login.html");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
- 登录成功处理代码
package com.qf.service;
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 = "Service03",urlPatterns = "/service03")
public class Service03 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setHeader("Content-Type","text/html;charset=utf-8");
String str = req.getParameter("username")+ "欢迎回来";
resp.getWriter().write(str);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
数据访问层
package com.qf.dao;
import com.qf.bean.User;
import com.qf.util.DButils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class UserDaoImpl implements UserDao {
@Override
public int addUser(User user) {
int num = 0;
Connection connection= null;
PreparedStatement preparedStatement = null;
try {
connection = DButils.getConnection();
String sql = "insert into un(username,password) values(?,?)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,user.getUsername());
preparedStatement.setString(2,user.getPassword());
num = preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DButils.release(connection,preparedStatement,null);
}
return num;
}
//查询单个
@Override
public User selectUser(String username) {
User user = new User();
Connection connection= null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
connection = DButils.getConnection();
String sql = "select * from un where username=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,username);
resultSet = preparedStatement.executeQuery();
if(resultSet.next()){
user.setUsername(resultSet.getString("username"));
user.setPassword(resultSet.getString("password"));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
DButils.release(connection,preparedStatement,resultSet);
}
return user;
}
}