Java基于Servlet 验证吗
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 图像的上下文
Graphics g = image.getGraphics();
// 处理验证码区域的颜色
g.setColor(Color.white);
g.fillRect(0, 0, width, height);
// 设置边框
g.setColor(Color.black);
g.drawRect(0, 0, width - 1, height - 1);
// 生成验证码
Random random = new Random();
String codeSession = "";
for (int i = 0; i < length; i++)
{
String chaStr = String.valueOf(charset[random.nextInt(charset.length)]);
codeSession += chaStr;
g.setColor(Color.blue);
g.setFont(new Font("宋体", Font.BOLD, 30));
}
g.drawString(codeSession, drawX, drawY);
req.setAttribute("codeSession", codeSession);
// 设置干扰点
for (int i = 1; i < 155; i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
g.setColor(Color.red);
g.drawOval(x, y, 0, 0);
}
resp.setDateHeader("Expires", -1);// 设定网页到期时间,一时过期则必到服务器上重新请求
resp.setHeader("Cache-Control", "no-cache");// 不能cache
resp.setHeader("Pragma", "no-cache");// 禁止浏览器从本地cache中调税内容
// 把imagewrite写入outpustream
ImageIO.write(image, "jpeg", resp.getOutputStream());
效果如图:
Java基于Servlet 验证吗的更多相关文章
- Java基于Servlet过虑器
- 基于Servlet体系的HTTP请求代理转发Spring Boot组件
背景概述 两个项目组原本都是各自负责两个产品线(产品A.产品B),由于公司业务的发展,目前需要将两个产品合并成一个大产品(功能整合,部分做取舍,最终产出产品C),前后端代码必然也需要整合,包括两个产品 ...
- Ed Burns谈HTTP/2和Java EE Servlet 4规范
在2015年JavaLand大会上,Ed Burns展示了Java EE Servlet 4.0规范(JSR 369)的概要,演讲的重点在于Java EE平台对HTTP/2的支持.HTTP/2旨在解决 ...
- 【Java】Servlet 工作原理解析
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的 ...
- Java实现邮箱验证
Java实现邮箱验证 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开 ...
- 基于Servlet+jsp的web计算器
基于Servlet+jsp的web计算器 这次老大为了让我们自己复习web中页面的跳转给布置得任务 天下代码一大抄,关键看你怎么抄 首先我想到的计算算法不是什么堆栈,是简单的(其实很复杂,但是我就只需 ...
- Java基于ssm框架的restful应用开发
Java基于ssm框架的restful应用开发 好几年都没写过java的应用了,这里记录下使用java ssm框架.jwt如何进行rest应用开发,文中会涉及到全局异常拦截处理.jwt校验.token ...
- 基于Servlet+smartUpload的文件上传
文件上传在web应用中是非常常见的,现在我就介绍下基于servlet的文件上传,基于Struts2的文件上传可以看: 页面端代码: <%@ page language="java&qu ...
- 基于servlet实现一个web框架
servlet作为一个web规范.其本身就算做一个web开发框架,可是其web action (响应某个URI的实现)的实现都是基于类的,不是非常方便,而且3.0之前的版本号还必须通过web.xml配 ...
随机推荐
- JPA && Spring Data && Spring Data JPA
1.JPA Java Persistence API,用于对象持久化的一组API,JPA本身是一组规范,让开发者用同一种方式访问不同的ORM框架.其实也就是java实体对象和关系型数据库建立起映射关 ...
- BootStrap中Affix控件的使用方法及如何保持布局的美观
Affix是BootStrap中的一个很有用的控件,他能够监视浏览器的滚动条的位置并让你的导航始终都在页面的可视区域.一开始的时候,导航在页面中是普通的流式布局,占有文档中固定的位置,当页面滚动的时候 ...
- webuploader上传插件
一:官网 http://fex.baidu.com/webuploader/ 二:示例
- javascript显示倒计时控制按钮
html: <a><span id="sendAgain" onclick="sendEmail()">2.再次发送激活邮件</s ...
- MongoDB的安全性
上篇文章介绍Mongo启动了,一般数据库启动,下面的操作就是登录数据库了,之前测试数据库是否正常安装的时候也登录过数据库,现在回想一下,好像连用户名和密码都没有输入,找几篇帖子来探究下Mongodb的 ...
- CentOS-6.3安装配置Nginx
安装说明 系统环境:CentOS-6.3软件:nginx-1.2.6.tar.gz安装方式:源码编译安装 安装位置:/usr/local/nginx 下载地址:http://nginx.org/en/ ...
- Demo学习: DownloadDemo
DownloadDemo 学习文件下载 1. 几个获取临时路径的函数: UniServerModule.TempFolderURL //当前程序路径下"Temp"文件夹: Uni ...
- 《C和指针》读书笔记——第五章 操作符和表达式
1.当/操作符的两个操作数都是整数时,它执行整除运算:其他都是执行浮点数除法. 2.逻辑移位:左边移入的位用0填充: 算数移位:左边移入的位用符号位填充: 3.位置1 :value |= 1<& ...
- Import和SQL*Loader这2个工具的异同
问:请讲述Import和SQL*Loader这2个工具的异同? 解答: 相同点:这两个ORACLE工具都是用来将数据导入数据库的. 区别是: IMPORT工具只能处理由另一个ORACLE工具EXPOR ...
- shutdown彻底关闭tomcat,以及多线程关闭
最近做的一个Web项目,发现shutdown.sh后,无法关掉tomcat进程. ps -ef | grep tomcat 返回tomcat进程仍然存在.经过调查发现是因为在Web应用中启动了线程池, ...