查询网站的用户登录注册和操作日志存储设计和实现

概要

本节主要介绍对网站添加了用户登陆、注册等操作。
主要有以下几个部分:
1、在数据库中添加相关的表
2、注册部分以及注册的界面
3、登陆操作以及登陆的界面设计
4、非登陆的用户不能进行新闻查询
5、将用户操作写入日志

schema

在这个部分添加了两个表,用来存储用户信息与日志信息,其中用户信息表中,存储了用户名以及用户的密码,日志中存储了用户名、操作时间和具体操作
建表语句如下:

create table UserInfo (
     id_user serial UNIQUE,
     name varchar(20) DEFAULT NULL, 
     passwd vachar(20) DEFAULT NULL)

create table Logs(     	
	id_log serial UNIQUE,
        username varchar(20) DEFAULT NULL,    
        log_time date DEFAULT CURRENT_TIMESTAMP,     
        operation varchar(100) DEFAULT NULL)

用户注册部分

在这部分将介绍用户注册部分的界面以及注册的代码逻辑。

用户注册界面设计

设计了一个简单的用户注册界面,主要提供了输入用户名和密码部分的输入框以及一个注册按钮,代码在regist.html中。

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>注册界面</title>
        <script type="text/javascript" src="./script/login.js"></script>
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
        <link rel="stylesheet" href="./stylesheets/regist.css">
        <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
        <div class="box">
            <h2>注册</h2>
            <div class="input_box">
                <p align="center">账号:
                    <input id="uname" type="text" name="user" placeholder="账号首字符为字母">
                </p>
                <p align="center">密码:
                    <input id="upass" type="password" name="psw" placeholder="请输入密码">
                </p>
            </div>
            <div id="error_box"><br></div>
                <div class="input_box">
                    <br>
                    <button onclick="Regist()" class="btn btn-primary">注册</button>
                </div>
            </div>
        </div>
    </body>
</html>

用户界面的css样式表在,regist.css中,分开进行存放。

*{
    
    margin: 0;
    padding: 0;
    font-family: 微软雅黑;
    font-size: 12px;
   }
   .box{
    width: 390px;
    height: 320px;
    border: solid 1px #ddd;
    background: #FFF;
    position: absolute;
    left: 50%;
    top:42%;
    margin-left: -195px;
    margin-top: -160px;
    text-align: center;
   }
   .box h2{
    font-weight: normal;
    color:#666;
    font-size: 16px;
    line-height: 40px;
    overflow: hidden;
    text-align: center;
    border-bottom: solid 1px #ddd;
    background: #f7f7f7;
   }
   .input_box{
    width:350px;
    padding-bottom: 15px;
    margin: 0 auto;
    overflow: hidden;
   }

界面如下图所示:
在这里插入图片描述

用户注册

在点击注册按钮之后,会调用Regist函数,函数全部存储在login.js中。
会先检查用户名以及用户密码的长度,是否符合规范,如果不符合,则会进行提示,并且之间返回。代码如下:


var oUname = document.getElementById("uname");
var oUpass = document.getElementById("upass");
 var oError = document.getElementById("error_box")
 var
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基于Java的网络通讯系统设计实现如下: 系统架构: 客户端-服务器架构:采用客户端-服务器模式,其中服务器负责接收、处理和转发消息,而客户端负责发送和接收消息,并提供用户界面。 多线程支持:服务器端和客户端都需要支持多线程,以处理多个客户端的并发连接和消息传输。 功能设计用户注册与登录用户可以注册新账号并登录系统,系统应提供身份验证机制来确保用户身份安全。 消息传输:支持文本消息、情符号、图片、文件等多种类型的消息传输,并确保消息的可靠性和安全性。 消息广播:服务器可以向所有在线用户广播消息,或者向特定用户组发送消息。 在线状态管理:显示用户的在线状态,包括在线、离线、忙碌等状态,并及时更新在线用户。 文件传输:支持用户之间的文件传输功能,包括文件上传和下载。 技术选型: 网络通信:使用Java的Socket编程实现客户端与服务器之间的通信,可以选择TCP或UDP协议。 图形界面:可以使用JavaFX或Swing等GUI库来实现客户端的用户界面设计。 数据存储:可以使用关系型数据库如MySQL或非关系型数据库如MongoDB来存储用户信息、消息记录等数据。 安全性考虑: 数据加密:对用户登录、消息传输等敏感信息进行加密处理,保障数据的机密性和完整性。 身份认证:采用安全的身份验证机制,如用户名密码验证、Token验证等,防止未经授权的用户访问系统。 异常处理与日志记录: 实现良好的异常处理机制,捕获并处理各种可能的异常情况,保证系统的稳定性和可靠性。 记录系统运行日志,包括错误日志操作日志等,方便进行故障排查和系统性能分析。 通过以上设计实现,基于Java的网络通讯系统能够为用户提供安全、稳定和便捷的即时通讯服务,满足用户的沟通交流需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值