MySql笔记-5

通过Session实现记住登录状态MySql笔记-5_第1张图片

  • 当客户端第一次向服务器发请求进行登录时, 服务器会在内存中创建一个会话对象,并且登录成功的user对象保存到此会话对象里面, 然后服务器会创建一个Cookie,把此时会话对象的id保存到cookie里面下发给客户端,之后客户端每次发出请求都会带着这个id, 服务器接收到请求后会拿着这个id找到和这个客户端对应的Session对象, 然后从对象里面查找是否有登录成功时保存的user对象, 有则代表登录过, 没有则代表未登录. 这种和Session对象配套使用的cookie保存时长是会话结束的时候,也就是浏览器关闭再访问服务器就会创建一个新的Session对象那么之前保存的登录状态也不存在了. 服务器重启后内存中的Session也会清空

修改微博

use empdb;
drop table weibo;
create table weibo(id int primary key auto_increment,content 
varchar(255),urls varchar(255),nick varchar(50),created 
timestamp,user_id int) charset=utf8;

创建评论表的SQL语句

create table comment(id int primary key auto_increment,
content varchar(255),nick varchar(50),weibo_id int)charset=utf8;

微博练习步骤

  1. 创建工程 11改8 3个打钩
  2. 在配置文件中添加内容,需要注意用户名,和文件路径两个地方是否需要修改
    spring.datasource.url=jdbc:mysql://localhost:3306/empdb?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
    spring.datasource.username=root
    spring.datasource.password=root
    #配置静态资源文件夹 默认的是static文件夹
    spring.web.resources.static-locations=file:D:/file,classpath:static
    #设置单个上传文件的大小
    spring.servlet.multipart.max-file-size=10MB
    #设置批量上传文件的总大小
    spring.servlet.multipart.max-request-size=100MB
    
  3. 添加首页实现登录功能,创建User和UserMapper,创建UserControler
  4. 在UserController登录成功时,判断是否需要记住用户和密码。如果需要,通过Cookie下发给浏览器,而且需要通过Session记住登录状态,把登陆成功的用户对象装进Session对象里面MySql笔记-5_第2张图片
  5. 首页根据的是否登录 显示不同
    1. 发请求获取当前登录的用户对象是否有值控制isLogin的变量,然后让网页中的内容根据isLogin的值控制显示或不显示MySql笔记-5_第3张图片MySql笔记-5_第4张图片
    2. 退出登录就是向服务器发出一个退出的请求,在Controller中把Session里面的用户对象删除即可MySql笔记-5_第5张图片
  6. 发布微博的功能
    • 创建send.html页面,页面中用到了ElementUI组件,里面需要往/upload发请求上传的文件 和处理删除请求,UploadController里面的路径需要检查是否需要修改 .
    • 创建Weibo实体类,WeiboMapper ,WeiboController
    • 发布微博的页面相关代码,从页面中获取用户输入的文本和用户选择的图片路径 提交给服务器MySql笔记-5_第6张图片
    • WeiboController处理此请求 MySql笔记-5_第7张图片
  7. 在首页显示微博列表:
    1. 在进入首页是想WeiboController发请求获取所有微博数据,把得到的数据赋值给Vue里面的数据,然后数据进行绑定MySql笔记-5_第8张图片
    页面部分MySql笔记-5_第9张图片
  8. 查看微博详情页面:
    1. 把微博的标签改成超链接,点击时跳转到新的页面MySql笔记-5_第10张图片
    2. 创建detail.html页面,进入页面后通过地址栏中的ID向服务器取ID所对应的微博信息,把得到的数据赋值给Vue里面的weibo对象,让页面内容和weibo对象进行绑定,这样得到数据后页面就会显示出微博信息,发请求代码:MySql笔记-5_第11张图片页面显示部分代码:MySql笔记-5_第12张图片
  9. 发布评论:
    - 在页面中的添加form表单 获取用户输入的信息 并在Vue里面添加一个comment对象和表单数据 双向绑定, 最后点击发布评论时向服务器发出请求MySql笔记-5_第13张图片
    发请求相关代码:MySql笔记-5_第14张图片
  • 创建Comment,CommentMapper和CommentControllerController中发布评论相关代码MySql笔记-5_第15张图片
  1. 显示评论:
    1. 在进入详情页面时就要发出请求获取所有评论数据MySql笔记-5_第16张图片
    2. 在页面中和cArr数组进行绑定并显示评论MySql笔记-5_第17张图片
    3. 在CommentController中处理获取所有评论的请求MySql笔记-5_第18张图片

Coolshark商城引流项目

  1. 创建工程coolshark 11改8 三个√
  2. 在工程配置文件里添加以下内容: 如果使用老师下面代码,需要修改密码和静态资源文件夹的路径
spring.datasource.url=jdbc:mysql://localhost:3306/cs?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
#配置静态资源文件夹 默认的是static文件夹
spring.web.resources.static-locations=file:D:/file,classpath:static
#设置单个上传文件的大小
spring.servlet.multipart.max-file-size=10MB
#设置批量上传文件的总大小
spring.servlet.multipart.max-request-size=100MB
  1. 把配置文件里面的empdb改成cs
  2. 停止之前的所有工程 ,运行此工程测试, 如果运行报错删掉工程 换个工程名重做1-3步
  3. 建库建表
create database cs charset=utf8;
use cs;
create table user(id int primary key auto_increment,username
varchar(50),password varchar(50),nick varchar(50))charset=utf8; 
insert into user values(null,'admin','123456','管理员');
  1. 工程里面添加首页和相关前端的框架文件, 从老师工程中获取js文件夹,css文件夹,imgs文件夹和index.html,starter.html 这5个文件夹和文件 放到自己工程的static文件夹下
  2. ReBuild工程后 重新启动 ,访问localhost:8080首页 检查是否正常显示.
  3. 从老师工程中获取两个图片 shark.png 和 bg.jpg 放到工程后ReBuild Static ctrl+shift+f9

登录功能步骤:

  1. 复制stater.html粘贴改为login.html页面,搭建登录页内容,点击登录按钮时发出登录请求
  2. 创建User UserController,在UserController里面处理/login请求

首页分类展示功能

  1. 创建表和数据
create table category(id int primary key auto_increment,name 
varchar(50))charset=utf8;
insert into category values(null,'女装'),(null,'男装'),(null,'医药'),(null,'美食'),(null,'鞋包'),(null,'百货');
  1. 创建Category实体类,包含ID和name连个属性,提供setget方法和tostring方法
  2. 创建CategoryMapper,添加insert和select两个方法
  3. 在index.html页面中在create方法里面发请求获取所有分类的信息,需要在首页里面的引入axios框架MySql笔记-5_第19张图片
  4. 创建CategoryController,处理查询所有分类的请求MySql笔记-5_第20张图片

首页轮播图展示

  1. 创建表并且添加数据
    create table banner(id int primary key auto_increment,url
    varchar(255))charset=utf8;
    insert into banner values(null,"/imgs/b1.jpg"),(null,"/imgs/b2.jpg"),(null,"/imgs/b3.jpg"),(null,"/imgs/b4.jpg");
  2. 创建Banner实体类 添加ID和URL属性
  3. 创建BannerMapper,里面添加insert和select两个方法
  4. 在首页的create方法中发请求获取所有轮播图信息MySql笔记-5_第21张图片
  5. 在首页显示轮播图的位置 修改代码MySql笔记-5_第22张图片
  6. 创建BannerController处理 查询所有轮播图的请求MySql笔记-5_第23张图片

你可能感兴趣的:(spring,boot)