登录框功能实现
参考文章:https://blog.csdn.net/qq_43711438/article/details/116108081
参考视频:https://www.bilibili.com/video/BV18f4y1D72h?p=2&share_source=copy_web
(ps:目前网上很多文章对小白很不友好,虽然从外网上找了个很成熟的项目搭建成功了,但还是找个简单的视频好好学学,稍安勿躁)
基础模型设置

分析
1、创建数据库,设计关键字段2、前台页面登录页面 login.jsp用户登录 JS校验登录表单验证1、给登录按钮绑定点击事件2、获取用户的用户名和密码的值3、如果用户名字为空,提示用户(span标签赋值),并且return4、如果密码名字为空,提示用户(span标签赋值),并且return5、如果都不为空,则手动提交表单首页(登录后的页面) index.jsp3、后台实现登录功能1、接收客户端的请求(接收参数:姓名,密码)2、参数的非空判断,不要相信前端的判断如果参数非空,通过消息模型对象返回数据,返回结果(设置状态,设置提示信息、回显数据)将消息模型对象设置到request作用域中,请求转发跳转到登录页面return3、通过用户名查询用户对象(通过用户名查询用户)4、判断用户名是否为空如果为空,通过消息模型对象返回数据,返回结果(设置状态,设置提示信息、回显数据)将消息模型对象设置到request作用域中,请求转发跳转到登录页面return5、如果用户名存在,则将数据库中查询的用户密码与前台传递的密码作比较如果不相等,通过消息模型对象返回数据,返回结果(设置状态,设置提示信息、回显数据)将消息模型对象设置到request作用域中,请求转发跳转到登录页面return如果相等,表示登录成功将用户信息设置到session的作用域中请求转发到登录页面(或者重定向到登录页面中)controller层(请求转发,响应结果)1、接受客户的请求(接收参数:姓名、密码)2、调用service层方法,返回消息模型对象3、判断消息模型状态码如果状态码失败将消息模型设置到request作用域中,然后请求转发挑战到登录界面如果状态码成功将消息模型中的用户信息设置到session作用域中,然后重定向跳转到index.jspservice层(业务逻辑)1、参数的非空判断如果参数为空将状态码,提示信息,回显数据设置到消息模型回显对象中,return消息模型对象2、调用dao层的查询方法,通过用户名查询用户对象3、判断用户对象是否为空如果用户对象为空将状态码,提示信息,回显数据设置到消息模型回显对象中,return消息模型对象4、判断数据库中查询的用户密码与前台查询的密码做比较如果不相等,将状态码,提示信息,回显数据设置到消息模型回显对象中,return消息模型对象5、登录成功,成功状态,提示信息,用户对象信息设置消息模型对象,并returnmapper(dao层)定义对应的接口分层思想:controller层接受请求(调用service层,返回结果)响应结果service层业务逻辑判断mapper(dao)层接口类mapper.xml,mybatis与数据库相关的操作entity(po,model)JavaBean实体util工具类(通用的类/方法)test测试类/方法
具体代码
目录
login.jsp
<%--Created by IntelliJ IDEA.User: 15655Date: 2022/2/17Time: 15:25To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>用户登录</title></head><body><div style="text-align: center"><form action="/login" method="post" id="loginForm">姓名:<input type="text" name="uname" id="uname"> <br>密码:<input type="password" name="upwd" id="upwd"> <br><span id="msg" style="font-size: 12px;color:red"></span><br><button type="button" id="loginBtn">登录</button><button type="button">注册</button></form></div></body><%--引入jquery的js文件--%><script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.4.1/jquery.js"></script><script type="text/javascript">/* 1、给登录按钮绑定点击事件(通过id选择器绑定)// 2、获取用户的用户名和密码的值// 3、如果用户名字为空,提示用户(span标签赋值),并且return// 4、如果密码名字为空,提示用户(span标签赋值),并且return// 5、如果都不为空,则手动提交表单*/$("#loginBtn").click(function (){var uname = $("#uname").val();var upwd = $("#upwd").val();if(isEmpty(uname) || isEmpty(upwd)){$("#msg").html("用户名或密码不能为空!");return;}$("#loginForm").submit();});function isEmpty(str){if (str == null || str.trim() == ""){return true;}else {return false;}}</script></html>
