• 基于JavaWeb的微博系统设计与实现


    资源下载地址:https://download.csdn.net/download/sheziqiong/86783538
    资源下载地址:https://download.csdn.net/download/sheziqiong/86783538
    微博系统
    目录
    一、设计要求: 1
    Homepage 1
    三、文件结构: 2
    四、各部分具体实现: 3
    1.登陆注册模块: 实现功能: 3
    2.动态模块与账号的注销退出: 6
    //单个动态处理函数 7
    else 9
    3.搜索好友模块: 9
    用 9
    用户 户 9
    的 9
    好友 9
    好 9
    友的好 9
    友 将此中不是用 9
    五、数据库的设计: 10
    六、结果截图: 11
    1.登陆注册界面: 11
    2.动态加载界面: 12
    3.查看更多功能及评论/回复: 12
    4.按账号搜索好友: 12
    5.好友推荐: 13
    七、总结: 13
    四、各部分具体实现:
    1.登陆注册模块: 实现功能:
    用户注册,注册的过程中加入了表单验证,验证规则为:
    (1).手机号必须为 11 位数字且必须是以 13/14/15/17/18/19 开头,因为 16 为服务号。 (2).学号为 11 位数字。
    (3).密码长度必须大于 6.
    用户登录时通过 Cookie 记录用户的登陆信息,下次登陆时无需再次输入。
    Canvas 画出西电眺望塔。
    主要代码:
    a.注册账号时的表单验证:
    $(function () {
    $(‘#logform’).bootstrapValidator({
    message: “This value is not valid”,
    feedbackIcons: {//定义了检验通过与未通过时采用的图标
    valid: ‘glyphicon glyphicon-ok’,
    invalid: ‘glyphicon glyphicon-remove’,
    validating: ‘glyphicon glyphicon-refresh’
    },

            fields: 
                { 
                    tel:{ 
                        message:"The tel is not valid", 
                        validators:{ 
                            notEmpty:{ 
                              message:"手机号不能为空" 
                            }, 
                            stringLength:{ 
                                min:11, 
                                max:11, 
                                message:"手机号必须为 11 位" 
                            }, 
                            regexp:{ 
                                regexp:/^1[34578]\d{9}$/, 
                                message:"手机号错误" 
                            } 
                            //手机号已经注册过未写 
                        } 
                    }, 
                    StuId:{ 
                        message:"The StuId is not valid", 
                        validators:{ 
                                notEmpty:{ 
                                    message:"学号不能为空" 
                                }, 
            stringLength:{ 
                                min:11, 
                                max:11, 
                                message:"学号必须为 11 位" 
                                }, 
            regexp:{ 
               regexp:/\d{11}/, 
               message:"学号不正确" 
               } 
                   } 
                    }, 
                    password1:{ 
                        message:"The value is not valid", 
                        validators: { 
                            notEmpty: { 
                                message: "密码不能为空" 
                            }, 
                            stringLength: { 
    
                                min: 6, 
                                max: 20, 
                                message: "密码长度必须在 6~20 之间" 
                            } 
                        } 
                    }, 
                    password2:{ 
                        message:"The value is not valid", 
                        validators:{ 
                                    notEmpty:{ 
                                        message:"密码不能为空" 
                                    }, 
                                    identical:{ 
                                        field:'password1', 
                                        message:"两次密码输入不一致" 
                                    } 
                        } 
                    } 
                } 
    }); 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65

    b.Cookie 记录用户登录信息函数:
    Cookie 的生存周期为 7 天,路径为网站根目录 path = “/”.
    函数功能为,当用户进入 index 界面后,本文转载自http://www.biyezuopin.vip/onews.asp?id=15032程序先判断上次登录时候是否设置 Cookie,并判断是否到期,若有 Cookie 并没到期,则将上次设置到
    Cookie 中的用户名和密码回填到表单中,用户选择是否记住密码,若选择记住,则此次登陆后,Cookie 中的内容被延至 7 天后到期,若未选中则 Cookie 被清空。
    $(function () {
    //Cookie 模块

    if(KaTeX parse error: Expected 'EOF', got '&' at position 29: …nname')!='null'&̲&.cookie(‘logincode’)!=‘null’&&KaTeX parse error: Expected 'EOF', got '&' at position 21: …ie('loginname')&̲&.cookie(‘l
    ogincode’))//判断 Cookie 是否有效 若有效则显示出来
    {
    KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲loginname').val….cookie(‘loginname’));
    KaTeX parse error: Expected 'EOF', got '#' at position 3: ('#̲logincode').val….cookie(‘logincode’));
    }

    $('#loginbut').click(function () { //登陆模块 发送 AJAX 请求到 loginroute 处理路由  (界面始终不跳转) 
      var loginname=$('#loginname').val(); 
      var logincode =$('#logincode').val(); 
      var data={"loginname":loginname,"logincode":logincode}; 
        $.ajax({ 
    
            url:"http://localhost:3000/loginroute", 
            data:data, 
            success:function (data,stau) { 
                if(stau == 'success') 
                { 
                    if($("#remember").is(":checked")==true)//若选中设置 cookie 
                    { 
                        $.cookie('loginname',loginname,{path:"/",expires:7}); 
                        $.cookie('logincode',logincode,{path:"/",expires:7}); 
                    } 
                    else//若没选中 清除 cookie 
                    { 
                        $.cookie('loginname',null); 
                        $.cookie('logincode',null); 
                    } 
                    if(data.search('false')!=-1) 
                    { 
                        alert("用户名或密码错误^_^false"); 
                        return; 
                    } 
                    if(data.search('StuId')) 
                    { 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    window.location.href=“http://localhost:3000/Homepage?”+“loginname=”+loginname+“&logincode=”+loginco de;
    return;
    }
    }
    else
    {
    alert(stau);
    }
    },
    error:function () {
    alert(“用户名或密码错误_”);
    },
    })
    });

    2.动态模块与账号的注销退出:
    实现功能:
    个人信息编辑及头像上传。发布文字动态。

    发布图片和文字动态。评论及回复模块。
    加载用户及其关注的好友当天发布过的动态及评论。 点击查看更多,可查看用户之前发布过的动态及评论。
    主要代码解释:
    a.加载用户发布的动态,用户登录进入后,通过 ajax 请求服务器返回当天的动态,并通过动态创建表单展示到页面。
    //加载当天动态
    function load_dongtai(data)
    {
    $.ajax({
    url:“/dongtai”,
    data:data,
    success:function (dat,name)
    {
    if(name=“success”)
    {
    var dat = JSON.parse(dat);
    //console.log(dat);
    var len = dat.length;
    //console.log(len);
    for(var i = len-1;i>=0;i–)
    {
    dealOneDongtai(dat[i]);
    }
    }else
    {
    console.log(name);
    }
    }
    });
    }
    //通过动态创建表单,处理一条动态函数。
    //单个动态处理函数
    function dealOneDongtai(data)
    {
    //console.log(data);
    var showDT = $(‘#showDT’);
    var h2 = $(‘

    ’+data[‘xuehao’]+‘:


    ’);
    showDT.append(h2);
    if(data[‘imageinfo’])
    {

        var img = $(''); 
        showDT.append(img); 
    } 
    if(data['dongtai']) 
    { 
        var dongtai = $('

    '+data['dongtai']+'

    '); showDT.append(dongtai); } var date = new Date(data['shijian']); var shijian = $('

    '+date.getUTCFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate()+'

    '); showDT.append(shijian); var Pbtn = $('

    ‘); //评论按钮
    showDT.append(Pbtn);
    var pin_input = KaTeX parse error: Expected '}', got 'EOF' at end of input: … showDT.append((’


    ‘));
    var tpinglun = pinglun.split(’#‘);
    var pinglen = tpinglun.length;
    for(var i = 1;i {
    showDT.append( KaTeX parse error: Expected 'EOF', got '#' at position 73: …lass" id="'+i+"#̲"+data['flag']+…(’
    '));
    }

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    资源下载地址:https://download.csdn.net/download/sheziqiong/86783538
    资源下载地址:https://download.csdn.net/download/sheziqiong/86783538

  • 相关阅读:
    [牛客网刷题 Day6] JZ27 二叉树的镜像
    短信登录实现(黑马点评为例)
    docker容器内安装vim 加速
    20. 从零用Rust编写正反向代理,四层反向代理stream(tcp与udp)实现
    facebook群控如何做?使用静态住宅ip代理有什么好处?
    Spring依赖注入源码解析(上)
    RGB565 转 RGB888 的2种实现方式
    preload和prefetch、dns-prefetch和preconnect
    gin 快速入门手册
    30-浅拷贝和深拷贝
  • 原文地址:https://blog.csdn.net/newlw/article/details/126915122