真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

springMVC中怎么實(shí)現(xiàn)一個(gè)圖形驗(yàn)證碼

這篇文章將為大家詳細(xì)講解有關(guān)springMVC中怎么實(shí)現(xiàn)一個(gè)圖形驗(yàn)證碼,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

孝義網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

一、引入架包,pom.xml

   com.google.code    kaptcha    2.3.2  

二、kaptchaProducer配置,需要在spring-mvc.xml中對(duì)kaptchaProducer的bean進(jìn)行配置,可以對(duì)驗(yàn)證碼圖形的屬性進(jìn)行配置,網(wǎng)上也有很多可以參考的,我這是放我項(xiàng)目中的相關(guān)代碼

                                         yes             105,179,90             blue             125             60             40             code             4             宋體,楷體,微軟雅黑                              

三、kaptchaProducer配置完畢后,就只可以寫生成驗(yàn)證碼的方法了。

@Autowired  private Producer captchaProducer = null;/**   * 生成驗(yàn)證碼   * @param request   * @param response   * @throws IOException   */  @RequestMapping("/yzmImg")  public void yzmImg(HttpServletRequest request,HttpServletResponse response) throws IOException{    log.info("-----生成驗(yàn)證碼-----");    HttpSession session = request.getSession();    String preCode = (String)session.getAttribute(Constants.KAPTCHA_SESSION_KEY);    log.info("-----生成驗(yàn)證碼-----前一個(gè)驗(yàn)證碼:"+preCode);    System.out.println("-----生成驗(yàn)證碼-----前一個(gè)驗(yàn)證碼:"+preCode);        //生成驗(yàn)證碼    response.setDateHeader("Expires", 0);     // Set standard HTTP/1.1 no-cache headers.    response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");    // Set IE extended HTTP/1.1 no-cache headers (use addHeader).    response.addHeader("Cache-Control", "post-check=0, pre-check=0");    // Set standard HTTP/1.0 no-cache header.    response.setHeader("Pragma", "no-cache");    // return a jpeg    response.setContentType("image/jpeg");    // create the text for the image    String capText = captchaProducer.createText();    System.err.println(capText);    // store the text in the session    session.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);    session.setAttribute(Constants.KAPTCHA_SESSION_DATE, new Date());    // 存放到緩存服務(wù)器上,并把key記錄到cookie    //CodeUtils.creatCode(capText, response, request);    // create the image with the text    BufferedImage bi = captchaProducer.createImage(capText);    ServletOutputStream out = response.getOutputStream();    // write the data out    ImageIO.write(bi, "jpg", out);    try {      out.flush();    } finally {      out.close();    }  }

四、生成驗(yàn)證碼的方法寫完后,前端可以使用img標(biāo)簽作為圖形驗(yàn)證碼的容器

jsp代碼

javascript代碼

function getYZMImg(){  $("#yzmimg").attr("src","yzmImg.htm");}

img作為圖形的容器,src寫生成驗(yàn)證碼的映射,如果需要換一個(gè)驗(yàn)證碼,點(diǎn)擊圖片,onclick事件重新調(diào)用生成驗(yàn)證碼的方法,即可達(dá)到更換驗(yàn)證碼。

下面說(shuō)下我遇到的幾個(gè)問(wèn)題

一、異常,異常信息

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.google.code.kaptcha.Producer' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

我說(shuō)下具體的情況,代碼我寫完了之后,就啟動(dòng)服務(wù),可是報(bào)了上面的異常,可是我仔細(xì)檢查了,代碼都沒(méi)有問(wèn)題,但就是拋異常,最后在類的前面加了兩個(gè)注解

@Controller@Scope("prototype")@SuppressWarnings("all")public class IndexController {}

其中Scope和SuppressWarnings兩個(gè)注解加上之后,啟動(dòng)服務(wù)就不會(huì)拋這個(gè)異常了。

二、異常,上面的異常解決之后,又出現(xiàn)了下面這個(gè)異常

java.lang.NoClassDefFoundError: com/jhlabs/image/RippleFilter] with root causejava.lang.ClassNotFoundException: com.jhlabs.image.RippleFilter

關(guān)于springMVC中怎么實(shí)現(xiàn)一個(gè)圖形驗(yàn)證碼就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


文章題目:springMVC中怎么實(shí)現(xiàn)一個(gè)圖形驗(yàn)證碼
文章轉(zhuǎn)載:http://weahome.cn/article/gsiihj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部