婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JSP開發之生成圖片驗證碼技術的詳解

JSP開發之生成圖片驗證碼技術的詳解

熱門標簽:自繪地圖標注數據 電銷機器人免培訓 南通通訊外呼系統產品介紹 如何看懂地圖標注點 海外圖書館地圖標注點 外呼系統使用方法 給地圖標注得傭金 潤滑油銷售電銷機器人 電話機器人需要使用網絡嗎

JSP開發之生成圖片驗證碼技術的詳解

我們在網頁注冊用戶時,常常會需要格根據圖片給的圖片驗證碼把驗證碼輸進去。那么我們今天就來學習這個。

簡單來說分為三步驟:

1.底層用Java實現生成驗證碼圖片
2.通過配置文件調用實現Java生成片
3.通過HTML技術把圖片顯示到網頁

首先是最底層Java生成圖片代碼

package cn.hncu.servlets;


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

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

public class CodeImgServlet extends HttpServlet {
  @Override
  protected void service(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    //☆1☆--相比純java方式有變化的地方
    resp.setContentType("image/jpeg");//設置http響應頭---告訴瀏覽器我現在發的是這個圖片格式的數據,你用相應的方式來解析

    //定義圖片的寬和高
    int w=60;
    int h=30;

    //聲明一個RGB格式的內存中的圖片
    BufferedImage img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    Graphics g = img.getGraphics();

    //把背景變白色
    g.setColor(Color.white);
    g.fillRect(0, 0, w, h);
    //設置字體
    g.setFont(new Font("aa",Font.BOLD,18));

    //產生并draw出4個隨機數字
    Random r = new Random();
    for(int i=0;i4;i++){
      int a = r.nextInt(10);//生成0~9之間的隨機整數
      int y = 15+r.nextInt(20);//產生隨機的垂直位置
      //產生隨機顏色
      Color c = new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256));
      g.setColor(c);

      g.drawString(""+a, i*15, y);
    }

    //畫幾條干擾線
    for(int i=0;i10;i++){
      //產生隨機顏色
      Color c = new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256));
      g.setColor(c);
      g.drawLine(r.nextInt(60), r.nextInt(30), r.nextInt(60), r.nextInt(30));
    }

    g.dispose();//類似于IO中的flush(),把圖形數據刷到img中
    //把內存圖片img對象保存到一個jpg文件
    ImageIO.write(img, "JPEG", resp.getOutputStream() );//☆2☆

  }
}

項目中的Web.xml配置文件代碼

?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> 

 !-- 安全目錄中的jsp文件如果要允許外面訪問,得在web.xml進行配置,配置成一個jsp-servlet -->
 servlet>
  servlet-name>ajsp/servlet-name>
  !-- 配置servlet用servlet-class, 配置jsp頁面用jsp-file標簽 -->
  jsp-file>/WEB-INF/jsps/a.jsp/jsp-file>
 /servlet>
 !-- 
  servlet>
  servlet-name>CodeImgServlet/servlet-name>
  servlet-class>cn.hncu.servlets.CodeImgServlet/servlet-class>
  /servlet>
  servlet>
  servlet-name>LoginServlet/servlet-name>
  servlet-class>cn.hncu.servlets.LoginServlet/servlet-class>
  /servlet>
  -->
   servlet>
    servlet-name>CodeImgServlet/servlet-name>
    servlet-class>cn.hncu.servlets.CodeImgServlet/servlet-class>
   /servlet>
   servlet>
    servlet-name>LoginServlet/servlet-name>
    servlet-class>cn.hncu.servlets.LoginServlet/servlet-class>
   /servlet>


 !-- 給servlet配置訪問路徑 -->

 servlet-mapping>
  servlet-name>ajsp/servlet-name>
  url-pattern>/x/a.asp/url-pattern>
 /servlet-mapping>
 servlet-mapping>
  servlet-name>CodeImgServlet/servlet-name>
  url-pattern>/code/url-pattern>
 /servlet-mapping>
 servlet-mapping>
  servlet-name>LoginServlet/servlet-name>
  url-pattern>/LoginServlet/url-pattern>
 /servlet-mapping>


 welcome-file-list>
  welcome-file>index.jsp/welcome-file>
 /welcome-file-list>
/web-app>

主頁面代碼登錄代碼

%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
 head>
 script type="text/javascript">
   function changeImg(){
     var img = document.getElementById("codeImg");
     // 當src每次的路徑方式變化時,就會去重新請求一次后臺。
     img.src="code?"+new Date().getTime();
   }

 /script>

 /head>

 body>
  h2>用戶注冊/h2>
   form action="LoginServlet" method="post">
      姓名:input type="text" name="name">br/>
      密碼:input type="password" name="pwd">br/>
    !-- 
     驗證碼:input type="text" name="code"/>img src="imgs/a.jpg"/>br/>
     --> 
     驗證碼:input type="text" name="code"/>img id="codeImg" src="code"/>a href="javascript:changeImg();" rel="external nofollow" >看不清/a>br/>
     input type="submit" value="注冊">
   /form>
   br/>br/>
   hr/>
   a href="WEB-INF/jsps/a.jsp" rel="external nofollow" >WA---a.jsp/a> br/>
   a href="/helloWebProj/x/a.asp" rel="external nofollow" >AC---a.jsp/a> br/>
 /body>
