自己设计的网站,如何实现分页功能?(详细代码+注释)

html左右分页【搬代码】 html左右分页 阅读详情

目录

前言

实现分页功能

需求分析

客户端开发

服务器开发

前后端交互——两种前端得到 文章总页数 的方法,那种更合适?


前言


你在设计网站的时候是否有过这样的烦恼:“我设计的网站怎么就是从上到下一条线内容全部展开,一点都不好看!有没有什么好的办法呢?”,实现一个简单的分页功能就能帮你解决这样的烦恼,接下来我们就来看看如何实现一个简单的分页功能~

实现分页功能


需求分析

例如现在你有这样一个需求:对文章列表页面实现分页功能。

那么什么是分页功能呢?

简单来说就是实现以下四个按钮:

  • 首页按钮:点击此按钮跳转到文章列表的首页。
  • 上一页按钮:点击此按钮跳转到文章列表当前页的上一页。特殊处理:若当前文章列表在第一页,那么点击上一页则提醒用户“当前已在首页!”。
  • 下一页按钮:点击此按钮跳转到文章列表当前页的下一页。特殊处理:若当前文章列表在最后一页,那么点击上一页则提醒用户“当前已在最后一页!”。
  • 末页按钮:点击此按钮跳转到文章列表的最后一页。

最终实现效果如下:

 接下来就来具体实现~

客户端开发

假设设计的文章版心如下

    <!-- 版心 -->
    <div class="container">
        <!-- 右侧内容详情 -->
        <div class="container-right" style="width: 100%;">
            <!-- 每一篇博客包含标题, 摘要, 时间 (这里使用 ajax 请求到的文章数据进行填充)-->
            <div id="artDiv">

            </div>

            <hr>
            <div class="blog-pagnation-wrapper">
                <button onclick="homePage()" class="blog-pagnation-item">首页</button>
                <button onclick="prevPage()" class="blog-pagnation-item">上一页</button>
                <span id="page"></span>
                <button onclick="nextPage()" class="blog-pagnation-item">下一页</button>
                <button onclick="lastPage()" class="blog-pagnation-item">末页</button>
            </div>
        </div>
    </div>

编写 js 代码

创建三个全局变量,分别是 当前页数、每页显示最大文章数、文章总页数,通过这三个全局变量就可以实现4个按钮的分页功能。

  • 首页按钮:将当前页数设置为1,再请求服务器获取当前博客列表,请求中的参数为当前页数。
  • 上一页按钮:如果当前页数为1,则提示“当前已在首页”,若不在,则将请求服务器获取当前博客列表,请求中的参数为当前页数 + 1。
  • 下一页按钮:和上一页按钮同理
  • 末页按钮:将当前页设置为最后一页,并请求后端获取文章列表。
    <script>

        //当前页数
        var curpage = 1;
        //每页显示的最大文章数
        var psize = 3;
        //文章总页数       
        var pcount = 1;

// -----------------------这里以下“获取博客列表”可以部分忽略----------------------------------
        //获取博客列表
        function getArtList(pindex, psize) {
            jQuery.ajax({
                type: "GET",
                url: "/art/listbypage",
                data: {
                    "pindex": pindex,
                    "psize": psize
                },
                success: function (result) {
                    if (result != null && result.code == 200) {
                        //这里有两种情况,一种是有文章,一种是没有用户发表文章
                        if (result.data != null && result.data.list.length > 0) {
                            //有文章
                            var artListDiv = "";
                            for (var i = 0; i < result.data.list.length; i++) {
                                var artItem = result.data.list[i];
                                artListDiv += '<div class="blog">';
                                artListDiv += '<div class="title">' + artItem.title + '</div>';
                                artListDiv += '<div class="date">' + artItem.createtime + '</div>';
                                artListDiv += '<div class="desc">' + artItem.content + '</div>';
                                artListDiv += '<a href="blog_content.html?id=' + artItem.id + '" class="detail">查看全文 &gt;&gt;</a>'
                                artListDiv += '</div>';
                            }
                            //将 html 填充进去
                            jQuery("#artDiv").html(artListDiv);
                            //显示当前页数
                            jQuery("#page").text(" 第 " + curpage + " 页 ");
                            //总页数
                            pcount = result.data.pcount;
                        } else {
                            //无文章
                            jQuery("#artDiv").html("<h2>暂无文章</h2>");
                        }
                    } else {
                        alert("博客列表获取失败!");
                    }
                }
            });
        }
        //初始化文章列表首页
        getArtList(curpage, psize);
