本文為大家分享了java實用驗證碼的實現代碼,供大家參考,具體內容如下
1、驗證代碼
軟件包valyimg;導入java.awt.color; import java.io.io.io.ioexception; import java.util.random; import javax.servlet.servlet.servlet.servlet.servlet.servlet.servletexception; import javax.servlet.http.httppservlet; import javax.servax.servect; impt 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;公共類ValterCode擴展了httpservlet {private static configurablecaptchaservice cs = new ConfigurableCaptChaservice();私有靜態隨機隨機= new Random();靜態{// cs.setColorFactory(new SinglecolorFactory(新顏色(25,60,170))); cs.setColorFactory(new ColorFactory(){@Override公共顏色getColor(int x){int [int [] c = new int [3]; int i = random.nextint(c.length); for(int fi = 0; fi = 0; fi <c.length; c.length; fi ++) = Random.nextint(256);}}返回新顏色(C [0],C [1],C [2] RandomWordFactory wf = new RandomWordFactory(); wf.setcharacters(“ 23456789abcdefghigkmnpqrstuvwxyzabcdefghigghigklmnpqrstuvwxyz”); wf.setmaxlength(4); wf.setminlength(4); cs.setWordFactory(WF); } public void doget(httpservletrequest請求,httpservletresponse響應)拋出ServletException,ioexception {switch(randy..nextint(5)){case 0:cs.setfilterfactory(cs.setfilterfactory(新的休息;案例1:cs.setFilterFactory(新的MarblerippleFilterFactory());休息;案例2:cs.setFilterFactory(新的DoubleerippleFilterFactory());休息;案例3:cs.setFilterFactory(new WobblerippleFilterFactory());休息;案例4:cs.setFilterFactory(新的diffuseripplefilterfactory());休息; } httpsession session = request.getSession(false); if(session == null){session = request.getSession(); } setResponseheaders(響應);字符串token = encoderHelper.getChallangeandWriteImage(CS,“ PNG”,Response.getOutputStream()); session.setAttribute(“ valtercode”,token); system.out.println(“當前的sessionid =” + session.getID() +“,驗證碼=,” + token); }受保護的void setResponseheaders(httpservletResponse響應){wendment.setContentType(“ image/png”);響應。響應。長時間= system.currentTimeMillis(); response.setDateHeader(“最後修飾”,時間); response.setDateHeader(“ date”,time); response.setDateHeader(“到期”,時間); } public void dopost(httpservletrequest請求,httpservletresponse響應)拋出ServletException,ioexception {}} 2.xml代碼
<dependency> <groudId> com.github.bingoohuang </groupId> <ArtifactId> patchca </artifactid> </artifactid> <版本> 0.0.1 </version> </deverency> </deverenty> <servlet> <servlet-name> servlet-name> valtlet-name> valtlet> valtlet> </servlet-name> <servlet-name> <servlet-class> <servlet-class> <servlet-name> vallycode </servlet-name> <url-pattern>/validimg.jpg </url-pattern> </servlet-mapping>
以上就是本文的全部內容,希望對大家的學習有所幫助。 ,希望對大家的學習有所幫助。