<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨機驗證碼程序

    ? import ??java.awt.Color;
    ?
    import ??java.awt.Font;
    ?
    import ??java.awt.Graphics;
    ?
    import ??java.awt.image.BufferedImage;
    ?
    import ??java.io.IOException;
    ?
    import ??java.util.Random;

    ?
    import ??javax.servlet.Servlet;
    ?
    import ??javax.servlet.ServletException;

    ?
    import ??javax.servlet.http.HttpServlet;
    ?
    import ??javax.servlet.http.HttpServletRequest;
    ?
    import ??javax.servlet.http.HttpServletResponse;

    ?
    /** ? */ ? /** ?
    ?*??
    @version ??????1.0
    ?*??
    @author ???????baiyf
    ??
    */ ?
    ??
    public ??? class ??ValidateImg?? extends ??HttpServlet?? implements ??Servlet???{
    ?????
    public ??Color?getRandColor(? int ??fc,?? int ??bc)???{
    ????????Random?random??
    = ??? new ??Random();
    ?????????
    if ??(fc?? > ??? 255 ?)
    ????????????fc??
    = ??? 255 ?;
    ?????????
    if ??(bc?? > ??? 255 ?)
    ????????????bc??
    = ??? 255 ?;
    ?????????
    int ??r?? = ??fc?? + ??random.nextInt(bc?? - ??fc);
    ?????????
    int ??g?? = ??fc?? + ??random.nextInt(bc?? - ??fc);
    ?????????
    int ??b?? = ??fc?? + ??random.nextInt(bc?? - ??fc);
    ?????????
    return ??? new ??Color(r,?g,?b);
    ????}?
    ??????
    /** ? */ ? /** ?
    ????*??
    @see ??javax.servlet.http.HttpServlet#void?(javax.servlet.http.HttpServletRequest,?javax.servlet.http.HttpServletResponse)
    ?????
    */ ?
    ?????
    public ??? void ??doGet(HttpServletRequest?req,?HttpServletResponse?resp)
    ?????????
    throws ??ServletException,?IOException???{
    ????????doPost(req,?resp);
    ????}?
    ?
    ??????
    /** ? */ ? /** ?
    ????*??
    @see ??javax.servlet.http.HttpServlet#void?(javax.servlet.http.HttpServletRequest,?javax.servlet.http.HttpServletResponse)
    ?????
    */ ?
    ?????
    public ??? void ??doPost(HttpServletRequest?req,?HttpServletResponse?resp)
    ?????????
    throws ??ServletException,?IOException???{
    ????????resp.setHeader(?
    " ?Pragma? " ?,?? " ?No-cache? " ?);
    ????????resp.setHeader(?
    " ?Cache-Control? " ?,?? " ?no-cache? " ?);
    ????????resp.setDateHeader(?
    " ?Expires? " ?,?? 0 ?);

    ?
    // ??在內存中創建圖象??
    ?????????? int ??width?? = ??? 90 ?,?height?? = ??? 40 ?;
    ????????BufferedImage?image??
    = ?????? new ??BufferedImage(width,?height,?BufferedImage.TYPE_INT_RGB);

    ?
    // ??獲取圖形上下文??
    ?????????Graphics?g?? = ??image.createGraphics();

    ?
    // ??設定背景色??
    ?????????g.setColor(getRandColor(? 180 ?,?? 250 ?));
    ????????g.fillRect(?
    0 ?,?? 0 ?,?width,?height);
    ????????
    ????????Random?random??
    = ??? new ??Random();????
    ????????
    ?????????
    // ?生成干擾橢圓?????
    ??????????? for ??(? int ??i?? = ??? 0 ?;?i?? < ??? 5 ?;?i? ++ ?)???{
    ????????????g.setColor(getRandColor(?
    50 ?,?? 100 ?));
    ?????????????
    int ??x?? = ??random.nextInt(width);
    ?????????????
    int ??y?? = ??random.nextInt(height);
    ????????????g.drawOval(x,?y,??
    4 ?,?? 4 ?);
    ????????}?
    ?
    ????????g.setFont(?
    new ??Font(? "" ?,?Font.PLAIN,?? 40 ?));

    ????????String?sRand??
    = ??? "" ?;
    ?????????
    for ??(? int ??i?? = ??? 0 ?;?i?? < ??? 4 ?;?i? ++ ?)???{
    ?????????
    // ??取隨機產生的認證碼(4位數字)??
    ?????????????String?rand?? = ??String.valueOf(random.nextInt(? 10 ?));
    ????????????sRand??
    += ??rand;
    ?????????
    // ??隨機產生顏色?????
    ?????????????g.setColor(
    ?????????????????
    new ??Color(
    ?????????????????????
    20 ??? + ??random.nextInt(? 80 ?),
    ?????????????????????
    20 ??? + ??random.nextInt(? 100 ?),
    ?????????????????????
    20 ??? + ??random.nextInt(? 90 ?)));
    ?????????
    // ??畫數字?
    ?????????????g.drawString(rand,?(? 17 ??? + ??random.nextInt(? 3 ?))?? * ??i?? + ??? 8 ?,?? 34 ?);

    ?????
    // ?生成干擾線?
    ??????????????? for ??(? int ??k?? = ??? 0 ?;?k?? < ??? 12 ?;?k? ++ ?)???{
    ?????????????????
    int ??x?? = ??random.nextInt(width);
    ?????????????????
    int ??y?? = ??random.nextInt(height);
    ?????????????????
    int ??xl?? = ??random.nextInt(? 9 ?);
    ?????????????????
    int ??yl?? = ??random.nextInt(? 9 ?);
    ????????????????g.drawLine(x,?y,?x??
    + ??xl,?y?? + ??yl);
    ????????????}?
    ????????}?
    ????????req.getSession().setAttribute(?
    " ?rand? " ?,sRand);
    ????????g.dispose();
    ????????javax.imageio.ImageIO.write(image,??
    " ?JPEG? " ?,?resp.getOutputStream());

    ????}?
    }?
    posted on 2006-07-05 14:18 knowhow 閱讀(220) 評論(0)  編輯  收藏 所屬分類: Java基礎知識
    主站蜘蛛池模板: 日韩视频免费一区二区三区| 亚洲免费综合色在线视频| 亚洲精品国产日韩无码AV永久免费网 | 精品乱子伦一区二区三区高清免费播放 | 最近的免费中文字幕视频| 亚洲AV无码精品蜜桃| 一本无码人妻在中文字幕免费| 亚洲无成人网77777| 免费看黄视频网站| 亚洲乱亚洲乱妇无码| 国产美女无遮挡免费视频网站| 亚洲av日韩专区在线观看| 免费一级毛片在级播放| fc2成年免费共享视频18| 国产亚洲大尺度无码无码专线 | 亚洲精品天堂无码中文字幕| 日韩免费观看一级毛片看看| 欧洲亚洲国产精华液| 亚洲国产成人VA在线观看| 国产日韩一区二区三免费高清| 久久久久亚洲精品影视| 免费精品国偷自产在线在线| 日韩色日韩视频亚洲网站| 国产亚洲大尺度无码无码专线| 99国产精品视频免费观看| 亚洲一卡2卡三卡4卡无卡下载| 亚洲AV无码一区二区三区国产 | 成年女人毛片免费视频| 日本中文字幕免费看| 亚洲电影一区二区三区| 亚洲精品动漫免费二区| 一级毛片成人免费看a| 在线免费观看亚洲| 四虎影永久在线高清免费| 青柠影视在线观看免费高清| 亚洲午夜无码久久久久小说| 国产午夜亚洲不卡| 丁香花免费高清视频完整版| 美女被免费网站在线视频免费| 久久亚洲国产精品| 免费在线不卡视频|