通过Session实现记住登录状态
- 当客户端第一次向服务器发请求进行登录时, 服务器会在内存中创建一个会话对象,并且登录成功的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;
微博练习步骤
- 创建工程 11改8 3个打钩
- 在配置文件中添加内容,需要注意用户名,和文件路径两个地方是否需要修改
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
- 添加首页实现登录功能,创建User和UserMapper,创建UserControler
- 在UserController登录成功时,判断是否需要记住用户和密码。如果需要,通过Cookie下发给浏览器,而且需要通过Session记住登录状态,把登陆成功的用户对象装进Session对象里面
- 首页根据的是否登录 显示不同
- 发请求获取当前登录的用户对象是否有值控制isLogin的变量,然后让网页中的内容根据isLogin的值控制显示或不显示
- 退出登录就是向服务器发出一个退出的请求,在Controller中把Session里面的用户对象删除即可
- 发布微博的功能
- 创建send.html页面,页面中用到了ElementUI组件,里面需要往/upload发请求上传的文件 和处理删除请求,UploadController里面的路径需要检查是否需要修改 .
- 创建Weibo实体类,WeiboMapper ,WeiboController
- 发布微博的页面相关代码,从页面中获取用户输入的文本和用户选择的图片路径 提交给服务器
- WeiboController处理此请求
- 在首页显示微博列表:
1. 在进入首页是想WeiboController发请求获取所有微博数据,把得到的数据赋值给Vue里面的数据,然后数据进行绑定
页面部分 - 查看微博详情页面:
- 把微博的标签改成超链接,点击时跳转到新的页面
- 创建detail.html页面,进入页面后通过地址栏中的ID向服务器取ID所对应的微博信息,把得到的数据赋值给Vue里面的weibo对象,让页面内容和weibo对象进行绑定,这样得到数据后页面就会显示出微博信息,发请求代码:页面显示部分代码:
- 发布评论:
- 在页面中的添加form表单 获取用户输入的信息 并在Vue里面添加一个comment对象和表单数据 双向绑定, 最后点击发布评论时向服务器发出请求
发请求相关代码:
- 创建Comment,CommentMapper和CommentControllerController中发布评论相关代码
- 显示评论:
- 在进入详情页面时就要发出请求获取所有评论数据
- 在页面中和cArr数组进行绑定并显示评论
- 在CommentController中处理获取所有评论的请求
Coolshark商城引流项目
- 创建工程coolshark 11改8 三个√
- 在工程配置文件里添加以下内容: 如果使用老师下面代码,需要修改密码和静态资源文件夹的路径
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
- 把配置文件里面的empdb改成cs
- 停止之前的所有工程 ,运行此工程测试, 如果运行报错删掉工程 换个工程名重做1-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','管理员');
- 工程里面添加首页和相关前端的框架文件, 从老师工程中获取js文件夹,css文件夹,imgs文件夹和index.html,starter.html 这5个文件夹和文件 放到自己工程的static文件夹下
- ReBuild工程后 重新启动 ,访问localhost:8080首页 检查是否正常显示.
- 从老师工程中获取两个图片 shark.png 和 bg.jpg 放到工程后ReBuild Static ctrl+shift+f9
登录功能步骤:
- 复制stater.html粘贴改为login.html页面,搭建登录页内容,点击登录按钮时发出登录请求
- 创建User UserController,在UserController里面处理/login请求
首页分类展示功能
- 创建表和数据
create table category(id int primary key auto_increment,name
varchar(50))charset=utf8;
insert into category values(null,'女装'),(null,'男装'),(null,'医药'),(null,'美食'),(null,'鞋包'),(null,'百货');
- 创建Category实体类,包含ID和name连个属性,提供setget方法和tostring方法
- 创建CategoryMapper,添加insert和select两个方法
- 在index.html页面中在create方法里面发请求获取所有分类的信息,需要在首页里面的引入axios框架
- 创建CategoryController,处理查询所有分类的请求
首页轮播图展示
- 创建表并且添加数据
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"); - 创建Banner实体类 添加ID和URL属性
- 创建BannerMapper,里面添加insert和select两个方法
- 在首页的create方法中发请求获取所有轮播图信息
- 在首页显示轮播图的位置 修改代码
- 创建BannerController处理 查询所有轮播图的请求