国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java實用驗證碼的實現代碼

2019-11-26 14:29:10
字體:
來源:轉載
供稿:網友

本文為大家分享了java實用驗證碼的實現代碼,供大家參考,具體內容如下

1、ValidCode     

package validImg; import java.awt.Color;import java.io.IOException;import java.util.Random;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 com.github.bingoohuang.patchca.color.ColorFactory;import com.github.bingoohuang.patchca.custom.ConfigurableCaptchaService;import com.github.bingoohuang.patchca.filter.predefined.CurvesRippleFilterFactory;import com.github.bingoohuang.patchca.filter.predefined.DiffuseRippleFilterFactory;import com.github.bingoohuang.patchca.filter.predefined.DoubleRippleFilterFactory;import com.github.bingoohuang.patchca.filter.predefined.MarbleRippleFilterFactory;import com.github.bingoohuang.patchca.filter.predefined.WobbleRippleFilterFactory;import com.github.bingoohuang.patchca.utils.encoder.EncoderHelper;import com.github.bingoohuang.patchca.word.RandomWordFactory; public class ValidCode extends HttpServlet {  private static ConfigurableCaptchaService cs = new ConfigurableCaptchaService();  private static Random random = new Random();  static {//    cs.setColorFactory(new SingleColorFactory(new Color(25, 60, 170)));      cs.setColorFactory(new ColorFactory() {      @Override      public Color getColor(int x) {        int[] c = new int[3];        int i = random.nextInt(c.length);        for (int fi = 0; fi < c.length; fi++) {          if (fi == i) {            c[fi] = random.nextInt(71);          } else {            c[fi] = random.nextInt(256);          }        }        return new Color(c[0], c[1], c[2]);      }    });    RandomWordFactory wf = new RandomWordFactory();    wf.setCharacters("23456789abcdefghigkmnpqrstuvwxyzABCDEFGHIGKLMNPQRSTUVWXYZ");    wf.setMaxLength(4);    wf.setMinLength(4);    cs.setWordFactory(wf);  }    public void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {     switch (random.nextInt(5)) {    case 0:      cs.setFilterFactory(new CurvesRippleFilterFactory(cs          .getColorFactory()));      break;    case 1:      cs.setFilterFactory(new MarbleRippleFilterFactory());      break;    case 2:      cs.setFilterFactory(new DoubleRippleFilterFactory());      break;    case 3:      cs.setFilterFactory(new WobbleRippleFilterFactory());      break;    case 4:      cs.setFilterFactory(new DiffuseRippleFilterFactory());      break;    }    HttpSession session = request.getSession(false);    if (session == null) {      session = request.getSession();    }    setResponseHeaders(response);    String token = EncoderHelper.getChallangeAndWriteImage(cs, "png",        response.getOutputStream());    session.setAttribute("validCode", token);    System.out.println("當前的SessionID=" + session.getId() + ",驗證碼= ," + token);   }   protected void setResponseHeaders(HttpServletResponse response) {    response.setContentType("image/png");    response.setHeader("Cache-Control", "no-cache, no-store");    response.setHeader("Pragma", "no-cache");    long time = System.currentTimeMillis();    response.setDateHeader("Last-Modified", time);    response.setDateHeader("Date", time);    response.setDateHeader("Expires", time);  }   public void doPost(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException {   }  }

2.XML代碼

<dependency>  <groupId>com.github.bingoohuang</groupId>  <artifactId>patchca</artifactId>  <version>0.0.1</version> </dependency> <servlet> <servlet-name>ValidCode</servlet-name> <servlet-class>validImg.ValidCode</servlet-class></servlet><servlet-mapping> <servlet-name>ValidCode</servlet-name> <url-pattern>/validImg.jpg</url-pattern></servlet-mapping>

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 福州市| 上蔡县| 兴隆县| 利津县| 紫云| 射洪县| 陵川县| 玉门市| 松桃| 武乡县| 吉林市| 右玉县| 云龙县| 巴中市| 临邑县| 睢宁县| 东乌| 天等县| 兰溪市| 台中县| 易门县| 嘉善县| 哈巴河县| 万安县| 杂多县| 龙口市| 湘潭市| 河西区| 罗源县| 漳州市| 江阴市| 新昌县| 佳木斯市| 海口市| 虎林市| 肃宁县| 竹山县| 安平县| 凭祥市| 内丘县| 祁阳县|