patchca整合Spring MVC生成超炫的验证码
@Controllerpublic class Login2Controller {    private static ConfigurableCaptchaService cs = new ConfigurableCaptchaService();    private static Random random = new Random();    static {//        cs.setColorFactory(new SingleColorFactory(new Color(25, 60, 170)));        cs.setColorFactory(new ColorFactory() {            @Override            public Color getColor(int x) {                int[] c = new int[3];                int i = random.nextInt(c.length);                for (int fi = 0; fi < c.length; fi++) {                    if (fi == i) {                        c[fi] = random.nextInt(71);                    } else {                        c[fi] = random.nextInt(256);                    }                }                return new Color(c[0], c[1], c[2]);            }        });        RandomWordFactory wf = new RandomWordFactory();        wf.setCharacters("23456789abcdefghigkmnpqrstuvwxyzABCDEFGHIGKLMNPQRSTUVWXYZ");        wf.setMaxLength(4);        wf.setMinLength(4);        cs.setWordFactory(wf);    }    @RequestMapping("/pcrimg")    public void crimg(HttpServletRequest request, HttpServletResponse response) throws IOException {        switch (random.nextInt(5)) {            case 0:                cs.setFilterFactory(new CurvesRippleFilterFactory(cs.getColorFactory()));                break;            case 1:                cs.setFilterFactory(new MarbleRippleFilterFactory());                break;            case 2:                cs.setFilterFactory(new DoubleRippleFilterFactory());                break;            case 3:                cs.setFilterFactory(new WobbleRippleFilterFactory());                break;            case 4:                cs.setFilterFactory(new DiffuseRippleFilterFactory());                break;        }        HttpSession session = request.getSession(false);        if (session == null) {            session = request.getSession();        }        setResponseHeaders(response);        String token = EncoderHelper.getChallangeAndWriteImage(cs, "png", response.getOutputStream());        session.setAttribute("captchaToken", token);        System.out.println("当前的SessionID=" + session.getId() + ",验证码=" + token);    }    protected void setResponseHeaders(HttpServletResponse response) {        response.setContentType("image/png");        response.setHeader("Cache-Control", "no-cache, no-store");        response.setHeader("Pragma", "no-cache");        long time = System.currentTimeMillis();        response.setDateHeader("Last-Modified", time);        response.setDateHeader("Date", time);        response.setDateHeader("Expires", time);    }}patchca整合Spring MVC生成超炫的验证码的更多相关文章
- Hibernate validator使用和自定义validator及整合Spring MVC
		http://blog.csdn.net/lwphk/article/details/43983669 Hibernate validator使用 导入validation-api-xxx.jar 以 ... 
- spring mvc: 生成RSS源
		spring mvc: 生成RSS源 准备: 从相同的maven存储库页面下载 Rome 库及其依赖项rome-utils,jdom和slf4j.和所需的依赖关系 <!-- rss源依赖 --& ... 
- 【深度分析】:阿里,腾讯面试题 SpringBoot整合Spring MVC
		Java学习总结 SpringBoot整合Spring MVC 1.SpringMVC概述 MVC(Model–view–controller)是软件工程中的一种软件架构模式,基于此模式把软件系统分为 ... 
- Swagger+Spring mvc生成Restful接口文档
		简介 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ... 
- spring mvc生成注册验证码
		通过Spring MVC为系统添加验证码 1:布局登陆页面,用户名,密码,填写验证码的文本框,及验证码的图片及点击换图 <%@ taglib prefix="c" uri=& ... 
- spring 整合 spring mvc
		需要进行 Spring 整合 SpringMVC 吗 ? 还是否需要再加入 Spring 的 IOC 容器 ? 是否需要再 web.xml 文件中配置启动 Spring IOC 容器的 Context ... 
- UEditor1.4.3.3整合Spring MVC和七牛
		[前言] 项目中涉及将UEditor上传服务器整合进已有的基于Spring MVC的服务中,并且将上传到本地改为上传到七牛,看似简单的一个需求,实际做起来还是遇到了一些困难.在这里分享一下经验-- 七 ... 
- MyBatis整合Spring MVC
		前面几篇文章已经讲到了mybatis与spring 的集成.目前主流的Web MVC框架,除了Struts这个主力外,还有Spring MVC,主要是由于 Spring MVC 配置比较简单,使用起来 ... 
- Spring MVC生成RSS源
		下面的示例演示如何使用Spring Web MVC框架生成RSS源. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建 ... 
随机推荐
- 20169210《Linux内核原理与分析》课程总结
			每周作业链接汇总 第一周作业:对实验楼<Linux 基础入门(新版)>课程的学习,其中有用户及文件权限管理.Linux 目录结构及文件基本操作.环境变量与文件查找.文件打包与解压缩等共17 ... 
- MySQL添加外键时报错 ERROR 1215 (HY000): Cannot add foreign key constraint
			1.数据类型 2.数据表的引擎 数据表 mysql> show tables; +------------------+ | Tables_in_market | +--------- ... 
- swift Array 数组
			// // main.Swift // swift数组 // // Created by zhangbiao on 14-6-15. // Copyright (c) 2014年 理想. Al ... 
- GitHub具体教程
			GitHub具体教程 Table of Contents 1 Git具体教程 1.1 Git简单介绍 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1. ... 
- unix进程的环境--unix环境高级编程读书笔记
			http://blog.csdn.net/xiaocainiaoshangxiao/article/category/1800937 
- iOS之ASIHttp简单的网络请求实现
			描述: ASIHttpRequest是应用第三方库的方法,利用代码快,减少代码量,提高效率 准备工作: 一.导入第三方库ASIHttpRequest 二.会报很多的错,原因有两个,一个是要导入Xcod ... 
- linux解压缩命令
			1.tar -cvf /data/sc2.tar /data (只打包,不压缩) 把/data下的文件打包成 sc.tar 上面两个都是绝对路径噢 tar -zcvf /data/sc2.tar.g ... 
- sqlite数据库修改及升级
			今天是上班的第二天,听说我最近的任务就是改bug,唉,权当学习了,遇到的一些问题都记录下来. sqlite数据库是android中非常常用的数据库,今天帮别人改bug,遇到一些问题记录下来. 1.修改 ... 
- Summary: How to calculate PI?  Based on Monte Carlo method
			refer to: http://www.stealthcopter.com/blog/2009/09/python-calculating-pi-using-random-numbers/ Duri ... 
- [IO] C# INI文件读写类与源码下载 (转载)
			/// <summary> /// 类说明:INI文件读写类. /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url]http://www.sufei ... 
