• 【JavaWeb】火车票管理系统 (三)用户登录-01


    流程:
    1.用户填写用户名和密码,提交到LoginServLet
    2.在LoginServLet中使用MyBatis查询数据库,验证用户密码是否正确
    3.如果正确,则显示登录成功,否则登录失败 在页面请求后LoginServLet里: 1、接收用户名和密码 2、调用Mapper查询数据库,返回user对象 3、判断user对象是否为null 之后响应请求
    1/在mapper接口中提供usermapper的接口,是用来查询用户的,根据用户名和密码返回user对象
    ps:不知道记了些啥,看不懂了

    重新清理一下:
    1、创建数据库(想太复杂了,啥都不懂就抠细节,进去了就出不来,怎么死的都不知道)
    user 表
    2、前台页面
    登录页面 login.jsp

          登录表单验证:
          1、登录按钮的点击事件
          2、获取用户名字和密码
          3、判断姓名是否为空
              如果为空,用span标签提示用户,return
              4、判断密码是否为空
              5、都不为空就提交表单
       首页 index.jsp
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    <%--
      Created by IntelliJ IDEA.
      User: 向阳
      Date: 2022/10/31
      Time: 15:23
      To 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"></span><br>
          <button type="button" id="loginBtn">登录</button>
          <button type="button">注册</button>
        </form>
      </div>
    </body>
    <%--引入jquery的js文件--%>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
    <%--      登录表单验证:
              1、登录按钮的点击事件
              2、获取用户名字和密码
              3、判断姓名是否为空
                  如果为空,用span标签提示用户,return
                  4、判断密码是否为空
                  5、都不为空就提交表单
           首页 index.jsp--%>
      $("#loginBtn").click(function (){
      var uname=$("#uname").val();
      var upwd=$("#upwd").val();
      if(isempty(uname)){
        $("#msg").html("用户姓名不可为空!");
        return;
      }
        if(isempty(upwd)){
          $("#msg").html("用户密码不可为空!");
          return;
        }
      $("#loginform").submit();
      });
      //判断字符串是否为空
      function isempty(str){
        if(str==null||str.trim()=="")
          return true;
        else
          return false;
      }
    </script>
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57

    ps:分层思想:
    controller层
    接收请求
    (调用service层,返回结果)
    响应结果
    service层
    业务逻辑判断
    mapper
    接口类
    mapper.xml mybatis与数据库的相关操作
    entity(po、model)
    javabean实类
    util
    工具类(通用的方法/类)
    test
    调式类/方法
    3、后台实现
    分层创建好文件
    在这里插入图片描述
    在web-inf中导入jar包
    mysql.jar和mybatis.jar(自己找,导入后记得把它放到项目里)
    然后的第一步:在刚刚创建的entity中创建用户实体类

    package com.example.loginpj.entity;
    //用户实体类
    public class user {
        private Integer userid;
        private String username;
        private  String userpwd;
    
        public Integer getUserid() {
            return userid;
        }
    
        public String getUsername() {
            return username;
        }
    
        public String getUserpwd() {
            return userpwd;
        }
    
        public void setUserid(Integer userid) {
            this.userid = userid;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public void setUserpwd(String userpwd) {
            this.userpwd = userpwd;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    第二步在mapper中写入usermapper.xml

    package com.example.loginpj.mapper;
    
    import com.example.loginpj.entity.user;
    
    //用户接口类
    public class usermapper {
        public user queryUserByName(String uname) {
            return null;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    还要usermapper的接口usermapper.java

    package com.example.loginpj.mapper;
    
    import com.example.loginpj.entity.user;
    
    //用户接口类
    public class usermapper {
        public user queryUserByName(String uname) {
            return null;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    学习视频

    好像是像模像样的学着视频里面打出来了一点,不知道最后能不能实现,饿死了,,,
    先去吃饭了

  • 相关阅读:
    固定翼飞机数学建模入门(姿态角篇)
    Grafana Prometheus 监控JVM进程
    每天五分钟机器学习:如何解决过拟合问题?
    经济专业技术资格考试-经济专业技术资格分为初级、中级、高级三个级别
    Docker安装部署ElasticSearch(ES)
    虚拟机双网卡设置(外网+内网)
    MQ 消息丢失、重复、积压问题,如何解决?
    ArkTS声明式开发范式
    无线电HAM:业余无线电入门【无线电操作人员考证】【干货收藏】【网络安全进阶】
    C语言天花板——指针(进阶1)
  • 原文地址:https://blog.csdn.net/weixin_52078305/article/details/127613524