jsp는 그래픽 확인 코드를 구현합니다.
저자:Eve Cole
업데이트 시간:2009-07-02 17:08:30
통화 방법
<img src=" http://...../getImg ">
원칙은 서블릿에서 1000~9999 사이의 4자리 숫자를 무작위로 생성하는 것입니다.
그런 다음 이 번호를 세션에 기록하세요.
이 4개의 숫자가 적힌 그림을 출력하세요.
서버측에서는 사용자가 입력한 숫자를 기반으로
세션 중 값 비교.
패키지 com.schoolwx.util;
import java.io.*;
import java.util.*;
import com.sun.image.codec.jpeg.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
/**
* 제목 : getImg.java
* 설명 : 이 클래스에서는 주로 4자리 인증번호를 무작위로 생성하여 세션에 쓰는 작업을 구현합니다.
* 저작권 : 저작권 (c) 2003
* 회사 : 블루스타소프트웨어
* @author 팔콘
* @버전 1.1
*/
공개 클래스 getImg는 HttpServlet을 확장합니다.
private Font mFont=new Font("宋体", Font.PLAIN,12);//글꼴 설정
//포스트 처리
공개 무효 doPost(HttpServletRequest 요청,HttpServletResponse 응답)
ServletException,IOException이 발생합니다.
doGet(요청,응답);
}
공개 무효 doGet(HttpServletRequest 요청,HttpServletResponse 응답)
ServletException,IOException이 발생합니다.
//1000~9999 사이의 임의의 숫자를 얻습니다.
문자열 s="";
int intCount=0;
intCount=(new Random()).nextInt(9999);//
if(intCount<1000)intCount+=1000;
s=intCount+"";
//세션에 값을 지불합니다.
HttpSession 세션=request.getSession (true);
session.setAttribute("getImg",s);
response.setContentType("이미지/gif");
ServletOutputStream out=response.getOutputStream();
BufferedImage 이미지=새 BufferedImage(35,14,BufferedImage.TYPE_INT_RGB);
Graphicsgra=image.getGraphics();
//배경색 설정
gra.setColor(Color.yellow);
gra.fillRect(1,1,33,12);
//폰트 색상 설정
gra.setColor(Color.black);
gra.setFont(mFont);
//숫자 출력
문자 C;
for(int i=0;i<4;i++) {
c=s.charAt(i);
gra.drawString(c+"",i*7+4,11); //7은 너비, 11은 상단 및 하단 높이 위치입니다.
}
JPEGImageEncoder 인코더=JPEGCodec.createJPEGEncoder(out);
인코더.인코드(이미지);
종료.닫기();
}
}
http://blog.csdn.net/lixiaolong_blog/archive/2007/01/25/1493417.aspx