servlet向瀏覽器輸出驗證碼圖片

servlet向瀏覽器輸出驗證碼圖片,註冊頁面的<img> 標籤的src屬性只需要指向該servlet即可


public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//通知瀏覽器不要緩存圖片
		response.setHeader("Expires", "-1");
		response.setHeader("Cache-Control", "no-cache");
		response.setHeader("Pragma", "no-cache");
		//通知瀏覽器以圖片方式打開
		response.setHeader("Content-type", "image/jpeg");
		//在內存中創建一張圖片
		BufferedImage image = new BufferedImage(100, 20, BufferedImage.TYPE_INT_RGB);
		//得到圖片
		Graphics2D  g = (Graphics2D) image.getGraphics();
<span style="white-space:pre">		</span>//設置背景色
		g.setColor(Color.WHITE);
		g.fillRect(0, 0, 100, 20);
		//向圖片上寫數據
		g.setColor(Color.GRAY);
		g.setFont(new Font(null,Font.BOLD,20));
		g.drawString(makeNum(), 0, 20);
		//寫到瀏覽器
		ImageIO.write(image, "jpg", response.getOutputStream());
	}

	private String makeNum() {
		Random r = new Random();
		String num = r.nextInt(9999) + "";
		for (int i = 0; i < 4 - num.length(); i++)
		{
			num += r.nextInt(9) ;
		}
		return num;
	}


發佈了79 篇原創文章 · 獲贊 22 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章