九。后台管理系统
1.前面基本上的功能都已经实现了,最后就行优化和界面管理!
1)过滤器接口实现直接访问主页面的时候需要先登录的功能
在client里面创建filter创建UserFilter 类然后引入Filter重写方法
package com.redhat.filter; import com.redhat.entity.User; import org.springframework.stereotype.Component; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; @Component @WebFilter(urlPatterns ={"/index.html"},filterName = "userFilter") public class UserFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse)servletResponse; HttpSession session = request.getSession(); User user = (User)session.getAttribute("user"); if (user==null){ response.sendRedirect("login.html"); }else{ filterChain.doFilter(servletRequest,servletResponse); } } @Override public void destroy() { } } 在client的启动类添加注解@ServletComponentScan
测试当输入index.html直接跳转到登录页面
2.添加admin的前端页面并实现相关操作和数据封装显示
1)前端页面main
链接:https://pan.baidu.com/s/1sN5ncNRDkFXH5Y3s3lWzlw
提取码:foq1
2)对应图片放在client的static里面
链接:https://pan.baidu.com/s/1AzLjsJUak7LzGjwAk6KBqA
提取码:k55q
3)修改clinet 的accounthandler下的完成剩下功能
case "admin": Admin admin =new Admin(); idStr = hashMap.get("id")+""; id = Long.parseLong(idStr); String username2 = (String)hashMap.get("username"); admin.setId(id); admin.setUsername(username2); session.setAttribute("admin",admin); result = "main"; break;
测试登录admin1管理员如下
修改路径测试
client前端页面main 中将<iframe src="/account/redirect/menu_manage"改为
<iframe src="/menu/redirect/menu_manage"
<!-- 主体开始 --> <div class="layui-body"> <iframe src="/menu/redirect/menu_manage" style="width: 100%;height: 100%;border: 0px"></iframe> </div>
client中userhandler主要将返回路径变成 return "redirect:/menu/redirect/menu_manage";
package com.redhat.controller; import com.redhat.entity.User; import com.redhat.entity.UserVO; import com.redhat.feign.UserFeign; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; @Controller @RequestMapping("/user") public class UserHandler { @Autowired private UserFeign userFeign; @GetMapping("/findAll") @ResponseBody public UserVO findAll(@RequestParam("page")int page, @RequestParam("limit")int limit){ int index = (page-1)*limit; UserVO userVO = new UserVO(); userVO.setCode(0); userVO.setMsg(""); userVO.setCount(userFeign.count()); userVO.setData(userFeign.findAll(index,limit)); return userVO; } // @GetMapping("/redirect/{location}") // public String redirect(@PathVariable("location") String location){ // return location; // } @GetMapping("/count") public int count(){ return userFeign.count(); } @PostMapping("/save") public String save(User user){ user.setRegisterdate(new Date()); userFeign.save(user);