/html>

當頁面加載,就向TOMCAT請求服務,調用前面的JAVA類,生成圖片,再通過HTML文檔,將圖片加載到頁面來。

其次Web.xml配置文件還可以用來設置訪問安全目錄文件(WEB-INF)

 servlet>
     servlet-name>ajsp/servlet-name>
    !-- 配置servlet用servlet-class, 配置jsp頁面用jsp-file標簽 -->
     jsp-file>/WEB-INF/jsps/a.jsp/jsp-file>
   /servlet>  
   servlet>
    servlet-name>CodeImgServlet/servlet-name>
    servlet-class>cn.hncu.servlets.CodeImgServlet/servlet-class>
   /servlet>
   servlet>
    servlet-name>LoginServlet/servlet-name>
    servlet-class>cn.hncu.servlets.LoginServlet/servlet-class>
   /servlet>


 !-- 給servlet配置訪問路徑 -->

 servlet-mapping>
  servlet-name>ajsp/servlet-name>
  url-pattern>/x/a.asp/url-pattern>
 /servlet-mapping>
 servlet-mapping>
  servlet-name>CodeImgServlet/servlet-name>
  url-pattern>/code/url-pattern>
 /servlet-mapping>
 servlet-mapping>
  servlet-name>LoginServlet/servlet-name>
  url-pattern>/LoginServlet/url-pattern>
 /servlet-mapping>

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望通過本文能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • 原生js生成圖片驗證碼
  • js通過canvas生成圖片縮略圖
  • Java利用Phantomjs實現生成圖片的功能
  • Node.JS用純JavaScript生成圖片或滑塊式驗證碼功能
  • 在JSP頁面中動態生成圖片驗證碼的方法實例
  • js 將canvas生成圖片保存,或直接保存一張圖片的實現方法
  • Nodejs中使用captchapng模塊生成圖片驗證碼
  • 基于linnux+phantomjs實現生成圖片格式的網頁快照
  • JavaScript之移動端H5生成圖片解決方案講解

標簽:大連 銅川 貸款邀約 樂山 廣州 南京 黃石 內江

