jsp реализует графический код проверки
Автор:Eve Cole
Время обновления:2009-07-02 17:08:30
метод вызова
<img src=" http://...../getImg ">
Принцип заключается в случайной генерации 4-значного числа 1000-9999 в сервлете.
Затем запишите этот номер в сессию
Выведите картинку, на которой написаны эти четыре цифры.
На стороне сервера на основе введенного пользователем числа и
Сравнение значений в сеансе.
пакет com.schoolwx.util;
импортировать java.io.*;
импортировать java.util.*;
импортировать com.sun.image.codec.jpeg.*;
импортировать javax.servlet.*;
импортировать javax.servlet.http.*;
импортировать java.awt.*;
импортировать java.awt.image.*;
/**
* Название: getImg.java.
* Описание: Этот класс в основном реализует случайную генерацию 4-значного кода проверки и запись его в сеанс.
* Авторские права: Авторские права (c) 2003 г.
* Компания: Blue Star Software
* @author сокол
* @версия 1.1
*/
публичный класс getImg расширяет HttpServlet {
частный шрифт mFont=new Font("宋体", Font.PLAIN,12);//Установить шрифт
//обработка сообщения
public void doPost (запрос HttpServletRequest, ответ HttpServletResponse)
выдает ServletException,IOException {
doGet (запрос, ответ);
}
public void doGet (запрос HttpServletRequest, ответ HttpServletResponse)
выдает ServletException,IOException {
//Получаем случайное число от 1000 до 9999
Строка с="";
интервал intCount = 0;
intCount=(new Random()).nextInt(9999);//
если(intCount<1000)intCount+=1000;
s=intCount+"";
//Оплата стоимости сеанса.
HttpSession session=request.getSession (истина);
session.setAttribute("getImg",s);
response.setContentType("изображение/gif");
ServletOutputStream out=response.getOutputStream();
Изображение BufferedImage = новое BufferedImage(35,14,BufferedImage.TYPE_INT_RGB);
Graphicsgra=image.getGraphics();
//Устанавливаем цвет фона
gra.setColor(Цвет.желтый);
gra.fillRect(1,1,33,12);
//Устанавливаем цвет шрифта
gra.setColor(Цвет.черный);
gra.setFont(mFont);
//Вывод чисел
символ с;
for(int i=0;i<4;i++) {
с = s.charAt (я);
gra.drawString(c+"",i*7+4,11); //7 – ширина, 11 – верхняя и нижняя высота.
}
Кодер JPEGImageEncoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(изображение);
выход.закрыть();
}
}
http://blog.csdn.net/lixiaolong_blog/archive/2007/01/25/1493417.aspx