文档章节

Java web 验证码的生成

目翟
 目翟
发布于 2013/11/28 16:56
字数 162
阅读 43
收藏 0
public class CheckCodeServlet extends HttpServlet {

        public void servlet(HttpServletRequest request, HttpServletResponse response)
                        throws ServletException, IOException {
                // 画画
                BufferedImage image = new BufferedImage(60, 20,
                                BufferedImage.TYPE_INT_RGB);
                Graphics g = image.getGraphics();
                Random r = new Random();
                g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));
                g.fillRect(0, 0, 60, 20);
                // 生成一个随机数,并且画到内存映射对象上
                String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                String number = "";
                for (int i = 0; i < 5; i++) {
                        number += str.charAt(r.nextInt(str.length()));
                }

                HttpSession session = request.getSession();
                session.setAttribute("number", number);
                System.out.println(number);
                g.setColor(new Color(0, 0, 0));
                g.drawString(number, 10, 15);
                // 加一些干扰线
                for (int i = 0; i < 5; i++) {
                        g
                                        .setColor(new Color(r.nextInt(255), r.nextInt(255), r
                                                        .nextInt(255)));
                        g.drawLine(r.nextInt(60), r.nextInt(20), r.nextInt(60), r
                                        .nextInt(20));
                }
                // 2 将图片压缩并输出到客户端
                response.setContentType("image/jpeg");
                OutputStream ops = response.getOutputStream();
                javax.imageio.ImageIO.write(image, "jpeg", ops);
        }

}



© 著作权归作者所有

下一篇: Select2 3.4.5
目翟
粉丝 4
博文 25
码字总数 26183
作品 0
闸北
高级程序员
私信 提问
从.Net到Java学习第十一篇——SpringBoot登录实现

通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如何来验证我们的学习成果呢?当然是通过做项目来证明吧!所以从这一篇开始我将会对之前自己做的.net项目用java来重写。...

邹琼俊
2018/07/13
0
0
jfinal 生成验证码在centos6.4中无法显示

jfinal 生成验证码在centos6.4中无法显示。 java版本如下: [root@CYcentos6 ~]# java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotS......

枫林茵然
2014/02/17
1K
6
java web验证码生成总结(包括servlet、jsp和struts2实现)(转)

一、使用纯Servlet实现验证码 (1)在web.xml配置: [java] view plaincopy <servlet> <servlet-name>image</servlet-name> <servlet-class>org.test.web.AuthImage</servlet-class> </servlet>......

Famp
2014/07/10
258
0
Spring Security之用户名+密码登录

自定义用户认证逻辑 处理用户信息获取逻辑 实现UserDetailsService接口 处理用户校验逻辑 UserDetails接口的一些方法,封装了登录时的一些信息 返回数据写成 处理密码加密解密 PasswordEnco...

yysue
2018/10/11
624
0
Java 开源博客 Solo 2.7.0 发布,提供文章配图

Solo 是一款一个命令就能搭建好的 Java 开源博客系统,如果你想开个独立博客,请一定不要错过! 2.7.0 版本新增了一个文章配图功能,美图来自 Bing 壁纸。 安装 下载安装包 解压后执行 java...

88250
2018/03/07
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

Replugin借助“UI进程”来快速释放Dex

public static boolean preload(PluginInfo pi) { if (pi == null) { return false; } // 借助“UI进程”来快速释放Dex(见PluginFastInstallProviderProxy的说明) return PluginFastInsta......

Gemini-Lin
今天
4
0
Hibernate 5 的模块/包(modules/artifacts)

Hibernate 的功能被拆分成一系列的模块/包(modules/artifacts),其目的是为了对依赖进行独立(模块化)。 模块名称 说明 hibernate-core 这个是 Hibernate 的主要(main (core))模块。定义...

honeymoose
今天
4
0
CSS--属性

一、溢出 当内容多,元素区域小的时候,就会产生溢出效果,默认是纵向溢出 横向溢出:在内容和容器之间再套一层容器,并且内部容器要比外部容器宽 属性:overflow/overflow-x/overflow-y 取值...

wytao1995
今天
4
0
精华帖

第一章 jQuery简介 jQuery是一个JavaScript库 jQuery具备简洁的语法和跨平台的兼容性 简化了JavaScript的操作。 在页面中引入jQuery jQuery是一个JavaScript脚本库,不需要特别的安装,只需要...

流川偑
今天
7
0
语音对话英语翻译在线翻译成中文哪个方法好用

想要进行将中文翻译成英文,或者将英文翻译成中文的操作,其实有一个非常简单的工具就能够帮助完成将语音进行翻译转换的软件。 在应用市场或者百度手机助手等各大应用渠道里面就能够找到一款...

401恶户
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部