用户登录、注册的简单案例: html+css+MyBatis+Servlet

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

用户登录

一. 用户登录

1. 流程与思路

基本流程

  1. 用户填写用户名密码提交到Servlet
  2. 在Servlet使用MyBatis查询数据库验证用户名密码
  3. 如果正确响应”登录成功“反之响应”登录失败“

在这里插入图片描述

详细过程

  • 浏览器的请求信息通过HTML中的表单表单的action有servlet地址以HTTP请求报文的形式提交到Tomcat服务器
  • Tomcat解析HTTP请求报文而后交给Servlet中的Request对象一般使用POST方式将用户名密码放在请求体中
  • 提取Request对象中的用户名密码信息
  • 通过MyBatis查询数据库并返回user对象判断User对象是否为null不是则成功反之失败
  • 查询结果通过Response对象输出响应数据
  • 数据通过Tomcat拼接并返回给浏览器

2. 准备环境

  1. 将前端静态页面html、css、js拷贝到webapp目录
  2. 创建数据库建表在MyBatis创建User实体类src-main-java-com.abc-User
  3. 在Maven中导入MyBatis和数据库Driver的坐标
  4. 创建Mybatis的核心配置文件 mybatis-config.xml, UserMapper.xml映射文件UserMapper代理接口

建库建表

在这里插入图片描述

Pojo实体类User

在这里插入图片描述

Maven坐标

在这里插入图片描述

mybatis核心配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!-- 数据库连接信息 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!-- 关闭SSL安全协议 -->
                <property name="url" value="jdbc:mysql://localhost/bjpowernode?serverTimezone=Asia/Shanghai&amp;useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>

注意 &后面的amp; 是转义字符

代理接口

创建src-main-java-com.abc-mapper目录
在这里插入图片描述
注意mapper代理接口文件和映射文件在同名目录下

sql比较简单这里直接用注释的方法写
多条件查询使用@Param注解参数的方式
在这里插入图片描述

3. 编写

目录

在这里插入图片描述

HTML

注意在表单的action中输入Servlet的地址
在这里插入图片描述

Serlvet

用Request对象获取接收到的用户名密码
在doGet中查询mybatis返回查询结果user不为null则正确反之错误
用Response返回字符数据先设置setContentType()避免中文乱码吗然后获取字符输出流writer最后write输出信息

在这里插入图片描述
在这里插入图片描述
结果直接在浏览器中显示中文

4. 效果

在这里插入图片描述

在这里插入图片描述

二. 用户注册

1. 基本流程与思路

在这里插入图片描述

在这里插入图片描述

2. 编写

代理接口

方法1 判断username是否重复
方法2 添加用户名密码到数据库
在这里插入图片描述
添加用户时注意这里用的省略添加字段的写法values() 中需要所有字段而id是自增的主键所以填 null 即可

HTML

注意action=servlet的访问路径和method=”post”
在这里插入图片描述

Servlet

注意
1.MyBastis在进行添加操作时接口中抽象方法add的参数是 POJO类 需要将要添加的信息封装到POJO类中
2.DML语句提交事务 sqlSession.copmmit()

由Request对象获取用户名密码
然后将用户名密码封装到User对象
在这里插入图片描述

MyBatis套路
在这里插入图片描述
注意提交事务
将封装的user对象传入add方法
在这里插入图片描述
如果返回的为null就添加到数据库
如果返回的不为null就用Response输出提示

3. 效果

在这里插入图片描述

数据已添加到数据库
在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: CSS