亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

jsp頁面驗證碼完整實例

2024-09-05 00:23:14
字體:
來源:轉載
供稿:網友

本文實例為大家分享了sp頁面驗證碼的具體代碼,供大家參考,具體內容如下

項目結構如下,MyEclipse中新建一個Web Project,取名servlet

jsp,頁面驗證碼,驗證碼

1、src下new一個servlet類

package com.servlet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.PrintWriter;import java.util.Random;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;public class IdentityServlet extends HttpServlet {  public static final char[] chars={'2','3','4','5','6','7','8','9','A'};//自定義驗證碼池  public static Random random=new Random();  //隨機數    public static String getRandomString(){  //獲取6位隨機數,放在圖片里    StringBuffer buffer=new StringBuffer();    for(int i=0;i<6;i++){      buffer.append(chars[random.nextInt(chars.length)]);    }    return buffer.toString();  }    public static Color getRandomColor(){  //獲取隨機的顏色    return new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255));  }    public static Color getReverseColor(Color c){  //返回某顏色的反色    return new Color(255 - c.getRed(), 255 - c.getGreen(), 255 - c.getBlue());  }    /**   * Constructor of the object.   */  public IdentityServlet() {    super();  }  /**   * Destruction of the servlet. <br>   */  public void destroy() {    super.destroy(); // Just puts "destroy" string in log    // Put your code here  }  /**   * The doGet method of the servlet. <br>   *   * This method is called when a form has its tag value method equals to get.   *    * @param request the request send by the client to the server   * @param response the response send by the server to the client   * @throws ServletException if an error occurred   * @throws IOException if an error occurred   */  public void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    response.setContentType("image/jpeg");  //設置輸出類型        String randomString = getRandomString();  //隨機字符串    request.getSession(true).setAttribute("randomString", randomString);//放到session里        int width=100;  //圖片寬度    int height=30;  //圖片高度        Color color=getRandomColor();  //隨機顏色,用于背景色    Color reverse=getReverseColor(color);//反色,用于前景色    //創建一個彩色圖片    BufferedImage bi=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);    Graphics2D g=bi.createGraphics();  //繪圖對象    g.setFont(new Font(Font.SANS_SERIF,Font.BOLD,16));//設置字體    g.setColor(color);//設置顏色    g.fillRect(0, 0, width, height);//繪制背景    g.setColor(reverse);    g.drawString(randomString, 18, 20);//繪制隨機字符    for(int i=0,n=random.nextInt(100);i<n;i++){  //畫最多100個噪音點      g.drawRect(random.nextInt(width), random.nextInt(height), 1, 1);    }    ServletOutputStream out= response.getOutputStream();//轉成JPEG格式    JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);//編碼器    encoder.encode(bi);  //對圖片進行編碼    out.flush();  //輸出到客戶端  }  /**   * The doPost method of the servlet. <br>   *   * This method is called when a form has its tag value method equals to post.   *    * @param request the request send by the client to the server   * @param response the response send by the server to the client   * @throws ServletException if an error occurred   * @throws IOException if an error occurred   */  public void doPost(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {    doGet(request, response);  }  /**   * Initialization of the servlet. <br>   *   * @throws ServletException if an error occurs   */  public void init() throws ServletException {    // Put your code here  }}

2、web.xml,會自動生成servlet和servlet-mapping的配置

 

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"   xmlns="http://java.sun.com/xml/ns/javaee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name></display-name> <servlet>  <servlet-name>IdentityServlet</servlet-name>  <servlet-class>com.servlet.IdentityServlet</servlet-class> </servlet> <servlet-mapping>  <servlet-name>IdentityServlet</servlet-name>  <url-pattern>/servlet/IdentityServlet</url-pattern> </servlet-mapping>   <welcome-file-list>  <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>

3、WebRoot下新建一個html,展示驗證碼

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript">function reloadImage(){  document.getElementById('btn').disabled=true;  document.getElementById('identity').src='servlet/IdentityServlet?ts='+new Date().getTime();}</script></head><body><img src="servlet/IdentityServlet" id="identity" onload="btn.disabled=false;" /><input type=button value="換個圖片" onclick="reloadImage()" id="btn"></body></html>

啟動Tomcat,輸入網址:http://localhost:8080/servlet/identity.html,效果如下:

jsp,頁面驗證碼,驗證碼

點擊‘換個圖片',會生成新的驗證碼。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日日噜噜噜夜夜爽亚洲精品| 日韩中文字幕精品| 久久99精品久久久久久青青91| 91性高湖久久久久久久久_久久99| 欧美高清在线播放| 精品国偷自产在线视频99| 久久久久五月天| 国产大片精品免费永久看nba| 日韩在线视频观看正片免费网站| 久久精品国产v日韩v亚洲| 国产精品久久久久久久久免费| 日韩在线激情视频| 亚洲黄页网在线观看| 亚洲高清在线观看| 亚洲国产欧美一区二区三区久久| 欧美激情一区二区三区在线视频观看| 色综合久久中文字幕综合网小说| 国产男女猛烈无遮挡91| 中文字幕免费国产精品| 亚洲欧美在线一区二区| 欧美精品www| 日韩精品黄色网| 欧美日韩亚洲视频| 欧美日韩亚洲高清| 欧美一级免费看| 97久久精品人人澡人人爽缅北| 亚洲国产精品久久久久秋霞不卡| 亚洲国模精品私拍| 麻豆乱码国产一区二区三区| 亚洲日韩欧美视频| 色哟哟网站入口亚洲精品| 国内精品模特av私拍在线观看| 亚洲国产另类 国产精品国产免费| 亚洲精品国产精品久久清纯直播| 欧美激情图片区| 亚洲欧洲午夜一线一品| 欧美激情一区二区三区高清视频| 成人性生交xxxxx网站| 国产精品中文久久久久久久| 国产丝袜一区二区三区| 97在线视频国产| 欧美一级高清免费播放| 久久久久久久久久亚洲| 69久久夜色精品国产69乱青草| 国产精品网站视频| 欧美另类精品xxxx孕妇| 一区二区三区 在线观看视| 成人中文字幕在线观看| 国产日韩在线亚洲字幕中文| 日韩大片在线观看视频| 日韩精品日韩在线观看| 成人av.网址在线网站| 欧美午夜激情小视频| 97激碰免费视频| 国产精品麻豆va在线播放| 国产精品久久久久久久久久东京| 成人伊人精品色xxxx视频| 亚洲国产精品久久久久秋霞不卡| 中文字幕综合在线| 亚洲三级免费看| 欧美在线不卡区| 欧美乱妇40p| 国产精品黄视频| 久久夜精品香蕉| 国产精品久久久久久久app| 欧美日韩国产一中文字不卡| 伊人亚洲福利一区二区三区| 久久夜色精品亚洲噜噜国产mv| 91精品免费视频| 国产婷婷成人久久av免费高清| zzijzzij亚洲日本成熟少妇| 国产日韩精品综合网站| 久久精品国产99国产精品澳门| 欧美日韩国产在线看| 国产精品美女无圣光视频| 欧美一级免费视频| 性色av一区二区三区在线观看| 亚洲国产成人91精品| 亚洲国产一区二区三区四区| 亚洲精品一二区| 成人福利视频在线观看| 亚洲free性xxxx护士白浆| 国产男女猛烈无遮挡91| 久久99国产精品自在自在app| 97超级碰在线看视频免费在线看| 亚洲国产免费av| 色综合久综合久久综合久鬼88| 欧美成人免费小视频| 色综合久久中文字幕综合网小说| 国产日本欧美一区二区三区| 亚洲综合社区网| 国产女精品视频网站免费| 欧美日韩中国免费专区在线看| 国产成人精品在线播放| 日韩美女免费线视频| 亚洲精品日韩av| 插插插亚洲综合网| 日韩激情av在线免费观看| 色播久久人人爽人人爽人人片视av| 国产精品久久久久久亚洲调教| 亚洲图片在线综合| 成人免费淫片视频软件| 91老司机在线| 亚洲欧美日韩国产精品| 热久久这里只有精品| 精品亚洲一区二区三区在线观看| 亚洲品质视频自拍网| 久久精视频免费在线久久完整在线看| 5278欧美一区二区三区| 国产精品爽爽爽爽爽爽在线观看| 久久国产一区二区三区| 国产欧美一区二区三区在线| 中国日韩欧美久久久久久久久| 亚洲第一二三四五区| 欧美激情亚洲视频| 亚洲综合在线做性| 91精品久久久久久久久久久久久久| 国产欧亚日韩视频| 国产精品久久一区主播| 欧美国产日韩一区| 久久免费视频网站| 俺去啦;欧美日韩| 国产日产欧美精品| 亚洲人成在线一二| 亚洲大胆人体视频| 清纯唯美亚洲激情| 少妇高潮久久久久久潘金莲| 欧美俄罗斯乱妇| 亚洲成人网久久久| 欧美日韩国产精品专区| 久久久久久久网站| 久久偷看各类女兵18女厕嘘嘘| 91在线网站视频| 国产精品ⅴa在线观看h| 日韩一区二区三区在线播放| 国产欧美 在线欧美| 国产精品91视频| 日韩在线观看免费高清| 国产美女91呻吟求| 亚洲国产日韩欧美在线图片| 日韩精品免费在线播放| 麻豆国产精品va在线观看不卡| 精品无人区太爽高潮在线播放| 亚洲福利视频久久| 成人妇女免费播放久久久| 92福利视频午夜1000合集在线观看| 亚洲欧美日韩国产中文专区| 国产免费一区二区三区在线能观看| 亚洲free嫩bbb| 久久亚洲国产精品成人av秋霞| 久久精品在线视频| 91在线观看免费高清完整版在线观看| 97超碰蝌蚪网人人做人人爽| 在线播放日韩欧美| 久久人人爽人人爽人人片亚洲| 成人中文字幕在线观看| 在线观看国产精品91| 国产成人久久精品| 国产97在线观看| 日韩欧美一区二区在线| 亚洲精品二三区| 九九久久久久久久久激情| 国产98色在线| 2019最新中文字幕|