返回顶部
首页 > 资讯 > 后端开发 > Python >详解Java快速上手用户后台管理系统
  • 348
分享到

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

2024-04-02 19:04:59 348人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录主要功能登录功能管理员列表用户列表订单管理主要功能 管理员登录功能、管理员列表操作、用户列表操作、订单管理 登录功能 设计思路:前端页面获取输入的数据,然后发送ajax请求,在s

主要功能

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

登录功能

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

login.html主要功能代码:


<script>
    $(function () {
        $("#btn_login").click(function () {
            //获取数据
            let username = $("#username").val();
            let passWord = $("#password").val();
            //数据处理
            $.post("admin/login", {username: username, password: password}, function (result) {
                if (result.flag) {
                    location.href = "index.html";
                } else {
                    alert(result.errORMsg);
                }
            });
        });
    })
</script>

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;
    }

实现效果:

管理员列表

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

admin_list.html主要功能代码:


    <script>
        $(function () {
            let name = null;
            $("#btn_search").click(function () {
                name = $('#admin_name').val();
                load(null, name)
                //取消按钮的默认跳转行为 导致会刷新页面
                return false;
            })
            load(null, name);
        });
        
        function load(currentPage, admin_name) {
            //发送ajax请求,请求route/pageQuery,传递cid
            $.get("admin/pageQuery", {currentPage: currentPage, admin_name: admin_name}, function (pb) {
                //定义字符
                let lis = "";
 
                //计算上一页的页码
                let beforeNum = pb.currentPage - 1;
                if (beforeNum <= 0) {
                    beforeNum = 1;
                }
                let beforePage = '<a class="prev" href="javascript:load(' + beforeNum + ',\'' + admin_name + '\')" rel="external nofollow" >&lt;&lt;</a>';
                lis += beforePage;
 
                //定义开始位置begin,结束位置end
                let begin;
                let end;
 
                if (pb.totalPage < 10) {
                    //总页码不足10页
                    begin = 1;
                    end = pb.totalPage;
                } else {
                    //总页码超过10页
                    begin = pb.currentPage - 5;
                    end = pb.currentPage + 4;
 
                    //前边不足5个,后边补齐
                    if (begin < 1) {
                        begin = 1;
                        end = begin + 9;
                    }
 
                    if (end > pb.totalPage) {
                        end = pb.totalPage;
                        begin = end - 9;
                    }
                }
 
                //展示分页页码
                for (let i = begin; i <= end; i++) {
                    let li;
                    //判断当前页码是否等于i,创建页码的li
                    if (pb.currentPage === i) {
                        li = '<a class="num" href="javascript:load(' + i + ',\'' + admin_name + '\')" rel="external nofollow"  rel="external nofollow" ><span class="current">' + i + '</span></a>';
                    } else {
                        li = '<a class="num" href="javascript:load(' + i + ',\'' + admin_name + '\')" rel="external nofollow"  rel="external nofollow" >' + i + '</a>';
                    }
                    //拼接字符串
                    lis += li;
                }
 
                //计算下一页的页码
                let nextNum = pb.currentPage + 1;
                if (nextNum >= pb.totalPage) {
                    nextNum = pb.totalPage;
                }
                let nextPage = '<a class="next" href="javascript:load(' + nextNum + ',\'' + admin_name + '\')" rel="external nofollow" >&gt;&gt;</a>';
                lis += nextPage;
 
                //将lis内容设置到ul
                $("#pageNum").html(lis);
 
                //列表数据展示
                let admin_lis = "";
                for (let i = 0; i < pb.list.length; i++) {
                    let admin = pb.list[i];
 
                    let li;
                    if (admin.status === "Y") {
                        li = '<tr>\n' +
                            '    <td>\n' +
                            '        <input type="checkbox" name="checkedId" id="checkedId" lay-skin="primary">\n' +
                            '        <div class="layui-unselect layui-form-checkbox" lay-skin="primary"><i class="layui-icon layui-icon-ok"></i></div>' +
                            '    </td>\n' +
                            '    <td>' + admin.aid + '</td>\n' +
                            '    <td>' + admin.aname + '</td>\n' +
                            '    <td>' + admin.phone + '</td>\n' +
                            '    <td>' + admin.email + '</td>\n' +
                            '    <td>' + admin.role + '</td>\n' +
                            '    <td>' + admin.date + '</td>\n' +
                            '    <td class="td-status">\n' +
                            '        <span class="layui-btn layui-btn-normal layui-btn-mini" style="background-color: #1E9FFF">已启用</span></td>\n' +
                            '    <td class="td-manage">\n' +
                            '        <a onclick="member_stop(this,' + admin.aid + ')" href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  title="启用">\n' +
                            '            <i class="layui-icon">&#xe601;</i>\n' +
                            '        </a>\n' +
                            '        <a title="编辑" onclick="xadmin.open(\'编辑管理员\',\'admin-edit.html?aid=' + admin.aid + '\',600,500)" href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >\n' +
                            '            <i class="layui-icon">&#xe642;</i>\n' +
                            '        </a>\n' +
                            '        <a title="删除" onclick="member_del(this,\'要删除的id\')" href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >\n' +
                            '            <i class="layui-icon">&#xe640;</i>\n' +
                            '        </a>\n' +
                            '    </td>\n' +
                            '</tr>';
                    } else if (admin.status === "N") {
                        li = '<tr>\n' +
                            '    <td>\n' +
                            '        <input type="checkbox" name="checkedId" id="checkedId" lay-skin="primary">\n' +
                            '        <div class="layui-unselect layui-form-checkbox" lay-skin="primary"><i class="layui-icon layui-icon-ok"></i></div>' +
                            '    </td>\n' +
                            '    <td>' + admin.aid + '</td>\n' +
                            '    <td>' + admin.aname + '</td>\n' +
                            '    <td>' + admin.phone + '</td>\n' +
                            '    <td>' + admin.email + '</td>\n' +
                            '    <td>' + admin.role + '</td>\n' +
                            '    <td>' + admin.date + '</td>\n' +
                            '    <td class="td-status">\n' +
                            '        <span class="layui-btn layui-btn-normal layui-btn-mini" style="background-color: gray">已停用</span></td>\n' +
                            '    <td class="td-manage">\n' +
                            '        <a onclick="member_stop(this,' + admin.aid + ')" href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  title="停用">\n' +
                            '            <i class="layui-icon">&#xe62f;</i>\n' +
                            '        </a>\n' +
                            '        <a title="编辑" onclick="xadmin.open(\'编辑管理员\',\'admin-edit.html?aid=' + admin.aid + '\',600,500)" href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >\n' +
                            '            <i class="layui-icon">&#xe642;</i>\n' +
                            '        </a>\n' +
                            '        <a title="删除" onclick="member_del(this,\'要删除的id\')" href="javascript:;" rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >\n' +
                            '            <i class="layui-icon">&#xe640;</i>\n' +
                            '        </a>\n' +
                            '    </td>\n' +
                            '</tr>';
                    }
                    admin_lis += li;
                }
                //设置列表数据
                $("#admin_msg").html(admin_lis);
            });
        }
    </script>

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<Administrator> pb = service.pageQuery(currentPage, pageSize, admin_name);
 
        //将pageBean对象序列化为json,返回
        writeValue(pb, response);
    }

