亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dlog_randomimageservlet.java

?? 個人Blog java編寫的Blog可以直接使用!
?? JAVA
字號:
/*
 *  DLOG_RandomImageServlet.java
 *  
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Library General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *  
 *  Author: Winter Lau
 *  http://dlog4j.sourceforge.net
 *  
 */
package com.liusoft.dlog4j.servlet;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.lang.RandomStringUtils;

import com.liusoft.dlog4j.Globals;
import com.liusoft.dlog4j.util.RequestUtils;
import com.liusoft.util.gif.AnimatedGifEncoder;

/**
 * 用于產生注冊用戶時的隨即圖片以防止非法攻擊
 * @author liudong
 */
public class DLOG_RandomImageServlet extends HttpServlet {

	public void init() throws ServletException {
		System.setProperty("java.awt.headless","true");
	}
	
    public static String getRandomLoginKey(HttpServletRequest req) {
        return (String)req.getSession().getAttribute(Globals.RANDOM_LOGIN_KEY);
    }
    
    /**
     * 隨即生成驗證圖片并存放于HTTP會話中
     */
    protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException 
    {
    	boolean gif_enabled = RequestUtils.support(req, "image/gif")
				|| !RequestUtils.support(req, "image/png");
        HttpSession ssn = req.getSession(true);        
        String randomString = random();
        ssn.setAttribute(Globals.RANDOM_LOGIN_KEY,randomString);
        res.setContentType(gif_enabled?"image/gif":"image/png");
        res.setHeader("Pragma","No-cache");
        res.setHeader("Cache-Control","no-cache");
        res.setDateHeader("Expires", 0);
        render(randomString,gif_enabled,res.getOutputStream());
    }
    
