个人博客系统(二)

这篇具有很好参考价值的文章主要介绍了个人博客系统(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

该博客系统共有八个页面,即注册页面、登录页面、添加文章页面、修改文章页面、我的博客列表页面、主页、查看文章详情页面、个人中心页面。

1 注册页面

该页面如图所示:

个人博客系统(二),前端,spring boot,mybatis,java,数据库

首先,要先判断注册的用户名、密码、确认密码以及验证码是否为空,若有一个为空,点击提交,则会提醒 “xxx为空,请先输入” ,即:

个人博客系统(二),前端,spring boot,mybatis,java,数据库

若已全部输入,判断密码与确认密码是否一致,如果不一致,则提示“输入的确认密码与密码不一致,请检查”,即:

个人博客系统(二),前端,spring boot,mybatis,java,数据库

 以上的判断均在前端js代码中实现,如果以上提示内容均未提示,则将向后端发送ajax请求,并处理从后端返回的数据,其具体请求为:

            jQuery.ajax({
                url:"user/reg",
                type:"post",
                data:{
                    "loginname":loginname.val(),
                    "password":password.val(),
                    "checkCode":checkCode.val(),
                    "codekey":codekey
                },
                //得到后端数据,展现给用户
                success:function(res){
                    if(res.code==200&&res.data==1){
                        //注册成功
                        alert("恭喜注册成功")
                        //跳转到登录页面
                        location.href="login.html";
                    }
                    else{
                        //注册失败
                        alert("注册失败!"+res.msg);
                    }
                }
            });

 注释:

  • url:前后端接口的路径;
  • type:获取数据的形式
  • data:向后端传送的数据

以上为前端发送ajax请求以及处理返回的响应的代码,下面为后端处理请求的过程:

public AjaxResult reg(UserinfoVo userinfoVo){
        //1 参数检验
        if(userinfoVo==null||
                !StringUtils.hasLength(userinfoVo.getLoginname())||
                !StringUtils.hasLength(userinfoVo.getPassword())

        ){
            return AjaxResult.fail(-1,"非法参数");
        }
        String trueCode=(String) redisTemplate.opsForValue().get(userinfoVo.getCodekey());
        if(!trueCode.equals(userinfoVo.getCheckCode())){
            return AjaxResult.fail(-2,"验证码错误");
        }
        //2 调用数据库添加操作
        int result=userService.reg(userinfoVo);
        //3 将结果返回前端
        return AjaxResult.succ(result);
    }

注:首先检验前端向后端传递的参数是否为空,即是否为非法参数,如果为非法参数直接返回。如果不是非法参数,则判断验证码是否正确,如果验证码正确,则将该用户添加到数据库用户表中,并将结果返回至前端。

2 登录页面

该页面如图所示:

个人博客系统(二),前端,spring boot,mybatis,java,数据库

首先,要先判断登录的用户名、密码以及验证码是否为空,若有一个为空,点击提交,则会提醒 “xxx不能为空” ,即:

个人博客系统(二),前端,spring boot,mybatis,java,数据库

 以上的判断均在前端js代码中实现,如果以上提示内容均未提示,则将向后端发送ajax请求,并处理从后端返回的数据,其具体请求为:

           jQuery.ajax({
                url:"/user/login",
                type:"GET",
                data:{
                    "loginname":loginname.val(),
                    "password":password.val(),
                    "checkCode":checkCode.val(),
                    "codekey":codekey
                },
                success:function(res){
                    //3 将后端的结果返回至用户
                    if(res.code==200&&res.data!=null){
                        alert("恭喜:登录成功")
                        location.href="myblog_list.html"
                    }
                    else{
                        alert("登录失败!"+res.msg)
                    }
                }
            });

 注释:

  • url:前后端接口的路径;
  • type:获取数据的形式
  • data:向后端传送的数据

以上为前端发送ajax请求以及处理返回的响应的代码,下面为后端处理请求的过程:

 public AjaxResult login(UserinfoVo userinfoVo, HttpSession session){
        // 1.非空效验
        if(userinfoVo==null ||
                !StringUtils.hasLength(userinfoVo.getLoginname()) ||
                !StringUtils.hasLength(userinfoVo.getPassword()) ||
                !StringUtils.hasLength(userinfoVo.getCheckCode())||
                !StringUtils.hasLength(userinfoVo.getCodekey())
        ){
            return AjaxResult.fail(-1,"非法参数!");
        }
       //验证码验证
        String trueCode=(String)redisTemplate.opsForValue().get(userinfoVo.getCodekey());
        if(!trueCode.equals(userinfoVo.getCheckCode())){
            return AjaxResult.fail(-3,"验证码错误");
        }
        // 2.根据用户名查询用户对象
        Userinfo userinfo = userService.login(userinfoVo.getLoginname());
        if(userinfo==null || userinfo.getUid()<=0){
            // 对象未查到
            return AjaxResult.fail(-2,"用户名或密码错误!");
        }
        // 3.判断密码是否一致
        if(!userinfo.getPassword().equals(userinfoVo.getPassword())){
            return AjaxResult.fail(-2,"用户名或密码错误!");
        }
        // 4.如果用户名和密码正确,那么将用户对象存储到 session
        session.setAttribute(AppVar.SESSION_KEY_USERINFO,userinfo);
        // 5.将结果返回给前端(将敏感信息去掉)
        userinfo.setPassword("");
        return AjaxResult.succ(userinfo);
    }

注:首先检验前端向后端传递的参数是否为空,即是否为非法参数,如果为非法参数直接返回。如果不是非法参数,则判断验证码是否正确,若验证码正确,则根据前端传送的数据,在用户表中查询用户对象,如果用户为查到,则返回用户名或密码错误,如果查询到的用户密码与前端传送的密码不一致,则返回用户名或密码错误,否则将该用户对象保存到session,并将结果返回至前端。

该博客系统中注册功能和登录功能设计到的验证码的设置,具体详情见:

http://t.csdn.cn/nuFag文章来源地址https://www.toymoban.com/news/detail-587107.html

到了这里,关于个人博客系统(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 个人博客系统(SSM版 前端+后端)

             在学习Servlet的时候,也写了一个博客系统,主要的就是使用servelet加Tomcat进行实现的,而这个项目 仅仅适合去学习Web项目开发的思想,并不满足当下企业使用框架的思想,进行学习过Spring,Spring Boot,Spring MVC以及MyBatis之后,我们就可以对之前的项目使用SSM框架的形式进行升

    2024年02月16日
    浏览(12)
  • SpringBoot个人博客系统(含源码+数据库)

    个人博客系统是一个让个人可以通过互联网自由表达、交流和分享的平台,是个人展示自己思想、感受和经验的品牌。设计理念对于任何一个个人博客系统来说都非常重要,它直接影响到用户的使用体验和网站的整体感觉。 好的设计理念应该着眼于用户。必须设计一款应用程

    2024年02月08日
    浏览(16)
  • 【Spring Boot】数据库持久层框架MyBatis — Spring Boot构建MyBatis应用程序

    Spring Boot是用于快速构建Spring应用程序的框架。MyBatis是一种Java持久化框架,可以帮助开发人员轻松地管理数据库。将Spring Boot与MyBatis结合使用可以使开发人员更容易地创建和管理数据库应用程序。 以下是使用Spring Boot构建MyBatis应用程序的步骤: 添加MyBatis依赖项:在项目的

    2024年02月10日
    浏览(15)
  • java版工程管理系统Spring Cloud+Spring Boot+Mybatis实现工程管理系统源码

     工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理    工程项目各模块及其功能点清单 一、系统管理     1、数据字典:实现对数据字典

    2024年02月07日
    浏览(18)
  • 【个人博客系统网站】框架升级 · 工程目录 · 数据库设计

    【JavaEE】进阶 · 个人博客系统(1) 标准项目目录: controller ,前后端交互控制器,接受请求,[处理请求],调用service,将响应返回给前端 service ,调用数据持久层mapper层 mapper ,进行数据库操作 model ,实体类 common ,公共类,Utils工具类 utils是“utilities”的缩写,即工具、实

    2024年02月10日
    浏览(20)
  • Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单

       一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点:对草稿进行编辑,驳回的立项编辑,在途流程查看。 二、项目管

    2024年02月17日
    浏览(16)
  • 基于Spring Boot和Vue3的博客平台数据库设计实践

    在构建一个博客平台时,数据库设计是关键的一步。一个合理的数据库设计可以提高数据的一致性、完整性和可用性,从而提高整个平台的稳定性和性能。本篇博客将介绍博客平台的数据库设计,包括实体关系图、表结构设计以及表之间的关系。 1. 实体关系图 实体关系图(

    2023年04月14日
    浏览(27)
  • 【Spring Boot】数据库持久层框架MyBatis — MyBatis简介

    本节首先会介绍什么是ORM、什么是MyBatis、MyBatis的特点以及核心概念,最后介绍MyBatis是如何启动、如何加载配置文件的? ORM(Object Relational Mapping,对象关系映射)是为了解决面向对象与关系数据库存在的互不匹配现象的一种技术。简单地说,ORM通过使用描述对象和数据库之

    2024年02月11日
    浏览(11)
  • java版企业工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单

         Java版工程项目管理系统 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示1、项目进度图表  2、项目信息 施工地图:1、展示当前角色权

    2024年02月08日
    浏览(17)
  • SSM项目前后端分离+IDEA运行环境(含前端源码)(个人博客系统)

    目录  后端项目环境配置 1、创建一个SpringBoot项目,添加MyBatis框架和数据库MySQL驱动依赖 2、配置项目文件:application.yml 3、创建数据库表 4、创建分层结构目录 返回统一数据格式  创建统一数据格式返回类:AjaxResult 创建实现统一数据返回的保底类:ResponseAdvice 统一处理 登录

    2024年02月13日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包