在课堂中实现的登录功能项目的基础上,完成注册与登出功能
register.jsp
<%--
Created by IntelliJ IDEA.
User: 17974
Date: 2022/5/16
Time: 19:05
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册界面</title>
</head>
<body>
<form action="register" method="post">
用户id:<input type="text" name="uid"> <br>
用户名:<input type="text" name="username"> <br>
密 码:<input type="password" name="password"> <br>
手机号:<input type="text" name="telephone"> <br>
生 日:<input type="text" name="birthday"> <br>
性别:<input type="text" name="sex"> <br>
<span style="color: red">
<%=request.getAttribute("error")==null ? "":request.getAttribute("error")%>
</span>
<input type="reset" value="重置">
<input type="submit" value="点击注册">
</form>
</body>
</html>
RegisterServlet.java
package com.qiku.servlet;
import com.qiku.entity.User;
import com.qiku.service.RegisterService;
import com.qiku.service.UserService;
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 javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet(name = "registerServlet", urlPatterns = "/register")
public class RegisterServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String uid = req.getParameter("uid");
String username = req.getParameter("username");
String password = req.getParameter("password");
String telephone = req.getParameter("telephone");
String birthday = req.getParameter("birthday");
String sex = req.getParameter("sex");
System.out.println("生日:" + birthday + "性别:" + sex);
RegisterService registerService = new RegisterService();
registerService.register(new User( uid,username, password, telephone, birthday, sex));
if (uid == "" || username == "" || password == "" || telephone == "" || birthday == "" || sex == "") {
System.out.println("请输入完整的用户信息");
req.setAttribute("error", "请输入完整的用户信息");
RequestDispatcher requestDispatcher = req.getRequestDispatcher("register.jsp");
requestDispatcher.forward(req, resp);
} else {
System.out.println("注册成功");
resp.setContentType("text/html;charset=utf-8");
//跳转到注册成功界面
resp.sendRedirect("zccg.jsp");
}
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
}
RegisterService.java
package com.qiku.service;
import com.qiku.dao.UserDao;
import com.qiku.entity.User;
public class RegisterService {
private UserDao userDao = new UserDao();
public void register(User user) {
if (user.getUid()!=null && user.getUsername() != null && user.getPassword() != null
&& user.getTelephone() != null && user.getBirthday() != null
&& user.getSex() != null) {
userDao.register(user);
}
}
}
UserDao.java
package com.qiku.dao;
import com.qiku.entity.User;
import com.qiku.utils.DruidUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import java.sql.SQLException;
public class UserDao {
QueryRunner qr = new QueryRunner(DruidUtils.dataSource);
/**
* 注册功能
* @param user
* @return
*/
public void register(User user) {
try {
String sql = "insert into user values (?,?,?,?,?,?)";
int i = qr.update(sql, user.getUid(), user.getUsername(), user.getPassword(), user.getTelephone(), user.getBirthday(), user.getSex());
System.out.println(i);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
zccg.jsp
<%--
Created by IntelliJ IDEA.
User: 17974
Date: 2022/5/16
Time: 21:51
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册成功界面</title>
</head>
<body>
<h1 style="color: aquamarine" >注册成功!!!!</h1>
</body>
</html>
成功注册流程
![在这里插入图片描述](https://img-blog.csdnimg.cn/3ca56522b33548e7af76c24284bb00d1.png
任意输入框为空则注册不成功