小作品(小项目?)技术总结(1)--用户注册、用户登录常用功能模块

一、前言

前几天帮一个学长做了一个Web端的作品,结合之前做的一些东西,总结发现很多东西的复用率还是挺高的,例如用户注册、用户登录这些任何项目中都要使用到的功能模块。所以,很有必要将它们进行总结,不断精化,日后用起来也会比较简单。
先贴几张前台的图:
1.首页
index
2.用户注册、用户登录页面
register
login
3.故障诊断页面
diagnosi
4.诊断结果页面
result

二、使用技术

JPA + JSF + HTML + CSS + JavaScript
前端部分是实验室小伙伴提供的技术支持。

三、大体设计

3.1 用户注册

用户注册部分大体可以分为以下步骤:

  • 从前台获取用户信息,用户姓名、用户密码等
  • 将用户实例化并存入到数据库

3.2 用户登录

用户登录部分大体可以分为以下步骤:

  • 从前台获取用户信息,用户名、用户密码等
  • 将获取到的用户信息与数据库进行核对
  • 核对正确则实现登录,否则失败

四、细节处理

如何更好地增强用户体验,例如在用户注册时自动提醒用户注册用户名的长度、密码设计的长度、组成,用户登录时判断该用户名是否存在等。

4.1 使用技术

该部分主要使用JSF的验证器、ajax等技术。还需要系统学习。

4.2 用户注册时用户名是否已注册、长度判断

前台设计:

ajax事件类型为”blur”。

<h:inputText id="username" placeholder="5-20个英语,字符,数字,区分大小写"
                            validator="#{UserController.userNameValidate}"
                            value="#{UserController.user.username}" size="10">
                            <f:ajax event="blur" render="nameError" />
                        </h:inputText>
                        <br />
                        <h:message for="username" id="nameError"
                            style="color: red; font-size:75%" />

后台validator设计

/*
     * * 用户名验证 长度 用户注册
     */
    public void userNameValidate(FacesContext context, UIComponent component, Object value)
            throws IllegalStateException, SecurityException, HeuristicMixedException, HeuristicRollbackException,
            RollbackException, SystemException {
        if (value.toString().length() < 5 || value.toString().length() > 20) {
            throw new ValidatorException(new FacesMessage("用户名长度应为5-20个字符"));
        }
        if (loginValidate1(value.toString())) {
            throw new ValidatorException(new FacesMessage("该用户名已注册"));
        }
    }

4.3 用户注册时用户密码长度判断

前台设计:
ajax事件类型为”keyup”。

<h:inputText id="password" placeholder="5-20个英语,字符,数字,区分大小写"
                            validator="#{UserController.passwordValidate}"
                            value="#{UserController.user.password}" size="10">
                            <f:ajax event="keyup" render="passwordError" />
                        </h:inputText>
                        <br />
                        <h:message for="password" id="passwordError"
                            style="color: red;font-size:75%" />

后台validator设计:

/*
     * s * 用户密码验证 长度 用户注册
     */
    public void passwordValidate(FacesContext context, UIComponent component, Object value)
            throws IllegalStateException, SecurityException, HeuristicMixedException, HeuristicRollbackException,
            RollbackException, SystemException {
        if (value.toString().length() < 5 || value.toString().length() > 12) {
            throw new ValidatorException(new FacesMessage("密码长度应为5-12个字符"));
        }
    }

效果图:
xiaoguo1

4.4 用户登录时用户名是否存在的判断

前台设计:
ajax事件类型为”blur”。

<h:inputText id="login-username"
                            validator="#{UserController.loginUserNameValidate}"
                            value="#{UserController.tempUser.username}" size="10">
                            <f:ajax event="blur" render="login-nameError" />
                        </h:inputText>
                        <h:message for="login-username" id="login-nameError"
                            style="color: red; font-size:75%" />

后台validator设计:

/*
     * * 用户名验证 用户登录
     */
    public void loginUserNameValidate(FacesContext context, UIComponent component, Object value)
            throws IllegalStateException, SecurityException, HeuristicMixedException, HeuristicRollbackException,
            RollbackException, SystemException {
        if (!loginValidate1(value.toString())) {
            throw new ValidatorException(new FacesMessage("该用户不存在"));
        }
    }

效果图:
xiaoguo2

五、代码设计

前台设计:
请移步:
https://github.com/GaoZiqiang/314DiagnosisSystem/blob/master/src/main/webapp/index.xhtml
后台设计:
请移步:
https://github.com/GaoZiqiang/314DiagnosisSystem/blob/master/src/main/java/cn/edu/sdut/softlab/controller/UserController.java

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是图书管理系统的用户注册和登录功能模块的详细设计。 1. 用户注册功能设计 用户注册功能是用户使用系统的第一步,需要设计安全、简单、易用的注册流程。注册流程可以分为三个步骤:输入基本信息、输入账号信息和验证账号信息。在输入基本信息时,需要输入用户的姓名、性别、邮箱、电话号码等基本信息。在输入账号信息时,需要输入用户名、密码和确认密码。在验证账号信息时,需要输入验证码,确保用户账号的安全性。同时,在注册成功后,需要发送激活邮件或短信,验证用户的邮箱或电话号码,确保用户的真实性。 2. 用户登录功能设计 用户登录功能是用户使用系统的入口,需要设计安全、简单、快捷的登录流程。登录流程可以分为两个步骤:输入用户名和密码、验证用户信息。在输入用户名和密码时,需要验证用户的账号信息,确保用户的账号和密码都正确。在验证用户信息时,需要验证用户的登录状态,确保用户的安全性。同时,在登录成功后,需要记录用户的登录状态,保持用户的登录状态,方便用户的后续操作。 3. 数据库设计 数据库是支持用户注册和登录功能的重要组成部分,需要设计合理、高效的数据库结构。数据库可以采用关系型数据库,将用户信息存储在不同的表中。同时,为了提高数据访问效率,可以采用索引和缓存机制,减少数据库的访问次数,提高系统的性能。 4. 安全性设计 安全性是用户注册和登录功能的重要保障,需要设计完善、高效的安全性机制。安全性机制可以采用加密算法,对用户的密码进行加密存储,确保用户的密码安全。同时,可以采用防火墙、反病毒软件等安全性工具,保护系统的安全性。另外,还需要对用户的权限进行控制,确保用户只能访问其具备权限的资源。 以上是图书管理系统的用户注册和登录功能模块的详细设计。希望能对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值