设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间14 现在时间14 缓存数据 “你总爱编织谎言,我总是配合表演。”

“你总爱编织谎言,我总是配合表演。” -- 配合

查看: 1092|回复: 1

详解Java快速上手用户后台管理系统

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:223
  • 打卡月天数:0
  • 打卡总奖励:3404
  • 最近打卡:2025-04-20 18:46:21
等级头衔

等級:晓枫资讯-上等兵

在线时间
3 小时

积分成就
威望
0
贡献
368
主题
339
精华
0
金钱
4496
积分
749
注册时间
2023-1-14
最后登录
2025-4-20

发表于 2025-3-14 14:08:35 | 显示全部楼层 |阅读模式

主要功能

管理员登录功能、管理员列表操作、用户列表操作、订单管理

登录功能

设计思路:前端页面获取输入的数据,然后发送Ajax请求,在servlet中获取数据并调用service层中的方法进行处理,service层中调用dao层的实现方法,最终servlet返回一个结果集,判断登录是否成功。

login.html主要功能代码:

servlet中功能代码:

    //登录
    public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取用户名和密码
        String username = request.getParameter("username");
        String password = request.getParameter("password");
 
        //封装管理员对象
        Administrator admin = new Administrator();
        admin.setAname(username);
        admin.setPassword(password);
 
        //创建结果对象
        ResultInfo resultInfo = new ResultInfo();
        //调用service查询
        Administrator administrator = service.login(admin);
        if (administrator == null) {
            resultInfo.setFlag(false);
            resultInfo.setErrorMsg("用户名或密码错误!");
        }
        if (administrator != null && !administrator.getStatus().equals("Y")) {
            resultInfo.setFlag(false);
            resultInfo.setErrorMsg("该账户未激活!");
        }
        if (administrator != null && administrator.getStatus().equals("Y")) {
            resultInfo.setFlag(true);
            //设置session
            request.getSession().setAttribute("username", administrator.getAname());
        }
 
        //调用父类中定义的方法,转json数据后回传
        writeValue(resultInfo, response);
    }

service层中代码实现:

    @Override
    public Administrator login(Administrator administrator) {
        return dao.login(administrator);
    }

dao层中代码实现:

    @Override
    public Administrator login(Administrator administrator) {
        Administrator admin = null;
        try {
            String sql = "SELECT * FROM administrator WHERE aname = ? AND PASSWORD = ?";
            admin = template.queryForObject(sql, new BeanPropertyRowMapper<>(Administrator.class), administrator.getAname(), administrator.getPassword());
        } catch (Exception e) {
 
        }
        return admin;
    }

实现效果:

1.gif

管理员列表

设计思路:数据操作与登录功能大同小异,实现了管理员的增删改查,在此重点介绍分页、模糊查询。

admin_list.html主要功能代码:

    

servlet中功能代码:

    //分页、模糊查询
    public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //接收参数
        String currentPageStr = request.getParameter("currentPage");
        //接收admin_name管理员名称
        String admin_name = request.getParameter("admin_name");
        //判断admin_name是否为null
        if (admin_name != null && !"null".equals(admin_name) && admin_name.length() > 0) {
            admin_name = new String(admin_name.getBytes("iso-8859-1"), "utf-8");
        } else {
            admin_name = "";
        }
 
        int currentPage = 0; //当前页码,不传递参数,默认为1
        if (currentPageStr != null && currentPageStr.length() > 0) {
            currentPage = Integer.parseInt(currentPageStr);
        } else {
            currentPage = 1;
        }
 
        //每页显示条数,默认为5
        int pageSize = 5;
 
        //调用service查询PageBean对象
        PageBean pb = service.pageQuery(currentPage, pageSize, admin_name);
 
        //将pageBean对象序列化为json,返回
        writeValue(pb, response);
    }

service层中代码实现:

    @Override
    public PageBean pageQuery(int currentPage, int pageSize, String admin_name) {
        //封装PageBean
        PageBean pb = new PageBean<>();
        //设置当前页码
        pb.setCurrentPage(currentPage);
        //设置每页显示条数
        pb.setPageSize(pageSize);
 
        //设置总记录数
        int totalCount = dao.findTotalCount(admin_name);
 
        pb.setTotalCount(totalCount);
        //设置当前页显示的数据集合
        int start = (currentPage - 1) * pageSize; //开始的记录数
        List list = dao.findByPage(start, pageSize, admin_name);
        pb.setList(list);
 
        //设置总页数  = 总记录数/每页显示条数
        int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : (totalCount / pageSize) + 1;
        pb.setTotalPage(totalPage);
 
        return pb;
    }

dao层中代码实现:

    @Override
    public int findTotalCount(String admin_name) {
        //定义sql模板
        String sql = "SELECT COUNT(*) FROM administrator WHERE 1=1 ";
        StringBuilder sb = new StringBuilder(sql);
        //条件
        List params = new ArrayList<>();
        if (admin_name != null && admin_name.length() > 0) {
            sb.append(" and aname like ? ");
            params.add("%" + admin_name + "%");
        }
        sql = sb.toString();
        return template.queryForObject(sql, Integer.class, params.toArray());
    }
 
    @Override
    public List findByPage(int start, int pageSize, String admin_name) {
        String sql = "SELECT * FROM administrator WHERE 1=1 ";
        StringBuilder sb = new StringBuilder(sql);
        //条件
        List params = new ArrayList<>();
        //判断参数是否有值
        if (admin_name != null && admin_name.length() > 0) {
            sb.append(" and aname like ? ");
            params.add("%" + admin_name + "%");
        }
        //分页条件
        sb.append(" limit ?,? ");
        params.add(start);
        params.add(pageSize);
        //转字符串
        sql = sb.toString();
        return template.query(sql, new BeanPropertyRowMapper<>(Administrator.class), params.toArray());
    }

实现效果:

2.gif

用户列表

设计思路:与管理员列表设计思路基本类似。

实现效果:

3.png

订单管理

设计思路:与管理员列表设计思路基本类似。

4.png

到此这篇关于详解Java快速上手用户后台管理系统的文章就介绍到这了,更多相关Java 后台管理系统内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章希望大家以后多多支持晓枫资讯!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
20
积分
20
注册时间
2022-12-24
最后登录
2022-12-24

发表于 2025-4-17 00:42:24 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表