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个子文件)
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
blue.css 2KB
grey.css 2KB
aero.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
orange.css 1KB
yellow.css 1KB
green.css 1KB
green.css 1KB
cobalt.css 1KB
pink.css 1KB
blue.css 1KB
grey.css 1KB
aero.css 1KB
pink.css 1KB
blue.css 1KB
grey.css 1KB
aero.css 1KB
red.css 1KB
red.css 1KB
minimal.css 1KB
polaris.css 1KB
square.css 1KB
simplescrollbars.css 1KB
purple.css 1KB
orange.css 1KB
yellow.css 1KB
green.css 1KB
pink.css 1KB
blue.css 1KB
grey.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
资源评论
马coder
- 粉丝: 1214
- 资源: 6602
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功