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

 ------用户的实体类
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. 【软件安装】——Robot Framework

    Robot Framework安装(win10) 一. 安装python 1.安装python2.7到本地,双击安装包进行安装,一般放入D盘,文件名默认Python27: 安装完成后进行版本检验,调出 ...

  2. Linux中zip压缩和解压缩命令

    主要参数 -c:将解压缩的结果-l:显示压缩文件内所包含的文件-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换-t:检查压缩文件是否正确-u:与-f参数类似,但是除了更新现有的 ...

  3. MySQL事务的四种隔离级别

    事务的基本要素: 原子性(atomicity):事务开始后的全部操作, 要么全部执行成功,如果中间出现错误,事务回滚到事务开始前的状态. 一致性(Consistency):事务开始后,数据库的完整性约 ...

  4. 超強的Linux指令解釋網站《explainshell.com》,學Linux必備!

    ExplainShell 官方網站:http://explainshell.com/ 原始碼下載:https://github.com/idank/explainshell 用瀏覽器打該explain ...

  5. linux缺頁異常處理--內核空間[v3.10]

    缺頁異常被觸發通常有兩種情況—— 1.程序設計的不當導致訪問了非法的地址 2.訪問的地址是合法的,但是該地址還未分配物理頁框 下面解釋一下第二種情況,這是虛擬內存管理的一個特性.盡管每個進程獨立擁有3 ...

  6. 如何多个router 进行合并?

    有时间可能有多个人开发,如果在共用router, 势必会造成合并冲突,可以分开多个router.js ,然后进行合并 // router0.jsconst studyRouter = [ { path ...

  7. 看不到但摸得到的捣蛋鬼---Zero Width Space

    看不到但摸得到的捣蛋鬼---Zero Width Space 1.情况如何? 昨天,"某某某"的代码出现了一个bug.大概是这个情况: 有一个提示信息,需要展示,大概这样: 这行文 ...

  8. 【转载】Elasticsearch--java操作之QueryBuilders构建搜索Query

    原文地址:https://www.cnblogs.com/pypua/articles/9459941.html package com.elasticsearch; import org.elast ...

  9. 【和孩子一起学编程】 python笔记--第四天

    第十一章: 可变循环 newStars = int(input("how many stars do you want?")) for i in range(newStars): ...

  10. c#处理3种json数据的方式

    原文出处:http://www.jb51.net/article/48027.htm 一.C#处理简单json数据 json数据: {"result":"0", ...