service层中代码实现:


    @Override
    public PageBean<Administrator> pageQuery(int currentPage, int pageSize, String admin_name) {
        //封装PageBean
        PageBean<Administrator> pb = new PageBean<>();
        //设置当前页码
        pb.setCurrentPage(currentPage);
        //设置每页显示条数
        pb.setPageSize(pageSize);
 
        //设置总记录数
        int totalCount = dao.findTotalCount(admin_name);
 
        pb.setTotalCount(totalCount);
        //设置当前页显示的数据集合
        int start = (currentPage - 1) * pageSize; //开始的记录数
        List<Administrator> 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<Object> 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<Administrator> findByPage(int start, int pageSize, String admin_name) {
        String sql = "SELECT * FROM administrator WHERE 1=1 ";
        StringBuilder sb = new StringBuilder(sql);
        //条件
        List<Object> 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());
    }

实现效果:

用户列表

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

实现效果:

订单管理

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

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

--结束END--

本文标题: 详解Java快速上手用户后台管理系统

本文链接: https://lsjlt.com/news/162859.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Java快速上手用户后台管理系统
    目录主要功能登录功能管理员列表用户列表订单管理主要功能 管理员登录功能、管理员列表操作、用户列表操作、订单管理 登录功能 设计思路:前端页面获取输入的数据,然后发送Ajax请求,在s...
    99+
    2024-04-02
  • Java EE实现用户后台管理系统
    本文实例为大家分享了Java EE实现用户后台管理系统的具体代码,供大家参考,具体内容如下 主要功能 管理员登录功能、管理员列表操作、用户列表操作、订单管理 登录功能 设计思路:前端...
    99+
    2024-04-02
  • 怎么用Java开发用户后台管理系统
    今天小编给大家分享一下怎么用Java开发用户后台管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。主要功能管理员登录功能...
    99+
    2023-06-26
  • 纯手写原生PHP网站管理后台系统 网站管理系统
    一、源码简介 一套纯手写原生的PHP网站管理后台,前端利用LayUI实现,实现PHP初学者专研学习使用,对于PHP学习的人,只有熟悉了原生的PHP开发,才适合利用其它框架搭建自己的网站平台。封城期间,百无聊赖,于是利用PHP8手写了一套原生...
    99+
    2023-09-04
    php 开发语言 html5 node.js
  • uniapp用什么后台管理系统
    随着移动互联网的快速发展,越来越多的企业开始使用移动应用程序来提高生产率和用户体验。然而,开发移动应用程序并不仅仅是编写代码,还需要考虑如何管理应用程序的数据和后台。Uniapp是一种适用于多个平台的跨平台开发框架,可以用于开发iOS、An...
    99+
    2023-05-21
  • Java实现用户管理系统
    基于Java的简单的用户管理系统,供大家参考,具体内容如下 此系统功能和方法都比较简单 本次系统通过控制台输入商品的基本信息,加入管理员的登录与对是否为管理员进行操作 对于功能的实现...
    99+
    2024-04-02
  • Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解
    目录1、初识SpringBootAdmin2、搭建服务端--POM文件中添加相关依赖3、修改服务端application启动类4、配置security安全信息5、启动server服务...
    99+
    2024-04-02
  • Java 前台加后台精品图书管理系统的实现
    一、项目简述 功能包括: 登录注册,办理借阅。借阅记录,预约借阅,借出未还, 借阅逾期,学生管理,图书管理,书库分类查询搜索。 二、项目运行 环境配置: Jdk1.8 + Tomca...
    99+
    2024-04-02
  • android websocket快速上手使用和详细讲解
    1、快速使用 项目中的使用,以github的开源库org.java-websocket:Java-WebSocket:1.3.8为例,并且封装了...
    99+
    2022-06-06
    websocket Android
  • 当用户管理系统遇上python和mong
    Overview: 环境 前言 效果图 mongdb安装 代码涉及知识点 关于windows的cmd下执行python文件显示中文乱码的问题 总结 操作系统:Windows Python版本:3.6.0 MongoDB版本:4.0....
    99+
    2023-01-31
    管理系统 用户 mong
  • java实现航空用户管理系统
    本文实例为大家分享了java实现航空用户管理系统的具体代码,供大家参考,具体内容如下 题目内容: 某航空公司在其航班到达的不同的国家的不同地方设有不同的办事处,这个项目要求开发一个自...
    99+
    2024-04-02
  • Java怎么实现用户管理系统
    这篇文章给大家分享的是有关Java怎么实现用户管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下此系统功能和方法都比较简单本次系统通过控制台输入商品的基本信息,加入管理员的登录与对是否为管理员进行...
    99+
    2023-06-29
  • vue后台系统管理项目之角色权限分配管理功能(示例详解)
    目录角色权限分配管理功能role.vue模块1.查询重置搜索2.table列表3.分页4.新建/编辑角色弹窗5.接口引入6.data定义7.methods方法8.created加载角...
    99+
    2024-04-02
  • Java实现学生管理系统详解
    目录总结学生管理系统(Java版) 前言:这个是大二做的课设(还是学生管理系统…),理论上虽然是4个人一组一起做的,但是,注意这个“但是”,还是我一个人承担了所有…代码和文档基本都是...
    99+
    2024-04-02
  • java编程学习输入输出详解看完快速上手
    目录一、输出到控制台二、从键盘输入1.读取一个字符(了解)2.Scanner三、循环读取总结一、输出到控制台 基本语法 public static void main(Strin...
    99+
    2024-04-02
  • 超适合练手的一套JavaWeb项目 (超市后台管理系统)
    GIF动态图演示 百度百度网盘提取项目 带数据库![链接]:https://pan.baidu.com/s/13F2rxszZRLGDt9pr6ixYUg提取码:关注私信我发送! 一、项目搭建准备工作 1.搭建一个maven web项目2...
    99+
    2023-08-30
    android 前端 后端
  • 客户关系CRM管理系统费用解析
    客户关系管理(CRM)系统是一种帮助企业管理和跟踪与客户的互动和交易关系的软件工具。它可以帮助企业更好地了解客户需求,提高销售效率,并提供更好的客户服务体验。然而,对于许多企业来说,一个关键的问题是CRM系统的费用。 详细说明:1. CRM...
    99+
    2024-01-01
    管理系统 客户关系 费用
  • windows8系统用户名微软ID和管理员账户概念详解
    在Windows8系统中我们会遇到这么几个用户名或者ID: 第一:Metro界面右上角,锁屏登录界面的用户名; 第二:微软ID用户名,不管是live或者hotmail再或者outlook都是微软ID; 第三...
    99+
    2022-06-04
    微软 账户 详解
  • vue3使用element-plus搭建后台管理系统之菜单管理功能
    菜单管理是一套系统中最常见最核心的系统管理模块之一,我把菜单管理分成了2个部分,左边可以管理维护菜单,在菜单的最右侧可以维护每个菜单按钮权限配置 使用element-plus el...
    99+
    2024-04-02
  • 客户用户管理系统构建您的企业客户关系管理解决方案
    客户用户管理系统是一种专门用于管理和跟踪客户信息的工具。它可以帮助您更好地了解客户需求,提高客户满意度,从而增强企业的竞争力。本文将详细介绍客户用户管理系统的基本概念,以及如何使用它来构建您的企业客户关系管理解决方案。 一、什么是客户用户管...
    99+
    2024-01-26
    您的 管理系统 客户关系管理
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作