package com.qf.myblogssm.controller;
import com.qf.myblogssm.pojo.Article;
import com.qf.myblogssm.pojo.Tag;
import com.qf.myblogssm.pojo.User;
import com.qf.myblogssm.service.ArticleService;
import com.qf.myblogssm.service.CommentService;
import com.qf.myblogssm.service.TagService;
import com.qf.myblogssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping("/users")
public class UserController {
//根据名称进行注入
//@Resource
//自行装配的注释
//根据类型进行注入
@Autowired
private UserService userService;
@Autowired
private ArticleService articleService;
@Autowired
private TagService tagService;
@Autowired
private CommentService commentService;
//设置路径的访问,是通过接口文档来设置
@RequestMapping("/index")
public String index(HttpServletRequest request,Model model){
//会去redis数据库中判断用户的token令牌
//先判断session里面是否有一个用户,如果有则直接进入主页面,如果没有则进入登陆页
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
if(user != null) {
//应该将session的过期时间进行刷新
session.setMaxInactiveInterval(300);
//需要加载的静态的页面信息
ini(model);
//http://localhost:8080/myblogssm_war_exploded/index.jsp
///jsp/main.jsp
return "main";
}else{
return "login";
}
}
@RequestMapping("/loginout")
public String loginout(HttpServletRequest request){
request.getSession().setAttribute("user",null);
return "login";
}
@RequestMapping("/login")
public String login(String username, String password, HttpServletRequest request, Model model){
//调用服务层 声明一个服务层的对象
User user = userService.login(username,password);
//返回我们需要的界面 login.jsp main.jsp
if(user!=null){
//返回maia.jsp
//将登陆成功的user放到session中并设置过期时间
HttpSession session = request.getSession();
session.setAttribute("user",user);
//设置过期时间 单位是秒
session.setMaxInactiveInterval(300);
//携带着主页面的初始化信息
//实现文章列表的携带 操作文章的服务器
//需要文章的服务层提供一个函数 并且该函数需要返回一个存放着Article的list
ini(model);
return "main";
}else {
//携带错误信息返回
//request.setAttribute("msg","用户名或密码错误");
model.addAttribute("msg","用户名或密码错误");
return "login";
}
}
//封装一个初始化页面信息的函数
public void ini(Model model){
List<Article> articleList = articleService.selectAll();
model.addAttribute("article_list",articleList);
//实现文章个数 分类个数 标签个数
int tagList = tagService.selectTag();
model.addAttribute("tag_number",tagList);
int commentNumber = commentService.selectComment();
model.addAttribute("sort_number",commentNumber);
int articleNumber = articleService.selectArticle();
model.addAttribute("article_number",articleNumber);
//实现分类统计 sort_count_map key值为分类名称 value值为分类统计个数
Map<String,Integer> sort_count_map = articleService.getSortAndCoust();
model.addAttribute("sort_count_map",sort_count_map);
//标签
List<Tag> taglist = tagService.selectAll();
model.addAttribute("tag_list",taglist);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
大三软件工程实训项目:ssm+mysql的博客系统.zip
共1570个文件
png:975个
js:215个
css:119个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 72 浏览量
2023-10-30
21:41:10
上传
评论 2
收藏 6.51MB ZIP 举报
温馨提示
1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 -------- 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
资源推荐
资源详情
资源评论
收起资源包目录
大三软件工程实训项目:ssm+mysql的博客系统.zip (1570个子文件)
AUTHORS 6KB
editormd.css 76KB
emojify.css 68KB
editormd.min.css 60KB
editormd.preview.css 55KB
editormd.preview.min.css 44KB
layui.css 27KB
ambiance.css 26KB
_all.css 20KB
_all.css 14KB
layer.css 14KB
_all.css 14KB
layer.css 14KB
_all.css 12KB
laydate.css 8KB
codemirror.css 8KB
codemirror.min.css 5KB
layer.css 5KB
mdn-like.css 5KB
solarized.css 5KB
merge.css 3KB
style.css 3KB
lint.css 3KB
xq-dark.css 3KB
lesser-dark.css 2KB
pastel-on-dark.css 2KB
xq-light.css 2KB
purple.css 2KB
yellow.css 2KB
tomorrow-night-eighties.css 2KB
orange.css 2KB
green.css 2KB
pink.css 2KB
aero.css 2KB
blue.css 2KB
grey.css 2KB
red.css 2KB
editormd.logo.css 2KB
erlang-dark.css 2KB
zenburn.css 2KB
line.css 2KB
twilight.css 2KB
midnight.css 2KB
vibrant-ink.css 2KB
mbo.css 2KB
base16-dark.css 2KB
base16-light.css 2KB
style.css 2KB
tern.css 2KB
3024-night.css 2KB
paraiso-dark.css 2KB
paraiso-light.css 2KB
tomorrow-night-bright.css 2KB
3024-day.css 2KB
blackboard.css 2KB
colorforth.css 2KB
editormd.logo.min.css 2KB
the-matrix.css 2KB
night.css 2KB
icheck.css 2KB
rubyblue.css 2KB
purple.css 1KB
orange.css 1KB
yellow.css 1KB
monokai.css 1KB
purple.css 1KB
yellow.css 1KB
orange.css 1KB
green.css 1KB
green.css 1KB
cobalt.css 1KB
pink.css 1KB
grey.css 1KB
aero.css 1KB
blue.css 1KB
pink.css 1KB
aero.css 1KB
blue.css 1KB
grey.css 1KB
red.css 1KB
red.css 1KB
minimal.css 1KB
polaris.css 1KB
square.css 1KB
simplescrollbars.css 1KB
purple.css 1KB
yellow.css 1KB
orange.css 1KB
green.css 1KB
grey.css 1KB
blue.css 1KB
pink.css 1KB
aero.css 1KB
futurico.css 1KB
red.css 1KB
flat.css 1KB
eclipse.css 1KB
code.css 1KB
neo.css 932B
main.css 839B
共 1570 条
- 1
- 2
- 3
- 4
- 5
- 6
- 16
资源评论
- 酒巷8002023-11-15怎么能有这么好的资源!只能用感激涕零来形容TAT...
- m0_748378522024-01-04非常有用的资源,可以直接使用,对我很有用,果断支持!
程皮
- 粉丝: 277
- 资源: 2566
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功