public String validId(){
HttpServletResponse response = this.getResponse();
HttpServletRequest request = this.getRequest();
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
//设置宽与高度
int width = 60, height = 20;
//在内存中创建图片
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//获取图形上下文
Graphics g = image.getGraphics();
//生成随机类
Random r = new Random();
//设置字体
g.setColor(new Color(160, 200, 100));
g.fillRect(0, 0, width, height);
//设置字体
g.setFont(new Font("Times New Roman", Font.BOLD, height));
//随机产生50条干扰线,使图形中的验证码不易被其他的程序探测
g.setColor(new Color(160, 200, 200));
for (int i=0; i<50; i++) {
int x = r.nextInt(width);
int y = r.nextInt(height);
int x1 = r.nextInt(width);
int y1 = r.nextInt(height);
g.drawLine(x, y, x1, y1);
}
//随机产生验证码(4位数字)
StringBuffer sb = new StringBuffer("");
for (int i=0; i<4; i++) {
String s = String.valueOf(r.nextInt(10)); sb.append(s);
g.setColor( new Color(20+ r.nextInt(110), 20+r.nextInt(110), 20+r.nextInt(110)) );
g.drawString(s, 13*i+6, 16);
}
g.dispose();
try {
ImageIO.write(image, "JPEG", response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
request.getSession().setAttribute("validateId", sb.toString());
return null;
}
分享到:
相关推荐
验证码可以以文本形式或图片形式呈现,如果以图片形式,我们需要将算术问题转化为图形,这可能涉及到使用Java的`Graphics2D`类进行绘制。 标签“javaweb”表明这个项目与Java Web开发相关,而“数字验证码”则提示...
在这个"JSP生成彩色验证码程序例子"中,我们将深入探讨如何利用JSP实现一个功能丰富的彩色验证码生成器。 验证码的主要目的是为了防止自动机器人或恶意脚本进行非法操作,例如防止垃圾邮件、注册机等。它通过显示一...
在这个“验证码实现(随机背景色及字体颜色,带扰乱线条)”的项目中,我们将探讨如何创建一个具有随机背景色、字体颜色以及扰乱线条的图像验证码。 首先,`CreatImage.java`是生成验证码图像的核心类。在这个类中...
在这个项目中,验证码的生成可能通过一个Servlet来完成,它负责生成随机字符并将其转化为图像。 4. **集成环境**: 提到的MyEclipse和带有Tomcat的Eclipse都是开发Java Web应用的常用工具。MyEclipse是Eclipse的...
在本压缩包中,你将找到一个可以直接导入到你的Java Web项目的验证码控件,它包含了示例代码,可以帮助你快速理解和实现验证码功能。 1. **验证码的原理**: 验证码通常由随机生成的一组字符(字母、数字或符号)...
综上所述,"登录servlet+jsp+mysql"项目是一个基于Java Web技术的简单但实用的登录系统,它展示了如何利用Servlet、JSP和MySQL数据库来实现用户登录功能,同时也体现了MVC设计模式在实际开发中的应用。虽然描述中...
总结起来,这个项目是一个基于jdbc、servlet和jsp的JavaWeb应用,实现了对emp表中员工信息的CRUD操作,支持用户登录注册并采用了简单的验证码验证。此外,还具备分页查询功能,提高了数据浏览的效率和用户体验。通过...
JSP页面可以通过`<img>`标签的`src`属性指向Servlet,请求新的验证码图像,并且包括一个输入框让用户输入验证码。 8. **HTTP响应**:当用户请求验证码图像时,Servlet会将生成的验证码图像作为HTTP响应的一部分发送...
【jsp+Dreamweaver留言板系统】是一个典型的Web应用程序开发实例,它结合了JavaServer Pages(JSP)技术和Adobe Dreamweaver的设计工具,用于构建一个互动的用户留言平台。在这个系统中,用户可以提交留言,而管理员...
系统的核心功能包括新闻的发布、编辑、删除以及展示,为用户提供了一个完整的新闻发布流程。 (1)login.htm:这是系统的登录页面,用户通过输入用户名和密码进行身份验证。验证码的引入增加了安全性,防止了恶意的...
综上所述,这个在线交友系统是一个完整的Web应用,结合了JSP技术、数据库管理和用户交互功能,为用户提供了一个安全、便捷的在线社交环境。它的开发涵盖了前端界面设计、后端逻辑实现、数据库操作以及用户认证等多个...
【JSP服装销售系统】是一个基于Java Server Pages(JSP)技术开发的电子商务平台,主要用于实现服装的在线销售。该系统包含多个核心功能模块,旨在为用户提供便捷的购物体验,并辅助管理员进行后台管理。 首先,...
V2版本中对前端进行了重构,一个全新的平面化设计的前端,更新内容如下: 1、增加14个Sevelet来处理相关数据,减少了多余的JSP页面 2、FCKediter更改为ueditor 3、前端使用JQ+JQ UI的方式重新布局和实现相关功能 4...
这样的系统可能包含了一个基本的框架,可以作为教学或实践JSP编程的基础。它可能包含了数据库连接、用户认证、页面跳转等常见功能,并且使用了Servlet和JSP技术来处理HTTP请求。 在【标签】中提到的“jsp”,意味着...
本项目——“JSP实现的简单旅游管理系统”旨在为小型旅行社或旅游服务机构提供一个便捷、高效的管理平台,以提升工作效率,优化业务流程。通过使用Java语言和JSP(JavaServer Pages)技术,结合数据库管理,实现了...
为了确保系统的可扩展性,可以使用模块化的设计方法,将系统分解成多个模块,每个模块负责不同的功能,可以根据需要添加或删除模块,以满足系统的发展需求。 JSP 网上商城文献综述对网上商城的设计和实现进行了详细...
V2版本中对前端进行了重构,一个全新的平面化设计的前端,更新内容如下: 1、增加14个Sevelet来处理相关数据,减少了多余的JSP页面 2、FCKediter更改为ueditor 3、前端使用JQ+JQ UI的方式重新布局和实现相关功能 4...
- 在`regiest.jsp`中添加验证码,确保用户在提交表单时输入正确的验证码,以验证其为真实用户。 在实际开发中,购物车功能往往需要考虑更多细节,如库存同步、优惠策略、订单合并等。同时,验证码的实现不仅限于...