ssm实现分页和拦截未登录访问(接上篇
2020-07-14 01:15
53 查看
PageInfo
import java.util.List; public class PageInfo<T> { private List<T> list; private int totalPage; private int size; private int totalCount; private int currentPage; public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } @Override public String toString() { return "PageInfo{" + "list=" + list + ", totalPage=" + totalPage + ", size=" + size + ", totalCount=" + totalCount + ", currentPage=" + currentPage + '}'; } }
UserController
import com.zhongruan.bean.PageInfo; import com.zhongruan.bean.User; import com.zhongruan.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpSession; import java.util.List; @Controller @RequestMapping("/user") public class UserController { @Autowired private IUserService userService; @RequestMapping("/login.do") public ModelAndView login(User user, HttpSession session){ boolean flag = userService.login(user.getUsername(), user.getPassword()); ModelAndView modelAndView=new ModelAndView(); if(flag){ session.setAttribute("user",user); modelAndView.setViewName("main"); }else { modelAndView.setViewName("../failer"); } return modelAndView; } @RequestMapping("/findAll.do") public ModelAndView findAll(@RequestParam(defaultValue = "1") int currentPage){ PageInfo<User> pageInfo=userService.findAll(currentPage); ModelAndView modelAndView=new ModelAndView(); modelAndView.addObject("pageInfo",pageInfo); modelAndView.setViewName("user-list"); return modelAndView; } @RequestMapping("/deleteById.do") public String delete(int id){ userService.deleteById(id); return "redirect:findAll.do"; } @RequestMapping("/add.do") public String add(User user){ userService.add(user); return "redirect:findAll.do"; } @RequestMapping("/toUpdate.do") public ModelAndView toUpdate(int id){ User user=userService.selectUserById(id); ModelAndView modelAndView=new ModelAndView(); modelAndView.setViewName("user-update"); modelAndView.addObject("user",user); return modelAndView; } @RequestMapping("/update.do") public String update(User user){ userService.update(user); return "redirect:findAll.do"; } }
UserDao
import com.zhongruan.bean.User; import java.util.List; public interface UserDao { User findUserByUserName(String username); List<User> findAll(int start); void deleteById(int id); void add(User user); User selectById(int id); void update(User user); int getTotalCount(); }
LoginFilter
import User; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; public class loginFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { HttpServletRequest request= (HttpServletRequest) servletRequest; HttpServletResponse response= (HttpServletResponse) servletResponse; HttpSession session=request.getSession(); User user= (User) session.getAttribute("user"); String uri=request.getRequestURI(); if (user==null && uri.indexOf("login.do")==-1){ response.sendRedirect(request.getContextPath()+"../login.jsp"); }else { chain.doFilter(request,response); } } @Override public void destroy() { } }
UserService
import com.zhongruan.bean.PageInfo; import com.zhongruan.bean.User; import com.zhongruan.dao.UserDao; import com.zhongruan.service.IUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserService implements IUserService { @Autowired private UserDao userDao; @Override public boolean login(String username, String password) { User user = userDao.findUserByUserName(username); if (user!=null && user.getPassword().equals(password)){ return true; } return false; } @Override public PageInfo<User> findAll(int currentPage) { PageInfo<User> pageInfo=new PageInfo<>(); pageInfo.setSize(5); int totalCount=userDao.getTotalCount(); pageInfo.setTotalCount(totalCount); int totalPage=(int)Math.ceil(totalCount/5.0); pageInfo.setTotalPage(totalPage); if (currentPage<1){ pageInfo.setCurrentPage(1); } else if (currentPage>totalPage){ pageInfo.setCurrentPage(totalPage); }else { pageInfo.setCurrentPage(currentPage); } int start=(pageInfo.getCurrentPage()-1)*5; List<User> userList = userDao.findAll(start); pageInfo.setList(userList); pageInfo.setCurrentPage(currentPage); return pageInfo; } // @Override // public List<User> findAll() { // return userDao.findAll(); // } @Override public void deleteById(int id) { userDao.deleteById(id); } @Override public void add(User user) { userDao.add(user); } @Override public User selectUserById(int id) { return userDao.selectById(id); } @Override public void update(User user) { userDao.update(user); } }
IUserService
import com.zhongruan.bean.PageInfo; import com.zhongruan.bean.User; import java.util.List; public interface IUserService { boolean login(String username,String password); PageInfo<User> findAll(int currentPage); void deleteById(int id); void add(User user); User selectUserById(int id); void update(User user); }
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!-- 配置加载类路径的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param> <!-- 配置监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <!-- 解决中文乱码过滤器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) --> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!-- 服务器启动的时候,让DispatcherServlet对象创建 --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <filter> <filter-name>loginFilter</filter-name> <filter-class>com.zhongruan.filter.loginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping> </web-app>
分页jsp
<div class="box-tools pull-right"> <ul class="pagination"> <li><a href="${pageContext.request.contextPath}/user/findAll.do" aria-label="Previous">首页</a></li> <li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageInfo.currentPage-1}">上一页</a></li> <c:forEach begin="1" end="${pageInfo.totalPage}" var="pageNum"> <li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageNum}">${pageNum}</a></li> </c:forEach> <li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageInfo.currentPage+1}">下一页</a></li> <li><a href="${pageContext.request.contextPath}/user/findAll.do?currentPage=${pageInfo.totalPage}" aria-label="Next">尾页</a></li> </ul> </div>
相关文章推荐
- ssm实现增删改查、分页和登录拦截
- SSM框架实现一个用户系统(登录,用户列表,分页,增删改查,用户角色管理功能)
- java第五课,实现分页以及登录拦截
- springmvc实现方法拦截,用户未登录不能访问
- 关于spring-security登录后重定向至拦截前访问的url的实现原理
- ssm框架用户管理系统实现登录和分页
- ssm 实现分页和拦截
- 使用SSM框架 实现登录、注册、分页和增删改操作
- 关于CAS服务端登录前ajax访问后台方法被拦截的配置-另外一种实现方式
- 关于spring-security登录后重定向至拦截前访问的url的实现原理
- SSM实现登录和分页查询
- 【ssm个人博客项目实战05】easy ui datagrid实现数据的分页显示
- vue+axios 前端实现登录拦截(路由拦截、http拦截)
- 使用JavaWeb实现图书管理系统的增删改查,以及数据的分页,跳转,查询,用户登录......
- SSM整合(用json,easyui,spring实现从数据库查找信息并进行分页)
- jdbc servlet ssm 实现简单的分页与批量删除
- 最新整合maven+SSM+Tomcat 实现注册登录
- SSM框架下的用户登录系统,并实现增删改
- ssm/shiro/freemarker/bootstrap实现登录
- 基于SSM的单表简易登录、增删改查项目建立与实现