// -----------------------这里以上“获取博客列表”可以部分忽略----------------------------------

        //分页功能处理
        //首页按钮
        function homePage() {
            curpage = 1;
            getArtList(curpage, psize);
        }

        //上一页按钮
        function prevPage() {
            if (curpage == 1) {
                alert("当前已在首页!");
                return;
            } else {
                getArtList(--curpage, psize);
            }
        }

        //下一页按钮
        function nextPage() {
            if (curpage == pcount) {
                alert("当前已在最后一页!");
                return;
            } else {
                getArtList(++curpage, psize);
            }
        }

        //末页按钮
        function lastPage() {
            curpage = pcount;
            getArtList(curpage, psize);
        }

    </script>

服务器开发

服务器传入两个参数,反别是当前页码(pindex)、每页显示条数(psize),通过这两个参数如何实现分页查询呢(为什么要设计这两个参数)?

我们的服务器最后是要使用 MyBatis 对数据库进行修改的,那么分页的 sql 因该为 "select * from articleinfo limit #{psize} offset #{offset}",psize 我们以及约定好了(假设约定为3,也就是每页最多显示三条文章信息),那么 offset 的值怎么得来呢?

offset 是偏移量,也就是分页的起始下标(从0下标开始),就可以通过 当前页码(pindex)和 每页显示条数(psize) 计算得来!

这里需要一点数学推理,首先给出公式(方便后面理解): offset = (pindex - 1) * psize ,推理过程如下:

  • 假设当前页码(pindex)为 1,每页显示(psize) 3 条,那么 offset 就是 0,因为从第 0 条开始显示。
  • 假设当前页码(pindex)为 2,每页显示(psize) 3 条,那么 offset 就是 3,因为前三条数据(下标分别为:0、1、2)刚刚已经在第一页显示了,因此下一页就因该从下标为 3 的数据开始显示。
  • 往后以此类推...


    /**
     * 博客列表分页功能
     * @param pindex 当前页码
     * @param psize 每页显示条数(约定每页显示 3 条)
     * @return
     */
    //limit 3 offset 0
    //limit 3 offset 3
    //        offset 6
    //offset = (pindex - 1) * psize
    @RequestMapping("/listbypage")
    public AjaxResult getlistByPage(Integer pindex, Integer psize) {
        //非空校验
        if(pindex == null || pindex < 1) {
            pindex = 1;
        }
        if(psize == null || psize < 3) {
            psize = 3;
        }
        //公式计算得到 offset
        int offset = (pindex - 1) * psize;
        List<ArticleInfo> list = articleService.getListByPage(psize, offset);

        //当前列表有多少也
        //a.总共有多少条数据
        int totalCount = articleService.getArtAllCount();
        //b.总条数 / psize
        double pcountdb = totalCount / (psize * 1.0);
        //c.使用进1法得到总页数
        int pcount = (int) Math.ceil(pcountdb);
        HashMap<String, Object> result = new HashMap<>();
        result.put("list", list);
        result.put("pcount", pcount);
        return AjaxResult.success(result);
    }

前后端交互——两种前端得到 文章总页数 的方法,那种更合适?

两种方法分别如下

  1. 后端使用哈希表带上 文章总数和文章列表 传送给前端,前端进行一次 HTTP 请求完成分页功能的实现”。(刚刚所讲的分页功能就是这样实现的)
  2. 前后端使用两次  HTTP 请求完成分页功能,也就是前端发送两次 ajax 请求后端,一次是请求文章列表,一次是请求总页数。

