一、分页 1.pageinfo list size totalcount totalpage currentPage 2.dao findAll(start) get totalcount 3.service new pageinfo 对象 给pageinfo 赋值 4.controller 在modelandview 里面添加pageinfo 对象 5.页面 在页面展示数据,在页码拼接当前页 二、过滤器 filter 1.新建 loginfilter implements Filter 在filter里面 判断session里是否有user 如果没有user并且当前的请求不是login.do 跳转到登入页面,否则继续执行 2.web.xml 配置filter 拦截所有的*.do 3.到userController里的login 方法,登入成功后把用户信息放到session里面
UserMapper
<mapper namespace="com.wu.dao.UserDao" > <select id="findUserByUserName" parameterType="String" resultType="user"> select * from tb_user where username=#{username} </select> <select id="findAll" parameterType="int" resultType="user"> select * from tb_user limit #{start},5 </select> <delete id="deleteById" parameterType="int"> delete from tb_user where id =#{id} </delete> <insert id="addUser" parameterType="String"> insert into tb_user(username,password) value (#{username},#{password}) </insert> <select id="selectById" parameterType="int" resultType="user"> select * from tb_user where id=#{id} </select> <update id="update" parameterType="user"> update tb_user set username=#{username},password=#{password} where id=#{id} </update> <select id="getTotalCount" resultType="int"> select count(*) from tb_user </select> <select id="search" parameterType="String"> select * from tb_user where username like "%"#{username}"%" </select> </mapper>UserDao
public interface UserDao { User findUserByUserName(String username); List<User> findAll(int start); void deleteById(int id); void addUser(User user); User selectById(int id); void update(User user); int getTotalCount(); List<User> search(String username); }UserService
@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 tc=userDao.getTotalCount(); pageInfo.setTotalCount(tc); int tp=(int)Math.ceil(tc/5.0); pageInfo.setTotalPage(tp); if (currentPage<1){ pageInfo.setCurrentPage(1); }else if (currentPage>tp){ pageInfo.setCurrentPage(tp); }else { pageInfo.setCurrentPage(currentPage); } int start=(pageInfo.getCurrentPage()-1)*5; List<User> userList=userDao.findAll(start); pageInfo.setList(userList); return pageInfo; } @Override public void deleteById(int id) { userDao.deleteById(id); } @Override public void addUser(User user) { userDao.addUser(user); } @Override public User selectUserById(int id) { return userDao.selectById(id); } @Override public void update(User user) { userDao.update(user); } @Override public List<User> search(String username){ return userDao.search(username); } }IUserService
public interface IUserService { boolean login(String username,String password); PageInfo<User> findAll(int currentPage); void deleteById(int id); void addUser(User user); User selectUserById(int id); void update(User user); List<User> search(String username); }UserController
@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("/addUser.do") public String add(User user){ userService.addUser(user); return "redirect:findAll.do"; } @RequestMapping("/toUpdate.do") public ModelAndView toUpdate(int id){ User user=userService.selectUserById(id); ModelAndView modelAndView=new ModelAndView(); modelAndView.addObject("user",user); modelAndView.setViewName("user-update"); return modelAndView; } @RequestMapping("/update") public String update(User user){ userService.update(user); return "redirect:findAll.do"; } @RequestMapping("/search") public ModelAndView search(String username){ List<User> userList=userService.search(username); ModelAndView modelAndView=new ModelAndView(); modelAndView.addObject("userList", userList); modelAndView.setViewName("user-list"); return modelAndView; } }