五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 動(dòng)態(tài)生成圖片(驗(yàn)證碼)

動(dòng)態(tài)生成圖片(驗(yàn)證碼)

文章來源:365jz.com     點(diǎn)擊數(shù):274    更新時(shí)間:2009-10-23 08:49   參與評(píng)論

    用 servlet 生成圖片(輸出的不是文本,而是圖片)

    應(yīng)用:驗(yàn)證碼 —— 防止客戶端惡意發(fā)信息,如:寫一個(gè) for 循環(huán)不停發(fā)帖。

    public class ImageServlet extends HttpServlet {

        public void doGet (HttpServletRequest request, HtttpServletResponse response) throws  ServletException, IOException {

             response.setContentType ("image/jpeg");  // 設(shè)置響應(yīng)類型

             BufferedImage image = new BufferedImage (600, 200, BufferedImage.TYPE_INT_RGB); 

              // 圖片的內(nèi)存映像,點(diǎn)陣信息

             Random r = new Random();

             Graphics g = image.getGraphics();  // 獲得畫筆對(duì)象

             g.setColor (new Color (r.nextInt(255), r.nextInt(255), r.nextInt(255)));  // setColor 設(shè)置當(dāng)前畫筆的顏色

             g.fillRect (0,0,600,200);

             g.setColor (new Color(255,255,255));

             g.fillOval (30,50,200,200);

             g.setColor (new Color(0,0,0));

             String number = String.valueOf(r.nextInt(99999));

             g.drawString (number,200,150);

             OutputStream os = response.getOutputStream();

             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os);  // 壓縮成 jpeg 格式

            

             encoder.encode(image); // 把 BufferedImage 對(duì)象中的圖像信息編碼后,向創(chuàng)建該對(duì)象(encoder)時(shí)指定的輸出流輸出

        }

    }

    瀏覽器向服務(wù)器發(fā)送請(qǐng)求,獲得 html,當(dāng)遇到<img ... />標(biāo)簽時(shí),瀏覽器則會(huì)再向服務(wù)器發(fā)送請(qǐng)求(向獲得圖片,因此請(qǐng)求時(shí)給的是圖片的地址(src="...")),但是瀏覽器也不知道該圖片是原先就有的還是動(dòng)態(tài)生成的,因此該圖片的地址 src 可以是一個(gè)圖片的位置,也可以是動(dòng)態(tài)生成該圖片的 servlet 。

如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答?。?點(diǎn)擊進(jìn)入論壇

發(fā)表評(píng)論 (274人查看,0條評(píng)論)
請(qǐng)自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動(dòng)的言論。
昵稱:
最新評(píng)論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時(shí)間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)