巨人網絡通訊聲明:本文標題《JSP開發之生成圖片驗證碼技術的詳解》,本文關鍵詞  JSP,開,發之,生成,圖片,驗證,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP開發之生成圖片驗證碼技術的詳解》相關的同類信息!
  • 本頁收集關于JSP開發之生成圖片驗證碼技術的詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    制服丝袜成人动漫| 在线观看免费成人| 久久不见久久见免费视频1| 在线播放91灌醉迷j高跟美女 | 色综合咪咪久久| 亚洲成人av福利| 中文字幕第一区二区| 欧美午夜一区二区| 日韩电影在线看| 国产日韩欧美精品一区| 91亚洲精品久久久蜜桃网站| 亚洲精品一二三四区| 久久国产精品色| 国产69精品久久久久毛片| 91精品国产色综合久久ai换脸| 亚洲第一会所有码转帖| 日韩精品最新网址| 日韩电影免费一区| 日韩欧美成人午夜| 韩国av一区二区三区四区| 蜜臀av一区二区在线观看| 日韩经典中文字幕一区| 日韩专区一卡二卡| 91亚洲国产成人精品一区二三| 久久在线观看免费| 精品一区二区三区在线播放视频| 91精品国产欧美一区二区成人| 亚洲图片一区二区| 欧美精品第1页| 麻豆91精品91久久久的内涵| 欧美成人综合网站| 国产精品影视网| 亚洲欧洲日产国码二区| 91影院在线观看| 亚洲成人一区在线| 国产精品久久久久久久久图文区 | jizz一区二区| 国产大陆亚洲精品国产| 五月激情六月综合| 亚洲综合小说图片| 亚洲精品五月天| 国产精品你懂的在线| 久久综合九色综合97_久久久 | 国产美女精品在线| 视频一区视频二区中文字幕| 18涩涩午夜精品.www| 自拍偷拍欧美激情| 午夜精品久久久久久久久| 日韩综合一区二区| 男男成人高潮片免费网站| 亚洲一区免费观看| 天堂精品中文字幕在线| 伊人夜夜躁av伊人久久| 精品中文字幕一区二区| 欧美午夜精品一区二区三区| 久久夜色精品一区| 国产精品88888| 亚洲国产高清在线| 成人毛片在线观看| 国产精品资源网| 成+人+亚洲+综合天堂| 日本道在线观看一区二区| 久久精品人人做| 一区二区三区四区视频精品免费| 日韩国产在线一| 成人丝袜高跟foot| 26uuu色噜噜精品一区二区| 亚洲6080在线| 欧美主播一区二区三区美女| 久久久精品影视| 国产综合色在线| 亚洲精品一区二区三区在线观看| 亚洲午夜一二三区视频| caoporm超碰国产精品| 精品日韩成人av| 国产福利91精品一区二区三区| 欧美精品高清视频| 国产综合久久久久影院| 日韩一区二区在线看片| 亚洲国产欧美另类丝袜| 欧美精品777| 国产一区三区三区| 久久久久久夜精品精品免费| 国产东北露脸精品视频| 中文字幕在线观看不卡| 91亚洲精品久久久蜜桃| 日本欧美一区二区三区乱码| 国产精品久久久久9999吃药| 亚洲国产精品ⅴa在线观看| 久久免费视频色| 久久久久久久一区| 久久综合九色综合欧美亚洲| 日韩欧美国产综合一区 | 色哦色哦哦色天天综合| 蜜桃精品视频在线| 天堂久久一区二区三区| 亚洲国产精品久久久男人的天堂| 亚洲精品久久7777| 亚洲国产成人porn| 久久精品久久综合| 国产一区二区三区免费观看| 高潮精品一区videoshd| 91麻豆产精品久久久久久 | 久久女同精品一区二区| 国产日韩欧美综合在线| 亚洲免费观看高清完整版在线观看熊 | 成人激情动漫在线观看| 欧美国产日韩在线观看| 国产欧美日本一区视频| 欧美一区二区性放荡片| 欧美色综合网站| 91激情在线视频| 色琪琪一区二区三区亚洲区| 欧美性一区二区| 91精品国产综合久久精品app| 欧美日韩国产综合草草| 91麻豆成人久久精品二区三区| av色综合久久天堂av综合| 成人app下载| 777久久久精品| 国产精品麻豆欧美日韩ww| 国产精品嫩草久久久久| 夜夜操天天操亚洲| 亚洲一区二区影院| 国产在线精品不卡| 日本韩国欧美一区二区三区| 欧美一区二区视频观看视频| 日韩亚洲欧美成人一区| 国产精品毛片无遮挡高清| 久热成人在线视频| 91精品国产黑色紧身裤美女| 亚洲一区二区三区免费视频| 一区二区三区自拍| 国产suv一区二区三区88区| 91精品国产日韩91久久久久久| 一区二区三区精品久久久| 成人av在线网| 亚洲精品国产无套在线观| va亚洲va日韩不卡在线观看| 亚洲国产精品精华液2区45| 成人国产精品免费网站| 91亚洲精品久久久蜜桃| 7777精品伊人久久久大香线蕉超级流畅| 欧美一二三区在线| 日韩在线一区二区三区| 91视频你懂的| 亚洲国产经典视频| 天天综合天天做天天综合| av成人免费在线观看| 精品福利在线导航| 国产精品一卡二| 久久久www成人免费毛片麻豆| 婷婷夜色潮精品综合在线| 91免费观看视频| 亚洲少妇最新在线视频| 99久久99久久精品免费看蜜桃| 亚洲精品在线网站| 久久国产尿小便嘘嘘尿| 欧美成人精品1314www| 蜜桃传媒麻豆第一区在线观看| 欧美高清视频在线高清观看mv色露露十八 | 97国产一区二区| 国产精品色哟哟网站| 色狠狠桃花综合| 麻豆成人av在线| 国产欧美一区二区三区在线看蜜臀 | 91同城在线观看| 精品一区二区三区免费| 中文字幕 久热精品 视频在线| 在线观看一区二区视频| 久久精品噜噜噜成人88aⅴ| 欧美一级生活片| 成人黄色在线看| 九色综合国产一区二区三区| 国产精品丝袜一区| 91视频观看视频| 国产一区二区毛片| 亚洲不卡av一区二区三区| 久久亚区不卡日本| 日韩三级精品电影久久久| 成人免费毛片a| 久久不见久久见免费视频7| 亚洲色图欧美在线| 久久精品一区二区三区不卡 | 青青草成人在线观看| 亚洲三级在线免费| 欧美性猛片aaaaaaa做受| 成人黄色网址在线观看| 亚洲一区二区三区激情| 国产精品嫩草影院com| 精品国产露脸精彩对白| 久久先锋影音av| 欧美精品一区二区高清在线观看| 99久久综合99久久综合网站| 成人免费看片app下载| 国产99久久久久久免费看农村| 日韩电影一区二区三区| 青青草91视频| 国产成人精品免费在线| 一本久久综合亚洲鲁鲁五月天|