第一使用 画图软件制作图片 ,文件名就是验证码
 

 ------用户的实体类
import java.util.Date;

public class Member {
    private int id;
    private String name;
    private String loginName;
    private String loginPwd;
    private String mobile;
    private String email;
    private Address address;
    private Date regTime;
    private Integer vipType;
    private Float balance;
    private String token;
    
    public String getToken() {
        return token;
    }
    public void setToken(String token) {
        this.token = token;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getLoginPwd() {
        return loginPwd;
    }

    public void setLoginPwd(String loginPwd) {
        this.loginPwd = loginPwd;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public Date getRegTime() {
        return regTime;
    }

    public void setRegTime(Date regTime) {
        this.regTime = regTime;
    }

    public Integer getVipType() {
        return vipType;
    }

    public void setVipType(Integer vipType) {
        this.vipType = vipType;
    }

    public Float getBalance() {
        return balance;
    }

    public void setBalance(Float balance) {
        this.balance = balance;
    }

}

 
 
-----实体类的映射配置 name="name"实体类变量名 column="m_name" 数据库字段
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.gll.it.entity.Member"  table="fs_members">
        <id name="id" column="m_id">
           <generator class="identity"/>
        </id>
        <property name="name" column="m_name" />
        <property name="loginName" column="m_loginname" />
        <property name="loginPwd" column="m_loginPwd" />
        <property name="mobile" column="m_mobile" />
        <property name="email" column="m_email" />
        <property name="regTime" column="m_regtime" type="date"/>
        <property name="vipType" column="m_vipType" />
        <property name="balance" column="m_balance" />
        <property name="token" column="m_token" />
        
        <many-to-one name="address" column="m_address_id"
         class="com.gll.it.entity.Address"/>
    </class>
</hibernate-mapping>

 
 
 
--

控制层智能图形代码

把图片存放在WEB-INF中

 
------在controller控制层创建方法获取注册页面

 
----注册页面的jsp代码 ----bootstrap框架需要自行下载
 

 
 

 
 
<%@page language="java"
contentType="text/html;charset=UTF-8"
import="java.util.*"
%>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="/gll/bootstrap4/css/bootstrap.min.css"/>
</head>
<body class="bg-secondary">
<div class="container bg-white mt-3 pt-3 shadow-lg">
<div class="row">
<div class="col-md-12">
<img src="/gll/bootstrap4/imgs/3.png" style="width:100%;height:200px"/>
</div>
</div>
<div class="row">
<div class="col-md-12">
<!--导航条-->
<nav class="navbar navbar-expand-lg navbar-light bg-dark font-weight-bold">
<a class="navbar-brand text-white" href="#">导航</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav text-white">
<li class="nav-item active">
<a class="nav-link text-white" href="#">首页 <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link text-white" href="#">列表</a>
</li>
<li class="nav-item">
<a class="nav-link text-white" href="#">购物车</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle text-white" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
我的空间
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="#">登陆</a>
<a class="dropdown-item" href="#">注册</a>
<a class="dropdown-item" href="#">个人信息</a>
</div>
</li>
</ul>
</div>
</nav>
<!--END 导航条-->
</div>
</div>
<div class="row">
<div class="col-md-12">
<h1 class="text-center">注册用户</h1>
<!--表单-->
 
<form action="" method="post">
<div class="form-group row">
<label for="inputName" class="col-sm-2 col-form-label">姓名</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputName" name="name">
</div>
</div>
<div class="form-group row">
<label for="inputLoginName" class="col-sm-2 col-form-label">登陆名</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputLoginName" name="loginName">
</div>
</div>
<div class="form-group row">
<label for="inputLoginPwd" class="col-sm-2 col-form-label">密码</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputLoginPwd" name="loginPwd">
</div>
</div>
<div class="form-group row">
<label for="inputRepeatLoginPwd" class="col-sm-2 col-form-label">重复密码</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputRepeatLoginPwd">
</div>
</div>
<div class="form-group row">
<label for="inputMobile" class="col-sm-2 col-form-label">手机</label>
<div class="col-sm-7">
<input type="text" class="form-control" id="inputMobile" name="mobile">
</div>
<div class="col-sm-3">
<button type="submit" class="btn btn-primary">获取短信验证码</button>
</div>
</div>
<div class="form-group row">
<label for="inputSms" class="col-sm-2 col-form-label">短信验证码</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputSms" name="smscode">
</div>
</div>
<div class="form-group row">
<label for="inputName" class="col-sm-2 col-form-label" >邮箱</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputName" name="email">
</div>
</div>
<div class="form-group row">
<label for="inputImg" class="col-sm-2 col-form-label">图形验证码</label>
<div class="col-sm-7">
<input type="text" class="form-control" name="img_code" id="inputImg">${err}
</div>
<div class="col-sm-3">
<img src="/gll/imgcode?" width="100px" height="100%"
onclick="this.src=this.src+1"/>
</div>
</div>
 
<div class="form-group row">
<div class="col-sm-12 text-center">
<button type="submit" class=" btn-lg btn-success mr-3">登陆</button>
<button type="reset" class="btn-lg btn-secondary">取消</button>
</div>
</div>
</form>
<!--END表单-->
</div>
</div>
<div class="row">
 
</div>
</div>
 
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="/gll/bootstrap4/js/jquery-3.4.1.slim.min.js"></script>
<script src="/gll/bootstrap4/js/popper.min.js" ></script>
<script src="/gll/bootstrap4/js/bootstrap.min.js"></script>
</body>
</html>
 
 
 
 
-----获取到的注册页面

jsp页面读取验证图片

 
 
--在controller控制层创建注册方法进行验证

springMvc注册时图形验证码完整代码与详细步骤``````后续更新注册时对密码进行加密的更多相关文章

  1. springMVC的执行流程和完整代码

    一.什么是 Spring MVC Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面,是一个强大灵活的 Web 框架.Spring ...

  2. C#生成漂亮验证码完整代码类

    using System;using System.Web;using System.Drawing;using System.Security.Cryptography; namespace Dot ...

  3. myeclipse上SVN代码合并详细步骤图解

    1.  在装有svn插件的myeclipse中,在主干上选择需要合并的文件或文件夹 右击 -> 合并(merge) 2. 选择合并类型--合并两个不同的树 Merge -> Next 3. ...

  4. Python爬虫学习记录【内附代码、详细步骤】

    引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...

  5. 使用Visual Studio 2019--调试汇编32位代码的详细步骤

    声明:本文使用32位masm,代码与16位,64位不同 ------------------------------------------------------------------------ ...

  6. [ASP.NET] 图形验证码破解-以简单图形为例

    原文 http://www.dotblogs.com.tw/joysdw12/archive/2013/06/08/captcha-cracked.aspx 前言 这次来讲个比较有趣的主题,就是该如何 ...

  7. vue 项目,获取手机验证码和图形验证码(iviewUI框架)

    1.编辑获取验证码模块 <Form ref="phoneFormItem" :model="phoneFormItem" :label-width=&qu ...

  8. PHP 图形验证码

    一段生成图形验证码的代码,向原创作者致谢. 1.将以下代码保存为 txm.php ,注:直接运行该页面是没有结果的,要用另一页面引用,请看步骤2 <?php session_start(); $ ...

  9. ASP.NET中如何生成图形验证码

    通常生成一个图形验证码主要 有3个步骤: (1)随机产生一个长度为N的随机字符串,N的值可由开发可由开发人员自行设置.该字符串可以包含数字.字母等. (2)将随机生成的字符串创建成图片,并显示. (3 ...

随机推荐

  1. Use sed and awk to prettify json

    $ cat prettify.sed s/,/,\r\n/g s/\[/\r\n\[\r\n/g s/\]/\r\n\]\r\n/g s/{/\r\n{\r\n/g s/}/\r\n}\r\n/g $ ...

  2. VC++实现窗口置顶

    最近在跟着Visual C++网络编程开发与实战视频教程做HttpSourceViewer这个MFC项目时,可以看我Github上的项目HttpSourceViewer,目前基本实现了所有功能,就是关 ...

  3. python学习那点事---列表生成式实现大小写字母相互转换

    题目: 已知列表list=["pYTHON","iS",eASY],要求使用列表生成式实现,生成一个新的列表,要求将大写字母转换为小写字母,小写字母转换为大写字 ...

  4. JavaScript对象的property属性详解

    JavaScript对象的property属性详解:https://www.jb51.net/article/48594.htm JS原型与原型链终极详解_proto_.prototype及const ...

  5. Spring Boot & Redis 用起来真简单!

    作者:java_老男孩  https://blog.51cto.com/14230003/2368721 Redis 是目前业界使用最广泛的内存数据存储.相比 Memcached,Redis 支持更丰 ...

  6. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  7. empty视为空的条件

    /** * empty视为空的条件: * (1)."" (空字符串) * (2).0 (作为整数的0) * (3).0.0 (作为浮点数的0) * (4)."0" ...

  8. shell函数的定义和调用

  9. 最长上升子序列(LIS)长度及其数量

    例题51Nod-1376,一个经典问题,给出一个序列问该序列的LIS以及LIS的数量. 这里我学习了两种解法,思路和代码都是参考这两位大佬的: https://www.cnblogs.com/reve ...

  10. 基于mybatis拦截器分表实现

    1.拦截器简介 MyBatis提供了一种插件(plugin)的功能,但其实这是拦截器功能.基于这个拦截器我们可以选择在这些被拦截的方法执行前后加上某些逻辑或者在执行这些被拦截的方法时执行自己的逻辑. ...