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
* บริษัท: ซอฟต์แวร์บลูสตาร์
* @ผู้เขียนเหยี่ยว
* @เวอร์ชั่น 1.1.1
-
getImg คลาสสาธารณะขยาย HttpServlet {
แบบอักษรส่วนตัว mFont=new Font("宋体", Font.PLAIN,12);//ตั้งค่าแบบอักษร
//กระบวนการโพสต์
doPost โมฆะสาธารณะ (คำขอ HttpServletRequest, การตอบสนอง HttpServletResponse)
พ่น ServletException, IOException {
doGet(ร้องขอ, ตอบกลับ);
-
โมฆะสาธารณะ doGet (คำขอ HttpServletRequest, การตอบสนอง HttpServletResponse)
พ่น ServletException, IOException {
//สุ่มตัวเลขตั้งแต่ 1,000-9999
สตริง s="";
int intCount=0;
intCount=(สุ่มใหม่()).nextInt(9999);//
ถ้า(intCount<1,000)intCount+=1,000;
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);
// ตัวเลขที่ส่งออก
ถ่านค;
สำหรับ(int i=0;i<4;i++) {
c=s.charAt(i);
gra.drawString(c+"",i*7+4,11); //7 คือความกว้าง 11 คือตำแหน่งความสูงบนและล่าง
-
ตัวเข้ารหัส JPEGImageEncoder=JPEGCodec.createJPEGEncoder(ออก);
encoder.encode (รูปภาพ);
ออก.ปิด();
-
-
http://blog.csdn.net/lixiaolong_blog/archive/2007/01/25/1493417.aspx