700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 使用MVC模型实现用户登录注册以及退出

使用MVC模型实现用户登录注册以及退出

时间:2020-11-07 10:06:57

相关推荐

使用MVC模型实现用户登录注册以及退出

jsp内容

主页:

<%@ page import="com.nnxy.entity.User" %><%--Created by IntelliJ IDEA.User: nnxyDate: /5/16Time: 14:53To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>主页</title></head><body><%User user = (User) session.getAttribute("user");if (user != null) {%><h1>登录成功,欢迎<%= user.getUsername()%></h1><form action="exit" method="post"><input type="submit" name="exit" value="exit"></form><%} else {%><h1><a href="login.jsp">请登录</a></h1><br><h1><a href="register.jsp">注册</a></h1><%}%></body></html>

登录:没有变

注册:

<%--Created by IntelliJ IDEA.User: nnxyDate: /5/16Time: 19:58To 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">用户名: <input type="text" name="username"><br>密 码: <input type="password" name="password"><br>电话:<input type="text" name="telephone"><br>生 日:<input type="date" name="birthday"><br>性 别:<input type="radio" name="sex" value="男" checked>男<input type="radio" name="sex" value="女">女<br><input type="submit" value="注册"><span style="color: red"><%=request.getAttribute("error") == null ? "" : request.getAttribute("error")%></span></form></body></html>

java代码

utlis:

使用之前写的UUID工具类

package com.nnxy.utlis;import java.util.UUID;/*** UUID 是指一台机器上生成的数字,保证同一时空中的所有机器都是唯一的** UUID 由以下几部分组成* 1 当前日期和时间 生成一个UUID之后 过几秒再生成一个 则第一部分不同 其他相同* 2 时钟序列* 3 全局唯一的机器识别号,如果由网卡 则从网卡的MAC地址获取*/public class UUIDUtils {//获取唯一id的方法public static String getUUID(){return UUID.randomUUID().toString().replace("-","");}}

servlet:

注册

RegisterServlet:

package com.nnxy.servlet;import com.nnxy.entity.User;import com.nnxy.service.UserService;import com.nnxy.utlis.UUIDUtils;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 {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");String uuid = UUIDUtils.getUUID();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");UserService userService = new UserService();User user = new User(uuid, username, password, telephone, birthday, sex);int register = userService.register(user);if(register<0){System.out.println(username+"注册失败");req.setAttribute("error","注册失败");RequestDispatcher requestDispatcher = req.getRequestDispatcher("register.jsp");requestDispatcher.forward(req,resp);}else {System.out.println(username+"注册成功");HttpSession session = req.getSession();session.setAttribute("user",user);resp.setContentType("text/html;charset=utf-8");resp.sendRedirect("index.jsp");}}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}}

退出:

ExitServlet:

package com.nnxy.servlet;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 = "ExitServlet",urlPatterns = "/exit")public class ExitServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {HttpSession session = req.getSession();session.setAttribute("user",null);//将session设为空值resp.setContentType("text/html;charset=utf-8");resp.sendRedirect("index.jsp");}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}}

service

UserService:

package com.nnxy.service;import com.nnxy.dao.UserDao;import com.nnxy.entity.User;public class UserService {private UserDao userDao = new UserDao();/*** 自定义方法 实现根据参数对象的User对象 调用UserDao实现登录* @param user* @return*/public User login(User user) {if(user.getUsername() != null && user.getPassword() != null){return userDao.login(user);}else {return null;}}/*** 实现根据参数对象User对象 调用方UserDao实现注册* @param user* @return*/public int register(User user){if(user.getUsername() != null && user.getPassword() != null){return userDao.register(user);}else {return 0;}}}

dao

UserDao:

package com.nnxy.dao;import com.nnxy.entity.User;import com.nnxy.utlis.DruidUtils;import mons.dbutils.QueryRunner;import mons.dbutils.handlers.BeanHandler;import java.sql.SQLException;public class UserDao {QueryRunner qr = new QueryRunner(DruidUtils.dataSource);/*** 登录功能* @param user* @return*/public User login(User user) {try {String sql = "select * from user where username = ? and password = ?";User sqlUser = qr.query(sql, new BeanHandler<>(User.class), user.getUsername(), user.getPassword());return sqlUser;} catch (SQLException e) {e.printStackTrace();}//表示查找失败return null;}public int register(User user){int update = 0;String sql = "insert into user values (?,?,?,?,?,?)";try {update = qr.update(sql,user.getUid(),user.getUsername(),user.getPassword(),user.getTelephone(),user.getBirthday(),user.getSex());return update;} catch (SQLException e) {e.printStackTrace();}return update;}}

结果展示

主页:

注册:

注册成功会自动登录

数据库插入成功

点击exit 退出登录回到主页面

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。