- 相關(guān)推薦
java如何生成驗(yàn)證碼呢
Java生成驗(yàn)證碼的流程是:
收到請(qǐng)求->生成驗(yàn)證碼所用的隨機(jī)數(shù)->使用隨機(jī)數(shù)寫出圖片->將隨機(jī)數(shù)記錄到Session中->輸出驗(yàn)證碼
Java驗(yàn)證驗(yàn)證碼的流程是:
收到請(qǐng)求->獲取用戶傳過(guò)來(lái)的驗(yàn)證碼數(shù)字->驗(yàn)證是否正確->輸出驗(yàn)證結(jié)果
下面通過(guò)一個(gè)例子來(lái)展示驗(yàn)證碼的生成流程,該例子使用基本Java Spring框架的Rest接口,可以使用任何平臺(tái)來(lái)獲取驗(yàn)證碼:
服務(wù)器處理驗(yàn)證碼的例子:
1.接收驗(yàn)證碼請(qǐng)求:
/*** 接收驗(yàn)證碼請(qǐng)求*/@RequestMapping(value="captchacode")public void CaptchaCode(){ try { CaptchaCodeModel captchaCodeModel=new CaptchaCode().getCode(); //將驗(yàn)證碼放到Session中 HttpServletRequest httpServletRequest=super.getRequest(); httpServletRequest.getSession().setAttribute("captchacodekey", captchaCodeModel.getCaptchaCode()); //將圖片寫到客戶端 HttpServletResponse httpServletResponse=super.getResponse(); //禁止緩存 httpServletResponse.setHeader("Pragma", "no-cache"); httpServletResponse.setHeader("Cache-Control", "no-cache"); httpServletResponse.setDateHeader("Expires", 0); ServletOutputStream servletOutputStream=httpServletResponse.getOutputStream(); //輸出圖片 ImageIO.write(captchaCodeModel.getCaptchaImage(), "jpeg", servletOutputStream); servletOutputStream.close(); } catch (Exception e) { logger.info("驗(yàn)證碼生成失敗:"+e.getMessage()); }}
2.生成驗(yàn)證碼并生成圖片:
public class CaptchaCode {private int width = 90;// 定義圖片的widthprivate int height = 20;// 定義圖片的heightprivate int codeCount = 4;// 定義圖片上顯示驗(yàn)證碼的個(gè)數(shù)private int xx = 15;private int fontHeight = 18;private int codeY = 16;char[] codeSequence = { A, B, C, D, E, F, G, H, I, J,K, L, M, N, O, P, Q, R, S, T, U, V, W,X, Y, Z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
【java如何生成驗(yàn)證碼呢】相關(guān)文章:
java中全排列是如何生成算法09-05
php如何實(shí)現(xiàn)驗(yàn)證碼06-13
php生成動(dòng)態(tài)圖片驗(yàn)證碼的一段代碼04-30
java如何構(gòu)造09-21
如何創(chuàng)建java包06-11
Java的就業(yè)前景如何07-28
如何學(xué)習(xí)JAVA開(kāi)發(fā)10-13
新手如何學(xué)習(xí)Java07-06