Servlet和jsp--用户信息管理系统

目录

系统整体结构图

1. 登录

1.1 登录界面演示

1.2 html前端

1.3 servlet

2. 查询所有用户信息

2.1 页面演示

2.2 html前端

2.3 servlet

3. 添加功能

3.1 页面演示

3.2 html前端

3.3 servlet

4. 删除功能

4.1 页面演示

4.2 html前端

4.3 servlet

5. 修改功能

5.1 页面演示

5.2 html前端

5.3 servlet

6. 删除选中功能

6.1 页面演示

6.2 html前端

6.3 servlet

7. 分页查询功能

7.1 页面演示

7.2 PageBean实体类

7.3 html前端

7.4 servlet

8. 复杂条件查询功能

8.1 页面演示

8.2 html前端

8.3 servlet

总结


使用到的技术:Servlet+JSP+MySQL+JDBCTempleat+Duird+BeanUtilS+tomcat

系统整体结构图

Servlet和jsp--用户信息管理系统_第1张图片

本项目按照mvc开发模式和三层架构进行编写,项目目录结构如下:

Servlet和jsp--用户信息管理系统_第2张图片

 举例:
        查询所有用户信息分析如下

 其它功能都是按照此逻辑进行编写

1. 登录

1.1 登录界面演示

        1.1.1  正确输入用户名、密码和验证码登录成功

Servlet和jsp--用户信息管理系统_第3张图片

        1.1.2. 错误输入用户名或密码

Servlet和jsp--用户信息管理系统_第4张图片

        1.1.3. 错误输入验证码

Servlet和jsp--用户信息管理系统_第5张图片

1.2 html前端

        login.jsp

管理员登录


1.3 servlet

        1.3.1 checkCodeServlet

                网上的版本很多,可以自己找

        1.3.2 loginServlet

        //1.设置编码
        request.setCharacterEncoding("utf-8");
        //2.获取数据
        //2.1获取用户填写的验证码
        String verifycode = request.getParameter("verifycode");

        //3.验证码校验
        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;
        }
        Map map = request.getParameterMap();
        //4.封装user对象
        User user = new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }


        //5.调用service查询
        UserService service = new UserServiceImpl();
        User loginUser = service.login(user);
        //6.判断是否登录成功
        if(loginUser != null){
            //登录成功
            //将用户存入session
            session.setAttribute("user",loginUser);
            //跳转页面
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }else {
            //登录失败
            //提示信息
            request.setAttribute("login_msg","用户名或密码错误!");
            //跳转登录界面
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }

2. 查询所有用户信息

2.1 页面演示

        

Servlet和jsp--用户信息管理系统_第6张图片

2.2 html前端

        index.jsp

${user.name}欢迎你!

        list.jsp

    
            
编号 姓名 性别 年龄 籍贯 QQ 邮箱 操作
${s.count} ${user.name} ${user.gender} ${user.age} ${user.address} ${user.qq} ${user.email} 修改  删除

2.3 servlet

        userListServlet

        //调用UserService完成查询
        UserService service = new UserServiceImpl();
        List users = service.findAll();
        //2.将list存入request域
        request.setAttribute("users",users);
        //3.转发到list.jsp
        request.getRequestDispatcher("/list.jsp").forward(request,response);

3. 添加功能

3.1 页面演示

Servlet和jsp--用户信息管理系统_第7张图片

3.2 html前端

        list.jsp

添加联系人

        add.jsp

添加联系人页面

3.3 servlet

        addUserServlet

        //1.设置编码
        request.setCharacterEncoding("utf-8");
        //2.获取参数
        Map map = request.getParameterMap();
        //3.封装对象
        User user = new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        //4.调用service保存
        UserService service = new UserServiceImpl();
        service.addUser(user);

        //5.跳转到UserListServlet
        //response.sendRedirect(request.getContextPath()+"/userListServlet");
        response.sendRedirect(request.getContextPath()+"/findUserByPageServlet");

4. 删除功能

4.1 页面演示

Servlet和jsp--用户信息管理系统_第8张图片

4.2 html前端

        list.jsp



删除

4.3 servlet

        delUserServlet

       String id = request.getParameter("id");

        UserService service = new UserServiceImpl();
        service.deleteUser(id);

        //response.sendRedirect(request.getContextPath()+"/userListServlet");
        response.sendRedirect(request.getContextPath()+"/findUserByPageServlet");

5. 修改功能

5.1 页面演示

Servlet和jsp--用户信息管理系统_第9张图片

5.2 html前端

         list.jsp

修改 

        update.jsp

html lang="zh-CN">
    

        
        
        
        
        修改用户

        
        
        
        
    
    
        

修改联系人

<%--隐藏域--%>

 注意:修改联系人需要回显信息

            value="${user.name}" readonly="readonly" placeholder="请输入姓名" />

只需要增加value属性就能回显信息

5.3 servlet

        updateUserServlet

        request.setCharacterEncoding("utf-8");

        Map map = 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();
        service.updateUser(user);

        //response.sendRedirect(request.getContextPath()+"/userListServlet");
        response.sendRedirect(request.getContextPath()+"/findUserByPageServlet");

6. 删除选中功能

6.1 页面演示

Servlet和jsp--用户信息管理系统_第10张图片

6.2 html前端

        list.jsp



    //核心代码
    删除选中

    

6.3 servlet

        delSelectedServlet

        String[] ids = request.getParameterValues("uid");
        UserService service = new UserServiceImpl();
        service.delSelectedUser(ids);

        //response.sendRedirect(request.getContextPath()+"/userListServlet");
        response.sendRedirect(request.getContextPath()+"/findUserByPageServlet");

7. 分页查询功能

7.1 页面演示

Servlet和jsp--用户信息管理系统_第11张图片

7.2 PageBean实体类

public class PageBean {
    private int totalCount;//总记录数
    private int totalPage;//总页码
    private List list;//每页的数据
    private int currentPage;//当前页码
    private int row;//每页显示记录数
}

7.3 html前端

        list.jsp

    

7.4 servlet

        findUserByPageServlet

        request.setCharacterEncoding("utf-8");
        String currentPage = request.getParameter("currentPage");//当前页码
        String rows = request.getParameter("rows");//每页显示的条数
        if(currentPage==null || "".equals(currentPage)){
            currentPage="1";
        }
        if(rows == null || "".equals(rows)){
            rows="5";
        }

        //获取条件查询的参数
        Map condition = request.getParameterMap();

        UserService service = new UserServiceImpl();
        PageBean pb = service.findUserByPage(currentPage,rows,condition);

        request.setAttribute("pb",pb);

        request.setAttribute("condition",condition);//讲查询条件存入request

        request.getRequestDispatcher("/list.jsp").forward(request,response);

8. 复杂条件查询功能

8.1 页面演示

Servlet和jsp--用户信息管理系统_第12张图片

8.2 html前端

        list.jsp

    

8.3 servlet

        查询继续跳转到findUserByPageServlet

注意:复杂条件查询查询不存在的值会报错,只需要在执行语句出抛出trycatch异常即可

总结

        此项目算是一个入门的练习,入门项目虽然有点复杂,但要从基础做起。中间的细节需要格外注意,遇到错误及时解决。

你可能感兴趣的:(java,servlet,jsp)