首先我们编写一个登录的JSP
login.jsp
<script language="javascript">
function loadimage(){
document.getElementById("randImage").src = "image.jsp?"+Math.random();
}
</script>
<div><font color="red">${msg }</font></div>
<form action="login.do" method="post">
UserName:<input type="text" name="userName"/></br>
PaddWord:<input type="text" name="pwd"/></br>
<img alt="code..." name="randImage" id="randImage" src="image.jsp" width="60" height="20" border="1" align="absmiddle">
<a href="javascript:loadimage();"><font class=pt95>看不清点我</font></a>
<input type="hidden" value="login" name="method"/></br>
<input type="submit" value="提交"/><input type="reset" value="重置"/></br>
</form>
其次我们编写一个image.jsp,这是JSP生成验证码的JSP
<%@ page contentType="image/jpeg" import="java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*" pageEncoding="gbk"%>
<%!
Color getRandColor(int fc,int bc)
{
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+random.nextInt(bc-fc);
int b=fc+random.nextInt(bc-fc);
return new Color(r,g,b);
}
%>
<%
out.clear();//这句针对resin服务器,如果是tomacat可以不要这句
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 random = new Random();
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
String sRand="";
for (int i=0;i<4;i++){
String rand=String.valueOf(random.nextInt(10));
sRand+=rand;
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
g.drawString(rand,13*i+6,16);
}
// 将认证码存入SESSION
session.setAttribute("rand",sRand);
g.dispose();
ImageIO.write(image, "JPEG", response.getOutputStream());
%>
分享到:
相关推荐
### jsp用户登录验证码知识点详解 #### 一、概述 在Web应用开发中,为了防止自动化工具或恶意脚本对登录系统的频繁尝试,通常会在登录界面加入验证码功能。验证码(CAPTCHA)是一种用来区分人与计算机的技术手段。...
首先,`jsp java 生成中文验证码`这个标题暗示我们要讨论如何在JSP应用中使用Java来创建包含中文字符的验证码。JSP是Java的一个Web开发技术,它允许开发者在HTML页面中嵌入Java代码,使得动态内容的生成变得简单。而...
下面将详细介绍JSP验证码的实现原理、步骤以及相关的知识点。 **验证码的基本原理** 验证码的核心是生成一串随机字符串,然后将其展示给用户,用户输入看到的字符串,服务器端验证输入是否正确。验证码设计的目标...
**JSP图形验证码项目**是基于Java Web技术实现的一个安全登录功能模块,主要涉及的技术包括JSP(JavaServer Pages)和图形验证码。在这个项目中,我们重点探讨如何使用JSP来创建用户登录界面,并结合图形验证码来...
**JSP为登录生成彩色验证码** 在Web应用中,验证码是一种常见的安全机制,用于防止自动化的机器人或恶意软件进行非法操作,例如批量注册、频繁登录等。本篇将详细介绍如何在JSP环境下创建一个彩色的验证码,以提高...
JAVA JSP版验证码 JAVA JSP版验证码 JAVA JSP版验证码 JAVA JSP版验证码
综上所述,JSP验证码登录程序通过Servlet生成随机验证码并将其保存在用户的Session中,然后在JSP页面中显示给用户。当用户提交登录表单时,Servlet会验证用户输入的验证码是否与Session中的验证码匹配,以此来确保...
在本文中,我们将深入探讨如何使用Java Server Pages (JSP) 实现用户登录验证,并结合MySQL数据库进行实际操作。此实例适用于初学者和中级开发者,旨在帮助他们理解JSP与数据库交互的基本步骤。 首先,JSP(Java ...
本话题将深入探讨如何使用Java Server Pages (JSP)来生成数字形式的随机验证码,并实现图片化显示及刷新功能。 首先,我们需要理解JSP的基本原理。JSP是一种动态网页技术,它允许开发人员在HTML页面中嵌入Java代码...
一款用java+jsp编写的验证码插件,可以在web项目中直接应用。
5. **更新页面**:JSP接收到新验证码后,替换原来的图片或验证码值,确保前端显示最新的验证码。 在实际开发中,为了提高用户体验,还可以考虑使用Cookie或者Session来保存用户当前的验证码,以便在验证时比较。...
而`index.jsp`可能是展示登录表单或其他包含验证码输入的页面。 总的来说,JSP实现验证码是一项涉及多个技术领域的工作,包括Web开发、图形处理和安全策略。通过熟练掌握这些知识点,开发者可以有效地保护网站免受...
在JSP(JavaServer Pages)环境中,实现验证码功能可以增强用户验证的安全性,避免无授权的登录尝试。本文将详细讲解如何在JSP页面中创建和使用验证码。 首先,验证码的生成通常涉及到随机字符的产生和图像的绘制。...
- **使用`<jsp:include>`标签**:将生成验证码的Java代码包含到JSP页面中。 - **`<img>`标签**:生成的验证码图片以HTTP响应的方式返回,通过`<img>`标签显示在网页上。 - **session管理**:使用`session....
综上所述,`jsp写的一个随机验证码`这个主题涵盖了JSP、Servlet、验证码机制以及Web应用的基本架构和异常处理原则。实际开发中,为了代码的可维护性和安全性,推荐将验证码生成逻辑封装到Servlet中,JSP仅作为视图层...
要为JSP登录界面添加图像验证码,我们需要以下步骤: 1. **生成随机字符串**:首先,我们需要在服务器端生成一个随机的字符串,这个字符串将作为验证码。可以使用Java的`Random`类和`StringBuilder`类来实现。 2. ...
2. JSP(JavaServer Pages)文件,如`verifcode.jsp`,显示验证码给用户。 3. CSS和JavaScript文件,用于样式和交互。 4. 可能还有配置文件,如`web.xml`,定义了Servlet的映射和其他Web应用设置。 部署这个项目时...
【标题】"jspupload.rar_OCR_java ocr_jsp_jsp 验证码_验证码 识别" 提供了一个基于JSP和Servlet实现的OCR(Optical Character Recognition,光学字符识别)系统,主要用于处理验证码的识别。这个系统允许用户通过...
- 视图解析,可能是JSP或Thymeleaf等,用于展示登录页面和验证码图像。 - 相关的Service和DAO层,用于处理登录逻辑和数据库操作。 通过以上步骤和组件,SSM框架可以成功地实现登录验证码功能,为Web应用提供了一道...
在Java Web开发中,我们可以使用Servlet和JSP来实现一个简单的图形验证码。以下将详细介绍如何利用这两个技术进行验证码的实现。 首先,理解验证码的基本原理:验证码是一种通过图像显示随机字符或数字的方式,用户...