<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基礎知識
    主站蜘蛛池模板: 波多野结衣免费在线观看| 最近更新免费中文字幕大全| 2019中文字幕在线电影免费| a高清免费毛片久久| 国产乱子伦精品免费女| 亚洲第一视频网站| 久久青草免费91观看| 97在线线免费观看视频在线观看| 亚洲狠狠爱综合影院婷婷| 免费人成又黄又爽的视频在线电影| 国产91久久久久久久免费| 黄色三级三级免费看| 五月婷婷在线免费观看| 亚洲毛片av日韩av无码| 一个人看www免费高清字幕| 在线看片免费不卡人成视频| 国产成人精品日本亚洲专| 国产免费网站看v片在线| 亚洲AV永久无码精品成人| 一级做a爰全过程免费视频| 亚洲成综合人影院在院播放| 成人免费视频观看无遮挡| 日韩毛片一区视频免费| 久久精品国产精品亚洲色婷婷| 8x8×在线永久免费视频| 亚洲综合色婷婷在线观看| 免费在线观看中文字幕| 国产在线播放线91免费| 亚洲熟妇av一区二区三区下载| 免费在线看黄的网站| 久久久久久久亚洲精品| 免费视频成人手机在线观看网址| 91亚洲性爱在线视频| 国产精品免费网站| 色视频在线观看免费| 亚洲成色在线影院| 国产美女无遮挡免费视频| 亚洲日本VA午夜在线电影| 日日噜噜噜噜夜夜爽亚洲精品| 久久精品无码专区免费| 国产亚洲AV夜间福利香蕉149|