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

 ------用户的实体类
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. 正则findall的使用

    import re title = 'hello, 你好,world' print(title) title = u'hello, 你好,world' print(title) #汉字匹配 +的意思是 ...

  2. mybatis小技巧

    本节主要讲解mybatis如下五个方面的内容: foreach 批量插入 模糊查询like的写法 #{}和${}的区别 解决实体类中的属性名和表中的字段名不一致问题 由于每次建立工程比较复杂,可以参考 ...

  3. Comet OJ - Contest #12

    B 整个表格其实是一些联通块,取反操作不能跨连通块.所以直接统计一下每个连通块内数字不对的个数是不是偶数即可 #include<iostream> #include<cstring& ...

  4. Dijkstra的优先队列

    模板 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> ...

  5. Java原理领悟-线程池(Executor)

    线程池全面解析 什么是线程池? 很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用. 线程池的好处 我 ...

  6. VS进程附加的使用

    一,附加进程(ctrl+alt+p)调试本地服务器接口(WCF,webapi等)的api 1>接口(WCF,webapi等)的api发布到本地IIS服务器,然后使用附加进程,将你发布的IIS添加 ...

  7. mySQL查看存储过程、函数、视图、触发器

    一.查看存储过程 1.show procedure status; //查看所有的 2.show create procedure proc_AllUser[proc_name]; 查看proc_Al ...

  8. hashRouter and BrowserRouter

    <html><body> <div> <button class="btn" onclick="btnFun();"& ...

  9. docker 安装nexus

    1.查找镜像 docker search nexus 2.拉取镜像 docker pull sonatype/nexus3 3.启动容器 docker run -d -p 8081:8081 -p 8 ...

  10. Xfce4: 显示/隐藏 休眠/混合睡眠/挂起 按钮

    可以在xfconf配置项中创建如下属性控制: xfconf-query -c xfce4-session -np '/shutdown/ShowHibernate' -t 'bool' -s 'fal ...