第二种方法前端代码如下:

    <script>

        //当前页数
        var curpage = 1;
        //每页显示的最大文章数
        var psize = 3;
        //文章总页数       
        var pcount = 1;
        //文章总数
        var allCount = 1;
        function getAllCount() {
            jQuery.ajax({
                url: "/art/allcount" ,
                type: "GET",
                async: false, //async 是设置状态的(同步执行和异步执行),默认为 true 异步执行,有可能会出现"抢占执行"
                success: function (result) {
                    if (result != null && result.code == 200) {
                        allCount = result.data;
                    }
                }
            });
        }
         getAllCount();

        //获取博客列表
        function getArtList(pindex, psize) {
            jQuery.ajax({
                type: "GET",
                url: "/art/listbypage",
                data: {
                    "pindex": pindex,
                    "psize": psize
                },
                success: function (result) {
                    if (result != null && result.code == 200) {
                        //这里有两种情况,一种是有文章,一种是没有用户发表文章
                        if (result.data != null && result.data.length > 0) {
                            //有文章
                            var artListDiv = "";
                            for (var i = 0; i < result.data.length; i++) {
                                var artItem = result.data[i];
                                artListDiv += '<div class="blog">';
                                artListDiv += '<div class="title">' + artItem.title + '</div>';
                                artListDiv += '<div class="date">' + artItem.createtime + '</div>';
                                artListDiv += '<div class="desc">' + artItem.content + '</div>';
                                artListDiv += '<a href="blog_content.html?id=' + artItem.id + '" class="detail">查看全文 &gt;&gt;</a>'
                                artListDiv += '</div>';
                            }
                            //将 html 填充进去
                            jQuery("#artDiv").html(artListDiv);
                            //显示当前页数
                            jQuery("#page").text(" 第 " + curpage + " 页 ");
                        } else {
                            //无文章
                            jQuery("#artDiv").html("<h2>暂无文章</h2>");
                        }
                    } else {
                        alert("博客列表获取失败!");
                    }
                }
            });
        }
        //初始化首页
        getArtList(curpage, psize);

        //分页功能处理
        //首页按钮
        function homePage() {
            curpage = 1;
            getArtList(curpage, psize);
        }

        //上一页按钮
        function prevPage() {
            if (curpage == 1) {
                alert("当前已在首页!");
                return;
            } else {
                getArtList(--curpage, psize);
            }
        }

        //下一页按钮
        function nextPage() {
            if (curpage == pcount) {
                alert("当前已在最后一页!");
                return;
            } else {
                getArtList(++curpage, psize);
            }
        }

        //末页按钮
        function lastPage() {
            curpage = pcount;
            getArtList(curpage, psize);
        }

    </script>

那种方法更好呢?

两种方法都可以,没有明确的好坏之分,要说有的话,方法二需要进行两次 HTTP 请求,而 HTTP 建立连接时需要时间的,因此在效率上,第一种方式更优,并且企业中最常用的也是第一种方式。

结构预测、功能注释、分子对接 —— 这个网站全包了 如下图,左边栏列出了它的所有功能。挑了几个使用频率可能比较高的几个仔细了解了一下。 阅读详情

相关推荐

VUE3实现好看的旅游网站源码

VUE3实现好看的旅游网站源码,旅游网站,旅行景点源码,大作业,毕业设计,网站实现了世界最火景点,国内最火景点,旅游海报图展,关于我们,登录注册页面,景点详细信息介绍等功能块,内置九个模板页面,实现了轮播图、视频、表单、TAB、导航栏、底部栏、列表、图文组合、返回顶部等功能,让你快速搭建自己的网站,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 2200

HTML实现分页功能

思路 主要是通过display: block和display: none来实现页面的切换。 将每个页面用一个div包起来,默认第一个页面的样式是display: block,其他页面的样式是display: none,然后通过JavaScript获取鼠标点击事件来隐藏其他页面,显示当前页面,达到页面切换的目的。 效果 具体实现 创建项目 首先创建一个项目,我的项目的目录结构大致如下图所示。 .html文件 篇幅问题,这里就只详细放page部分的第一个页面的两个条目的代码作为例子了。 <!DOCTY

weixin_45607635的博客 3万+

VUE3实现好看的世界建筑中国建筑网站源码

VUE3实现好看的世界建筑中国建筑网站源码,VUE3【兼容vue各种版本】,世界建筑网站,中国建筑网站,建筑设计网站源码,大作业,毕业设计,网站实现了世界建筑介绍,特色建筑展览,中国建筑介绍,关于我们,登录注册页面,详细信息介绍等功能块,内置九个模板页面,实现了轮播图、视频、表单、TAB、导航栏、底部栏、列表、图文组合、返回顶部等功能,让你快速搭建自己的网站,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 1679

HTML分页代码

---------------------JQ版本----------------------------             var pageSize = 15;    //每页显示的记录条数              var curPage=0;        //当前页              var lastPage;        //最后页              

随笔记 2万+

基于Springboot vue 小说网站系统的设计与实现

首先从文本框中分别获得账号user_name和密码user_pw,使用Sql语句“select * from t_user where user_name=‘”+user_name+“’ and user_pw=‘”+user_pw+“’”将查询结果赋给rs结果集,若mysql_query()返回值为空,表示数据库找不到该用户数据,若mysql_query()返回值不为空,则显示登录成功,进入主界面。系统的用户通过自行注册生成,在系统首页点击用户注册菜单,系统跳转到对应的注册页面。

qq_251836457的博客 1346

USRP B210 运行gnuradio时 FPGA固件版本冲突错误解决方法

事情起源于昨天拿到USRP后开始调试,结果整了一个下午都没解决这个问题。 昨天晚上自己思考了一下,觉得还是版本问题。 首先,uhd_find_devices和uhd_usrp_probe均可以正常运行,没有报错,固件正常加载,序列号也可看到。 teray@teray-X550JK:~$ uhd_find_devices [INFO] [UHD] linux; GNU C++ version 7.5...

