项目实践之后台管理系统

后台项目的开发

界面设计

自己修改界面,能用就行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码部分

我们着重讲下用户功能模块就行 ,酒店和订单相似于用户模块

DAO层:
接口提供如下方法:
在这里插入图片描述
接口实现:

public class UserDaoImpl implements UserDao {
    private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());

    @Override
    public User findByUser(String username) {
        User user = null;
        try {
            //定义sql
            String sql = "select * from tab_user where username=?";
            //执行
            user = template.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), username);
        } catch (Exception e) {

        }

        return user;
    }

    @Override
    public void save(User user) {
//定义sql
        String sql = "insert into tab_user(username,password,`name`,birthday,sex,telephone,email,status,code) values(?,?,?,?,?,?,?,?,?)";
        //执行
        template.update(sql, user.getUsername(),
                user.getPassword(),
                user.getName(),
                user.getBirthday(),
                user.getSex(),
                user.getTelephone(),
                user.getEmail(),
                user.getStatus(),
                user.getCode()
        );
    }

    /*
     * 查询全部用户个数
     * */
    @Override
    public int findCount() {

        String sql = "select count(*) from tab_user";
        return template.queryForObject(sql, Integer.class);
    }

    @Override
    public List<User> findByPage(int start, int pageSize) {
        String sql = " select * from tab_user where 1 = 1 ";
        StringBuilder sb = new StringBuilder(sql);
        List prams = new ArrayList();

        sb.append(" limit ?,?");
        sql = sb.toString();

        prams.add(start);
        prams.add(pageSize);
        List<User> list = template.query(sql, new BeanPropertyRowMapper<User>(User.class), prams.toArray());
        return list;
    }

    @Override
    public boolean update(User user) {
        String sql = "update tab_user set username=?,password=?,`name`=?,birthday=?,sex=?,telephone=? ,email=? where username=?";
        int update = template.update(sql, user.getUsername(), user.getPassword(), user.getName(), user.getBirthday(), user.getSex(), user.getTelephone(), user.getEmail(), user.getUsername());
        if (update != 0) {
            return true;
        }
        return false;
    }

    @Override
    public void delUser(String username) {
        String sql = "delete from tab_user where username = ?";
        template.update(sql, username);
    }

    @Override
    public void delFavorite(int uid) {
        String sql = "delete from tab_favorite where uid=?";
        template.update(sql, uid);
    }

    @Override
    public User findUserByUid(int uid) {
        String sql = "select * from tab_user where uid =?";
        return template.queryForObject(sql, new BeanPropertyRowMapper<User>(User.class), uid);
    }

service层:
在这里插入图片描述

public class UserserviceImpl implements Userservice {

    private UserDao userDao = new UserDaoImpl();

    @Override
    public PageBean<User> pageQuery(int currentPage, int pageSize) {
        //封装PageBean,返回
        int totalCount = userDao.findCount();//总的记录数

        int start = (currentPage - 1) * pageSize;
        List<User> list = userDao.findByPage(start, pageSize);//每页显示的数据
        int totalPage = 0;
        if (totalCount % pageSize == 0) {
            totalPage = totalCount / pageSize;
        } else {
            totalPage = totalCount / pageSize + 1;
        }

        PageBean<User> pb = new PageBean<User>();
        pb.setTotalCount(totalCount);
        pb.setTotalPage(totalPage);
        pb.setPageSize(pageSize);
        pb.setCurrentPage(currentPage);
        pb.setList(list);
        return pb;
    }

    @Override
    public boolean regist(User user) {

        //根据用户名查询对象
        String username = user.getUsername();
        User byUser = userDao.findByUser(username);
        if (byUser != null) {
            //用户名存在
            return false;
        }
        //保存用户信息
        //1 设置激活码
        String uuid = UuidUtil.getUuid();
        user.setCode(uuid);
        //设置激活状态
        user.setStatus("N");
        userDao.save(user);

        //激活邮件发送, 邮件正文
        String content = "<a href='http://localhost/travel/user/active?code=" + user.getCode() + "'>点击激活【黑马旅游网】</a>";
        MailUtils.sendMail(user.getEmail(), content, "激活邮件");
        return true;

    }

    @Override
    public User findUserByUsername(String username) {
        //调用userDao查询user 返回
        User user = userDao.findByUser(username);
        return user;
    }

