熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

網絡編程中網頁中的驗證碼生成

2013-11-23 19:02:39  來源: Java核心技術 

  今天我們直接上代碼來介紹一下關於網絡編程中網頁中的驗證碼生成的方法

  <%

  //nocache指示請求或響應消息不能緩存

  responsesetHeader(CacheControl nocache);

  int width = height = ;

  //在內存中創建圖像

  BufferedImage image = new BufferedImage(width height

  BufferedImageTYPE_INT_RGB);

  //獲取畫筆

  Graphics g = imagegetGraphics();

  //設置畫筆顏色

  gsetColor(ColorWHITE);

  gfillRect( width height);

  //開始生成驗證碼這裡用加法求和

  Random r = new Random();

  int num = rnextInt();//操作數

  int num = rnextInt();//操作數

  int result = num + num;//加法和結果

  String code = StringvalueOf(result);

  //將驗證碼存入session

  sessionsetAttribute(code code);

  //將驗證碼顯示到圖像中

  gsetColor(ColorBLACK);

  gsetFont(new Font( FontPLAIN ));

  gdrawString(num+++num+= ? );

  //隨即產生干擾圖像

  //隨即產生條直線

  for (int i = ; i < ; i++) {

  int x = rnextInt(width);

  int y = rnextInt(height);

  gsetColor(ColorRED);

  gdrawLine(width/(x+) height/(y+) x y);

  }

  //產生個點

  for(int i=;i<;i++) {

  int x = rnextInt(width);

  int y = rnextInt(height);

  gsetColor(ColorBLUE);

  gdrawOval(x y );

  }

  ImageIOwrite(image JPEG responsegetOutputStream());

  outclear();

  out = pageContextpushBody();

  %>

  td><img id=validation src=validationjsp onclick=refresh()>引用驗證碼即可


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26186.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.