斯哈研究所 4242

HTML + CSS 连载 | 62 - 分页实现

在选中和 hover 状态时背景颜色会变为其他颜色,字体颜色变为白色,我们可以给其中一个。首先将第1~10页这样一个结构搭建出来,每1页都是一个。全部左浮动可以消除行内级元素的间隙,我们可以通过。元素本身自带的一些样式进行重置,包括。浮动常用的场景,用来解决行内级元素、与原样式相比较,我们这里还缺少一个。至此,整个分页的效果就已经实现了!接下来我们就是用浮动实现分页。至此基本的布局结构已经实现。

JingnanJia的博客 2584

FMQL开发环境实战:从零构建国产FPGA SoC的软件基石

本文详细解析了构建国产复旦微FMQL FPGA SoC软件开发环境的完整流程。针对开发者在环境搭建中遇到的核心痛点,文章深入剖析了Procise、IAR与Vivado三大工具的协同角色与版本选择,提供了从软件下载、安装避坑到核心配置的实战指南,并总结了常见问题的排查方法,旨在帮助开发者高效跨过FMQL开发的“第一道坎”。

weixin_29215391的博客 125

网页分页功能讲解及相关代码模块实现

分页功能的讲解及其实现,利用Mybaits分页插件pagehelper,以及自己编写的分页功能

qq_45780016的博客 2674

用Cadence IC618仿真双平衡吉尔伯特混频器:从原理图到后仿的完整避坑指南

本文详细介绍了在Cadence IC618环境中设计双平衡吉尔伯特混频器的全流程,包括原理图设计、仿真优化和版图实现。通过实战案例分享,重点解析了设计中的关键技巧和常见问题解决方案,帮助工程师高效完成高性能混频器设计,特别适合射频前端开发人员参考。

weixin_42656416的博客 161

ipc$漏洞攻击(实验)

我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。5.然后,我们物理连接到靶机上,到了两分钟后,我们可以用命令看到,这个pp45的用户就出现了。

2301_76361674的博客 3254

HTML5实现古典音乐网站源码模板3

HTML5实现古典音乐网站源码模板3,最全模板,大作业,毕业设计,古典音乐网站,音乐网站,网站源码,介绍古典音乐由来,分为网站首页,古典音乐,著名人物,古典乐器,历史起源,联系我们等页面,实现了轮播图、视频、音乐播放,表单、TAB、导航栏、底部栏、列表、图文组合、返回顶部等功能,让你代入古典音乐的体验感,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+

软件测试工程师笔试题

这里写目录标题全套软件测试面试笔试题(附答案)二、选折三、添空四、简答(资料是搜集整理的,感谢前辈的解题)无1.区别阶段评审的与同行评审2.什么是软件测试3. 简述集成测试的过程4 怎么做好文档测试5 白盒测试有几种方法6 系统测试计划是否需要同行审批,为什么7Alpha 测试与 beta 的区别8 比较负载测试,容量测试和强度测试的区别。性能测试从使用方便的角度来说,9 测试结束的标准是什么?10 描述软件测试活动的生命周期?11 软件的缺陷等级应如何划分? 软件测试工程师笔试题(附答案) 全套软件测试面

m0_46446002的博客 2548

HTML5实现好看的唐朝服饰网站模板源码2

HTML5实现好看的唐朝服饰网站模板源码2,最美唐装,最全唐装素材,大作业,毕业设计,唐装网站,服饰网站,网站源码,介绍唐装的由来,分为网站首页,唐装演变,唐装配色,唐装花纹,唐装文化等页面,实现了轮播图、视频、表单、TAB、导航栏、底部栏、列表、图文组合、返回顶部等功能,让你代入唐朝服饰的体验感,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+

MODTRAN5.2.1安装配置

MODTRAN5.2.1安装配置

Home 4250

嵌入式数字信号处理器(DSP)高频面试题及参考答案

数字信号处理器(DSP)是一种专门设计用于执行数字信号处理任务的微处理器。它具有高度优化的架构,能够高效地执行复杂的数学运算,如快速傅里叶变换(FFT)、卷积、滤波和其他信号处理算法。DSP通常具有高速的中央处理器、专用的硬件乘法器、累加器、硬件循环支持和高速的内存访问能力,以满足实时信号处理的需求。通信:用于调制解调、语音编码、数据压缩、加密和解密。音频处理:如音乐合成、音效增强、语音识别和语音合成。视频和图像处理:包括图像压缩、视频编码、图像增强和模式识别。生物医学工程。

