JavaWEB/JSP 中简单的验证码 springMVC
在spring MVC下简单的验证码源码。
@Controller // 注解问控制器
@RequestMapping("/login") // 访问路径
public class GetCodeController {
@RequestMapping("/getCode")
public void execute(HttpServletResponse response,
HttpSession session)throws Exception {
BufferedImage p_w_picpath = new BufferedImage(100, 30,BufferedImage.TYPE_INT_RGB);
Graphics g = p_w_picpath.getGraphics();
Random r = new Random();
g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));
g.fillRect(0, 0, 100, 30);
String number = getNumber(5);
session.setAttribute("scode", number);
g.setColor(new Color(0, 0, 0));
g.setFont(new Font(null, Font.BOLD, 24));
g.drawString(number, 5, 25);
for (int i = 0; i < 8; i++) {
g.setColor(new Color(r.nextInt(255), r.nextInt(255),
r.nextInt(255), r.nextInt(255)));
g.drawLine(r.nextInt(100), r.nextInt(30),
r.nextInt(100), r.nextInt(30));
} response.setContentType("p_w_picpath/jpeg"); OutputStream ops = response.getOutputStream(); ImageIO.write(p_w_picpath, "jpeg", ops); ops.close(); }
private String getNumber(int size) {
String str =
"ABCDEFGHIJKLMNOPQRSTUVWXYZqwertyuiopasdfghjklzxcvnm0123456789";
String number = ""; Random r = new Random(); for (int i = 0; i < size; i++) { number += str.charAt(r.nextInt(str.length())); } return number; }
}
验证码是我们在web开发中经常要用的的一个组件,特别是在请求分发中利用控制器
来获取验证码,便于维护而且高大上。
转载于:https://blog.51cto.com/king2/1591190
JavaWEB/JSP 中简单的验证码 springMVC相关推荐
- 基于javaweb+JSP+Servlet简单购物车
基于javaweb+JSP+Servlet简单购物车 开发工具:eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 public ...
- 重学JavaWeb —— JSP,简单全面一发入魂
文章目录 JSP 特点 由来 本质 使用 JSP指令 page include taglib JSP脚本 JSP内置对象 JSP作用域 EL表达式 EL内置对象 EL取值方式 JSP动作元素 JSTL ...
- jsp中生成的验证码和存在session里面的验证码不一致的处理
今天在调试项目的时候发现,在提交表单的时候的验证码有问题,问题是这样的:就是通过debug模式查看得知:jsp页面生成的验证码和表单输入的页面输入的一样,但是到后台执行的时候,你会发现他们是不一样的, ...
- html的表单图形验证码怎么做,django中简单图形验证码实现
要实现django图形验证码,可以使用简单的captcha 一.安装captcha 在Pycharm的terminal中,使用pip安装第三方库: 执行命令: pip install django-s ...
- https在jsp中简单使用
HTTPS实际是SSL over HTTP, 该协议通过SSL在发送方把原始数据进行加密,在接收方解 密,因此,所传送的数据不容易被网络黑客截获和破解.本文介绍HTTPS的三种实现方法 . 方法一 静 ...
- JavaWeb(JSP中的JSTL核心标签学习) c:foreach报错500? 错误原因:ArrayList<String> people = new ArrayList<>()
1.错误原因 ArrayList<String> people = new ArrayList<>(): 必须写成 ArrayList<String> people ...
- javaweb项目如何实现简单的验证码(以及eclipse和Linux下验证码加载不出来)
像这样简单的验证码如何生成并显示在页面上并能点击不断刷新验证码呢? 1.首先创建一个servlet包并创建一个VerificationCodeServlet package codewen.bookc ...
- 深入体验JavaWeb开发内幕——简述JSP中的自定义标签叫你快速学会
转载自 深入体验JavaWeb开发内幕--简述JSP中的自定义标签叫你快速学会 自定义标签,顾名思义,就是自己定义的标签.那么我们为什么要自己定义一些标签呢? 我们知道,如果要在JSP中获取数据我 ...
- 在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案
在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案 参考文章: (1)在JSP中常见问题,防止SpringMVC拦截器拦截js等静态资源文件的解决方案 (2)https: ...
最新文章
- [排错]运行cocos2d自带的cocos2d-test-ios工程出现错误:找不到libcocos2d.a
- idea去除重复代码校验
- 为什么磁盘存储引擎用 b+树来作为索引结构?
- 新浪微博和CRM Interaction Center的集成
- c++中字符输入函数getline、cin.getline区分
- Java 单例模式详解(转)
- ASP.NET Web开发实用代码(一)
- java访问微信接口发送消息
- 一个用户故事的样例(极限编程)
- resnet的瓶颈层的子层res4b22的命名规则
- Ubuntu Server 18.04 安装
- centos6.5 yum安装php5.5,mysql5.5.46 ,aphche 2.2.15
- CPU密集型和I/O密集型
- php 加密解密算法
- NR 5G 无线接入网
- Maya 基础教程 、 基础操作讲解
- SQL基础【一.DQL 数据查询语言】
- latex表格过长的解决办法之一:缩小字体
- 深入浅出LSTM学习
- 计算机考研最简单的专业,计算机专业有必要考研吗?计算机考研简单的校园都有哪些...