    protected static String random() {
        return RandomStringUtils.randomNumeric(4);
    }
    /**
     * 根據要求的數字生成圖片,背景為白色,字體大小16,字體顏色黑色粗體
     * @param num	要生成的數字
     * @param out	輸出流
     * @throws IOException
     */
    protected static void render(String num, boolean gif, OutputStream out) throws IOException{
        if(num.getBytes().length > 4)
            throw new IllegalArgumentException("The length of param num cannot exceed 4.");
        int width = 40;
        int height = 15;
        BufferedImage bi = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);        
        Graphics2D g = (Graphics2D)bi.getGraphics();
        g.setColor(Color.WHITE);
        g.fillRect(0,0,width,height);
        Font mFont = new Font("Tahoma", Font.PLAIN, 14);
        g.setFont(mFont);
        g.setColor(Color.BLACK);
        g.drawString(num,2,13);
        if(gif){
	        AnimatedGifEncoder e = new AnimatedGifEncoder();
	        e.setTransparent(Color.WHITE);
	        e.start(out);
	        e.setDelay(0);
	        e.addFrame(bi);
	        e.finish();
        }
        else{
        	ImageIO.write(bi, "png", out);
        }
    }
    
    protected static void main(String[] args) throws IOException{
        String num = random();
        System.out.println(num);
        render(num, true, new FileOutputStream("D:\\test.gif"));
        System.out.println("Image generated.");
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文文精品字幕一区二区| 日韩精品资源二区在线| 99免费精品在线| 激情欧美日韩一区二区| 狠狠久久亚洲欧美| 国产自产2019最新不卡| 国产一区二区三区在线观看免费视频| 丝袜美腿成人在线| 精品成人a区在线观看| 欧美成人一级视频| 精品国产1区2区3区| 精品免费视频一区二区| wwwwww.欧美系列| 欧美国产1区2区| 专区另类欧美日韩| 婷婷久久综合九色综合伊人色| 亚洲成av人片在www色猫咪| 日本少妇一区二区| 国产精品资源在线看| 99热精品国产| 欧美日韩不卡在线| 欧美精品一区二区精品网| 国产精品免费aⅴ片在线观看| 亚洲欧美电影院| 日韩激情中文字幕| 国产乱码精品一区二区三区av | 五月激情丁香一区二区三区| 石原莉奈在线亚洲二区| 国产成人免费视| 欧美性做爰猛烈叫床潮| 久久综合九色综合97婷婷女人| 中文字幕亚洲电影| 日日摸夜夜添夜夜添国产精品| 国内精品第一页| 欧美自拍丝袜亚洲| 久久久久久日产精品| 最新国产成人在线观看| 免费人成精品欧美精品| 成人伦理片在线| 91精品国产欧美一区二区18| 一区免费观看视频| 老鸭窝一区二区久久精品| 不卡影院免费观看| 久久综合久久综合九色| 91福利精品视频| 不卡av免费在线观看| 国产精品99久久久久久似苏梦涵 | 欧美一区二区免费观在线| 国产精品五月天| 日本不卡在线视频| 日本韩国视频一区二区| 国产亚洲精品aa午夜观看| 日韩精品欧美精品| 欧美在线不卡一区| 国产精品欧美综合在线| 国产曰批免费观看久久久| 欧美日韩一区不卡| 亚洲蜜桃精久久久久久久| 国产精品一二三| 精品国产亚洲在线| 午夜精品福利一区二区蜜股av| 97精品国产97久久久久久久久久久久| 精品少妇一区二区| 久久精品国产精品亚洲红杏| 欧美日韩三级一区| 亚洲综合在线免费观看| www.亚洲精品| 亚洲人成影院在线观看| 成人免费高清视频在线观看| 久久精品欧美一区二区三区麻豆| 久久国产剧场电影| 精品日韩一区二区| 国产福利精品导航| 中文字幕成人av| 91偷拍与自偷拍精品| 亚洲欧美综合在线精品| 91免费国产在线观看| 国产精品久久久久久久蜜臀| 97se亚洲国产综合自在线| 亚洲色图清纯唯美| 欧美性色黄大片手机版| 日韩在线a电影| 亚洲精品在线免费观看视频| 久久99久久久欧美国产| 精品欧美一区二区在线观看| 国产精华液一区二区三区| 中文字幕精品一区二区三区精品| 国产v日产∨综合v精品视频| 国产精品国产自产拍高清av| 91视频观看视频| 亚洲成av人片在线观看无码| 欧美一区二区三区四区高清| 精品一区中文字幕| 亚洲国产精品ⅴa在线观看| www.av亚洲| 三级影片在线观看欧美日韩一区二区 | 午夜精品一区二区三区电影天堂| 欧美精品日韩精品| 国产在线精品一区二区不卡了 | 激情小说亚洲一区| 国产精品丝袜一区| 欧美午夜精品免费| 九九国产精品视频| 中文字幕不卡在线观看| 欧美日韩精品一二三区| 九九久久精品视频| 综合欧美一区二区三区| 91超碰这里只有精品国产| 国产福利一区二区三区在线视频| 亚洲黄色小说网站| 久久综合久久99| 色噜噜狠狠色综合中国| 激情五月激情综合网| 亚洲黄一区二区三区| 精品国产乱码久久久久久久久| 99精品热视频| 久久99国产精品久久99果冻传媒| 国产精品久久久久久久久免费桃花| 欧美年轻男男videosbes| 国产高清亚洲一区| 免费在线观看一区| 亚洲自拍另类综合| 国产人成亚洲第一网站在线播放| 精品视频在线视频| 成人蜜臀av电影| 激情欧美日韩一区二区| 日韩中文字幕1| 亚洲精品乱码久久久久久黑人| 久久久久国产精品人| 日韩精品一区二区三区中文精品| 色综合中文综合网| 91精品国产全国免费观看| 成人三级在线视频| 激情综合色播五月| 天堂久久久久va久久久久| 国产精品久久久久影院老司| 欧美变态tickle挠乳网站| 欧美性视频一区二区三区| www.日韩精品| 国内久久婷婷综合| 蜜臀精品久久久久久蜜臀| 亚洲18色成人| 亚洲v中文字幕| 性做久久久久久久免费看| 亚洲午夜一区二区| 亚洲色欲色欲www在线观看| 国产精品电影一区二区三区| 中文字幕av一区 二区| 国产亚洲短视频| 久久久久久久久久久久久女国产乱 | 欧美精品一级二级| 欧美色窝79yyyycom| 欧美综合欧美视频| 欧美少妇bbb| 欧美精品少妇一区二区三区| 欧美日韩aaaaa| 3atv在线一区二区三区| 欧美一级搡bbbb搡bbbb| 欧美videossexotv100| 久久久久久免费毛片精品| 国产亚洲精品7777| 亚洲色图在线看| 午夜精品一区二区三区电影天堂| 首页亚洲欧美制服丝腿| 九色porny丨国产精品| 国产露脸91国语对白| 国产成人一区在线| 成人做爰69片免费看网站| 国产成人综合亚洲91猫咪| 国产精华液一区二区三区| 成人av免费在线播放| 一本大道久久a久久精二百| 精品视频色一区| 日韩精品一区二| 欧美韩国日本一区| 亚洲最大色网站| 韩国v欧美v日本v亚洲v| 99视频精品免费视频| 欧美高清视频在线高清观看mv色露露十八 | 亚洲成人黄色影院| 久久99国产精品成人| 波多野结衣中文字幕一区| 欧美日韩亚洲综合一区二区三区| 欧美一级高清大全免费观看| 欧美精彩视频一区二区三区| 亚洲www啪成人一区二区麻豆| 国产一区视频在线看| 色婷婷亚洲精品| 精品捆绑美女sm三区| 亚洲人成精品久久久久久| 青草av.久久免费一区| 99麻豆久久久国产精品免费| 欧美精三区欧美精三区| 欧美韩国日本一区| 秋霞电影网一区二区| 成年人国产精品| 26uuu精品一区二区在线观看| 一区二区三区欧美久久| 国产成人免费网站| 日韩免费在线观看|