jsp的验证码实现

package com.xunfang.demo;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @title://演示输出验证码
 * @author:阳阳
 * @date: 2015-5-13
 */
public class ServletResponsw1 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //创建图片
        int width =120;
        int height = 30;
        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        //拿到此图片的画笔
        Graphics g = image.getGraphics();

        //设定边框
        g.setColor(Color.blue);
        g.drawRect(0, 0, width, height);
        g.setColor(Color.gray);
        g.fillRect(1, 1, width-2, height-2);

        //增加干扰圆点
        Random r = new Random();
        g.setColor(Color.green);
        for (int i = 0; i < 100; i++) {
            g.drawOval(1, 1, r.nextInt(width),r.nextInt(height));
        }

        //设定中文
        g.setColor(Color.yellow);
        g.setFont(new Font("楷体", Font.BOLD, 1));
        String s = "增加分析验证码的难IHAVEmoney度可以加30条干扰线中国好声音深圳讯方通信技术有限公司刘德华成龙";        //输出4个字符
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i <4; i++) {
            char c = s.charAt(r.nextInt(s.length()));
            sb.append(c);
            g.drawString(c+"", 20+20*i+r.nextInt(5)*((i%2)==0?1:-1),20+r.nextInt(5)*((i%2)==0?1:-1));
        }
        request.getSession().setAttribute("code", sb.toString());

        ImageIO.write(image, "img", response.getOutputStream());
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

}
时间: 2024-12-28 16:48:04

jsp的验证码实现的相关文章

使用jsp生成验证码

在开发中验证码是比较常用到有效防止这种问题对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试的方式. 此演示程序包括三个文件: 1.index.jsp:登录页面 2.image.jsp:生成验证码图片页面 3.result.jsp:结果页面 [页面代码] 1.index.jsp <html> <body> <form method=post action="result.jsp"> <input type=text name=inpu

Jsp制作验证码

验证码 验证码(CAPTCHA)是"Completely Automated Public Turing test to tell Computers and Humans Apart"(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序.可以防止:恶意破解密码.刷票.论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能.这个问题可以由计算

jsp生成验证码

1 package servlet; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Graphics; 6 import java.awt.image.BufferedImage; 7 import java.io.IOException; 8 import java.util.Random; 9 10 import javax.imageio.ImageIO; 11 import javax.servl

Jsp+servlet 验证码案例

昨晚在csdn看到一位前辈写一个ajax+servlet+jsp验证.顿时心血来潮,在阅读前辈的代码下我亲手体验一下,做了一个验证码生成工具类.以供大家做个參考. 1:加入VeriyCodeUtils类生成验证码图像 package com.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import jav

JSP JavaWEB 验证码的实现 基于struts验证码实现

验证码的作用和实现 验证码的作用,很常见的就是登录与注册,或者在贴吧,一些BBS等多处用于防止恶意攻击的.So,web开发者应该学会验证码的设计和实现,我们在开发web项目的时候,当涉及到登录,注册等功能时,我应该采用验证码技术,防止我我们开发的项目是相对于没有验证码的安全点.验证码只是防止机器的批量等暴力攻击,如果是Hacker,那验证码也只是炮灰了 ^-^. 验证码的实现过程:四个步骤搞定~ (由于小弟最近在学习struts,所以本次验证码实现是基于struts的) 一,既然是在struts

jsp+Servlet验证码及验证

一个用jsp+Servlet+jquery+ajax实现的验证码,及验证是否正确.供初学者学习交流. 效果图: 源代码: validate.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%  String path = request.getContextPath();  String basePath = request.ge

jsp实现验证码

在web开发领域里面,验证码是一个比较常见的功能,而归根到底,验证码其实就是一组随机数,或者是一个随机算术 一.基本知识 1.为什么需要验证码? 验证码,很多时候出现在注册页面或者登陆界面,在这些页面中有可能会出现恶意注册和暴力破解,这时候验证码可以有效防范这些攻击.所以,总的来说,验证码很多时候是为了防止不法分子对网站进行恶意的注册和攻击,是一种有效的拦截手段. 2.验证码的工作原理 首先,我们要明确一点就是,验证码实际是在服务器端产生的,因为如果在前端参数的话并不能有效拦截,因此很多时候,在

网页登陆注册(jsp实现)验证码

这是一个登陆页面,有登陆验证和验证码的功能(1)生成验证码的servlet:import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servle

利用jsp生成验证码

<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%> <% response.addHeader("P3P","CP=CAO PSA OUR"); response.setHeader("Pragma", "No-cache"