- 前言
- 一、所用jar包
- 二、整体框架
- 三、用户登录
- 3.1登录展示
- 3.2基本思路
- 3.3LoginServlet代码
- 四、用户列表展示
- 4.1 列表模糊查询+分页展示
- 4.2PageBean对象
- 4.3基本思路
- 4.4FindUserByPageServlet代码
- 4.5UserServiceImpl类中的分页方法
- 4.6 sql查询
- 4.7 分页相关的 web界面
- 五、添加 *** 作
- 5.1 页面展示
- 5.2基本思路
- 5.3AddUserServlet代码
- 六、修改 *** 作
- 6.1页面展示
- 6.2 基本思路
- 6.3UpdateUserServlet代码
- 七、删除 *** 作
- 7.1 通过删除按钮进行删除
- 7.2 通过删除选中按钮删除
- 7.3 相应的web页面
- 7.4 Javascript代码
前言
本文介绍了用户信息登录、增删改查等 *** 作,也包含了相对复杂的删除选中功能、分页功能和复杂条件查询功能。
一、所用jar包
二、整体框架
三、用户登录 3.1登录展示 3.2基本思路
1.获取输入的验证码,与生成的验证码比较,不一致则报出验证码错误,跳转到login.jsp页面,一致则进行下一步。
2.获取输入的用户名与密码,与数据库中的数据比较,有则跳转到list.jsp页面,无则报出用户名或密码错误,跳转到login.jsp页面。
注意:每生成一个验证码都要进行属性的删除,作用是避免验证码重复。
package web.servlet; import domain.User; import org.apache.commons.beanutils.BeanUtils; import service.Impl.UserServiceImpl; import service.UserService; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Map; @WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置编码 request.setCharacterEncoding("utf-8"); //获取验证码 String verifycode = request.getParameter("verifycode"); HttpSession session = request.getSession(); String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER"); //避免验证码重复 session.removeAttribute("CHECKCODE_SERVER"); //判断验证码是否一致 if (!checkcode_server.equalsIgnoreCase(verifycode)){ //验证码错误 request.setAttribute("login_msg","验证码错误!"); request.getRequestDispatcher("/login.jsp").forward(request,response); return; } Mapmap = request.getParameterMap(); User user=new User(); try { BeanUtils.populate(user,map); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } UserService service=new UserServiceImpl(); User login_user=service.login(user); if (login_user==null){ //用户名或密码错误 request.setAttribute("login_msg","用户名或密码错误!"); request.getRequestDispatcher("/login.jsp").forward(request,response); }else { //登录成功,返回index.jsp request.getSession().setAttribute("user",user); response.sendRedirect(request.getContextPath()+"/index.jsp"); } } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request,response); } }
四、用户列表展示 4.1 列表模糊查询+分页展示 4.2PageBean对象
作用:用于存储数据。
1.在FindUserByPageServlet中获取当前页码(currentPage)、每页条数(rows)参数和所有参数集合(map)。
2.调用UserServiceImpl实现类中的findUserByPage(currentPage,rows,map)实现数据的分页
3.在findUserByPage(currentPage,rows,map)方法中调用UserDaoImpl中的findUserByPage(currentPage,rows,map)来访问数据库中的数据。
4.转发到list.jsp页面
package web.servlet; import domain.PageBean; import domain.User; import service.Impl.UserServiceImpl; import service.UserService; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; @WebServlet("/findUserByPageServlet") public class FindUserByPageServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获取参数 String currentPage = request.getParameter("currentPage"); String rows = request.getParameter("rows"); if (currentPage==null||"".equals(currentPage)){ currentPage="1"; } if (rows==null||"".equals(rows)){ rows="5"; } Map4.5UserServiceImpl类中的分页方法map = request.getParameterMap(); //调用函数 UserService service=new UserServiceImpl(); PageBean pb=service.findUserByPage(currentPage,rows,map); request.setAttribute("pb",pb); request.setAttribute("condition",map); System.out.println(pb); request.getRequestDispatcher("/list.jsp").forward(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request,response); } }
@Override public PageBean4.6 sql查询findUserByPage(String _currentPage, String _rows, Map map) { int currentPage = Integer.parseInt(_currentPage); int rows = Integer.parseInt(_rows); PageBean pb=new PageBean (); pb.setCurrentPage(currentPage); pb.setRows(rows); //获取总条数 int totalCount=dao.findCount(map); pb.setTotalCount(totalCount); //获取当前总页码 int totalPage=(totalCount%rows==0)?totalCount/rows:(totalCount/rows+1); pb.setTotalPage(totalPage); //获取数据 int start=(currentPage-1)*rows; List list=dao.findUserByPage(start,rows,map); pb.setList(list); return pb; }
@Override public List4.7 分页相关的 web界面findUserByPage(int start, int rows, Map map) { String sql="select * from user where 1=1"; StringBuilder sb=new StringBuilder(sql); Set keySet = map.keySet(); List
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)