久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

生成登錄頁面隨機數圖片的代碼范例

 pengx 2009-06-05

登錄頁面經常要求輸入隨機數,,以避免用網頁機器人惡意注冊登錄,。

雖然有開源包來實現這些隨機圖片,但是也可以自己寫一個簡短的代碼來達到目的。

randomImage.jsp

 

<%@ page pageEncoding="gb2312"%>
<%@ page contentType="image/jpeg"%>
<%@ page import="java.awt.*"%>
<%@ page import="java.awt.image.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.imageio.*"%>
<%
 //在內存中創(chuàng)建圖象
 int iWidth=50,iHeight=18;
 BufferedImage image=new BufferedImage(iWidth,iHeight,BufferedImage.TYPE_INT_RGB);
 //獲取圖形上下文
 Graphics g=image.getGraphics();
 //設定背景色
 g.setColor(Color.white);
 g.fillRect(0,0,iWidth,iHeight);
 //畫邊框
 g.setColor(Color.black);
 g.drawRect(0,0,iWidth-1,iHeight-1);
 //取隨機產生的認證碼(4位數字)
 String rand=request.getParameter("Rand");
 rand=rand.substring(0,rand.indexOf("."));
 switch(rand.length())
 {
  case 1:rand="000"+rand;break;
  case 2:rand="00"+rand;break;
  case 3:rand="0"+rand;break;
  default:rand=rand.substring(0,4);break;
 }
 //將認證碼存入SESSION
 session.setAttribute("Rand",rand);
 //將認證碼顯示到圖象中
 g.setColor(Color.black);
 g.setFont(new Font("Times New Roman",Font.PLAIN,18));
 g.drawString(rand,10,15);
 //隨機產生88個干擾點,使圖象中的認證碼不易被其它程序探測到
 Random random=new Random();
 for(int iIndex=0;iIndex<88;iIndex++)
 {
  int x=random.nextInt(iWidth);
  int y=random.nextInt(iHeight);
  g.drawLine(x,y,x,y);
 }
 //圖象生效
 g.dispose();
 out.clear();
 out = pageContext.pushBody();
 //輸出圖象到頁面
 ImageIO.write(image,"JPEG",response.getOutputStream());
%>

 

然后在登錄頁面中需要顯示圖片的位置引用上面的randomImage.jsp:

<script>document.write("<img border=0 src='<%=request.getContextPath()%>/randomImage.jsp?Rand="+Math.random()*10000+"' align='absmiddle'>");</script>

 

本文來自CSDN博客,,轉載請標明出處:http://blog.csdn.net/kingspider/archive/2008/11/14/3297310.aspx

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多