    @Override
    public boolean update(User user) {


        return userDao.update(user);
    }

    @Override
    public boolean delUser(String username) {
        User user = userDao.findByUser(username);
        int uid = user.getUid();

        userDao.delFavorite(uid);
        if (user != null) {
            userDao.delUser(username);
            return true;
        }

        return false;
    }

    @Override
    public User findUserByUid(String uid) {

        return userDao.findUserByUid(Integer.parseInt(uid));
    }
}

servlet层:

@WebServlet("/user/*")
public class UserServlet extends BaseServlet {
    private Userservice service = new UserserviceImpl();

    /*
     * 注册
     * */
    public void regist(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //验证码的校验
        String check = request.getParameter("check");

        //获取session里面的验证码
        String checkcode_server = (String) request.getSession().getAttribute("CHECKCODE_SERVER");
        request.getSession().removeAttribute("CHECKCODE_SERVER");

        if (checkcode_server == null || !checkcode_server.equalsIgnoreCase(check)) {
            //验证码错误
            ResultInfo info = new ResultInfo();

            info.setFlag(false);
            info.setErrorMsg("验证码错误");
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(info);
            response.setContentType("application/json;charset=utf-8");
            response.getWriter().write(json);
            return;
        }
        //1获取数据
        Map<String, String[]> map = request.getParameterMap();

        //2 封装对象
        User user = new User();
        try {
            BeanUtils.populate(user, map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        //3 使用userservice 调用方法
        //UserService userService = new UserServiceImpl();
        boolean flag = service.regist(user);
        ResultInfo info = new ResultInfo();
        //4 相应数据
        if (flag) {
            //注册成功
            info.setFlag(true);

        } else {
            //注册失败
            info.setFlag(false);
            info.setErrorMsg("注册失败");
        }
        //将info对象序列化json数据
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(info);
        response.setContentType("application/json;charset=utf-8");
        response.getWriter().write(json);

    }

    /*
     *分页查询
     * */
    public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //接受参数
        String currentPageStr = request.getParameter("currentPage");
        String pageSizeStr = request.getParameter("pageSize");
       /* String cidStr = request.getParameter("cid");

        //接受rname
        String rname = request.getParameter("rname");
        rname = new String(rname.getBytes("iso-8859-1"), "utf-8");
        //处理参数
        int cid = 0;
        if (cidStr != null && cidStr.length() > 0 && !"null".equals(cidStr)) {
            cid = Integer.parseInt(cidStr);
        }*/
        int currentPage = 0;
        if (currentPageStr != null && currentPageStr.length() > 0) {
            currentPage = Integer.parseInt(currentPageStr);
        } else {
            currentPage = 1;
        }
        //每页显示条数
        int pageSize = 0;
        if (pageSizeStr != null && pageSizeStr.length() > 0) {
            pageSize = Integer.parseInt(pageSizeStr);
        } else {
            pageSize = 5;
        }

        //调用service查询pageBean对象
        PageBean<User> pageBean = service.pageQuery(currentPage, pageSize);
        //将pageBean对象序列化为json,返回
        writeValue(pageBean, response);
    }

    public void update(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String username = request.getParameter("username");
        System.out.println(username);
        //调用service查询uers对象
        User user = service.findUserByUsername(username);
        writeValue(user, response);
    }

    public void updateUser(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //1 获取数据
        Map<String, String[]> map = request.getParameterMap();

        //2封装对象
        User user =new User();
        try {
            BeanUtils.populate(user, map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }

        boolean flag = service.update(user);
        ResultInfo info = new ResultInfo();
        //4 相应数据
        if (flag) {
            //修改成功
            info.setFlag(true);

        } else {
            //修改成功
            info.setFlag(false);
            info.setErrorMsg("修改失败");
        }
        writeValue(info,response);
    }
    public void delUser(HttpServletRequest request, HttpServletResponse response) throws IOException {

        //1接受参数
        String username = request.getParameter("username");
        System.out.println(username);
        //2调用service方法删除
        boolean flag = service.delUser(username);

        ResultInfo info = new ResultInfo();
        //4 相应数据
        if (flag) {
            //删除成功
            info.setFlag(true);

        } else {
            //修改成功
            info.setFlag(false);
            info.setErrorMsg("删除失败");
        }
        writeValue(info,response);

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值