大模型大数据攻城狮的专栏 5266

HTML5实现唐朝服饰网站模板源码

HTML5实现唐朝服饰网站模板源码,大作业,毕业设计,唐装网站,服饰网站,网站源码,介绍唐装的由来,分为网站首页,唐装演变,唐装配色,唐装花纹,唐装文化等页面,实现了轮播图、视频、表单、TAB、导航栏、底部栏、列表、图文组合、返回顶部等功能,让你代入唐朝服饰的体验感,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3184

第 1 章 Prometheus 监控 | Prometheus 入门

了解 Prometheus 监控系统,学会安装及了解页面功能。

甘蓝的专栏 485

HTML5实现古典音乐网站源码模板1

HTML5实现古典音乐网站源码模板1,大作业,毕业设计,古典音乐网站,音乐网站,网站源码,介绍古典音乐由来,分为网站首页,古典音乐,著名人物,古典乐器,历史起源等页面,实现了轮播图、视频、音乐播放,表单、TAB、导航栏、底部栏、列表、图文组合、返回顶部等功能,让你代入古典音乐的体验感,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3442

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

html怎么注释掉代码_HTML注释:如何注释掉您HTML代码

html怎么注释掉代码 HTML中的注释 (Comments in HTML) The comment tag is an element used to leave notes, mostly related to the project or the website. This tag is frequently used to explain something in the code or...

cumi7754的博客 8577

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

VUE3实现古典音乐网站源码模板

VUE3实现古典音乐网站源码模板,大作业,毕业设计,古典音乐网站,音乐网站,网站源码,介绍古典音乐由来,分为网站首页,古典音乐,著名人物,古典乐器,历史起源等页面,实现了轮播图、视频、音乐播放,表单、TAB、导航栏、底部栏、列表、图文组合、返回顶部等功能,让你代入古典音乐的体验感,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 2015

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Bilibili网站后台代码泄露,从注释看到的一些感想。

Bilibili网站后台代码泄露,从注释看到的一些感想。 昨天Github发生了一件算是不小的事情,著名B站后台代码被人恶意开源了。虽然只持续了6个多小时,但是Fork数都6000+了。我也下载了份代码,应该是很好的学习参考资料了。 网上有网友说里面有许多注释很有趣,确实如此。 以下是部分源码的注释 1.敏感信息 2.有趣的注释...

Byron.Liu 3887

基于Django框架的多功能校园网站的设计与实现

本文介绍了一个多功能校园网站系统的设计与实现过程。系统采用Django框架开发,基于Windows操作系统和MySQL数据库,包含用户管理、接单员管理和跑腿任务管理等核心功能模块。文章详细阐述了系统需求分析、流程设计(包括操作、登录和数据清理流程)、整体架构设计、数据库设计以及功能模块的具体实现。系统测试环节重点介绍了在IDEA平台环境下进行的全面功能验证。该解决方案旨在解决传统家教信息管理方式的不足,通过高效的信息管理工具满足日益增长的市场需求。文末提供了获取系统源码和技术支持的渠道。

q_1262330535的博客 959

PHP语言实现网站登录功能

使用PHP链接MySQL数据库进行登录验证。 创建数据表 首先,在数据库中创建登录功能所需要用到的数据表。该表应该包含用户名、密码、登录次数、最近一次登录时间、最近一次登录IP等字段。创建代码如下: DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `user_name` varchar(30) CHARACTER SET utf8 COL...

戴翔的技术博客 7359

代码注释 用什么字体注释好_用更好的代码替换注释

代码注释 用什么字体注释好 嗨,我是意大利的软件工程师Valerio。 在过去的十年中,我曾在任何类型的公司和同事中担任软件工程师。 软件开发本质上是协作的。 如果您在一家公司工作,无论规模大小,您显然都在与他人合作。 我强烈认为注释是某些功能或整个类的文档,因为它们可以通过两种方式帮助开发人员: 使用注释导航代码以引导IDE行为; 添加更多上下文信息,以避免对为什么以这种...

编程故事的地方 893

springboot062购物推荐网站的设计与实现

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟我的博客空间发布了2000+毕设题目 方便大家学习使用文末下方有源码获取地址42系统结构本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:图4-2管理员功能结构图。

qq_251836457的博客 2384
上一篇: 密码如何“加盐加密”处理?程序员一定要掌握的知识
下一篇: 【找工作项目】-博客系统(spring boot、spring mvc、mybatis) gitee开源源码
陈亦康
陈亦康 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄5年 6万+粉丝 388原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈亦康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值