本文为大家分享了 Java 实用验证码的实现代码 , 供大家参考 , 具体内容如下
1 、 appalcode
Package ValidImg ؛ استيراد java.awt.color ؛ استيراد java.io.ioException ؛ استيراد java.util.random ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservlet ؛ استيراد javax.servlet.http.httplet javax.servlet.http.httpservletresponse ؛ استيراد javax.servlet.http.httpsession ؛ استيراد com.github.bingoohuang.patchca.coLor.ColorFactory ؛ استيراد com.github.bathuhuang.patchca com.github.bingoohuang.patchca.filter.predefined.curvesripplefilterfactory ؛ استيراد com.github.bingoohuang.patchca.filter.predefined.diffuseripplefilterfactory ؛ استيراد com.github.bingoohuang.patchca.filter.predefined.doubleripplefilterfactory ؛ import com.github.bingoohuang.patchca.filter.predeplter.preblerflterfactory com.github.bingoohuang.patchca.utils.encoder.encoderHelper ؛ import com.github.bingoohuang.patchca.word.randomwordfactory ؛ الفئة العامة VALICDECODE يمتد httpservlet {private static configuraBlecaptChaservice CS = جديد configurableCaptChaservice () ؛ عشوائي ثابت عشوائي = جديد عشوائي () ؛ ثابت {// cs.setColorFactory (new ColorFactory () {Override public color getColor (int x) {int [] c = new int [3] = Random.Nextint (256) ؛ RandomWordFactory WF = New RandomwordFactory () ؛ Wf.Setcharacters ("23456789ABCDEFGHIGKMNPQRSTUVWXYZABCDEFGHIGKLMNPQRSTUVWXYZ") ؛ wf.setMaxLength (4) ؛ wf.setminlength (4) ؛ cs.setwordfactory (WF) ؛ } rework public void doget (httpservletrequest request ، httpservletresponse) يلقي servletexception ، ioException {switch (random.nextint (5)) {case 0: cs.setfilterfactory (curvesripplefilterfactory (cs .getcolorfactory ())) ؛ استراحة؛ الحالة 1: cs.setFilterFactory (marbleripplefilterfactory ()) ؛ استراحة؛ الحالة 2: cs.setFilterFactory (doubleripplefilterfactory () جديد) ؛ استراحة؛ الحالة 3: Cs.SetFilterFactory (wobbleripplefilterfactory ()) ؛ استراحة؛ الحالة 4: Cs.SetFilterFactory (Diffuseripplefilterfactory ()) ؛ استراحة؛ } جلسة httpsession = request.getSession (false) ؛ if (session == null) {session = request.getSession () ؛ } setResponseHeaders (استجابة) ؛ TRING TOKEN = ENCODERHELPER.GETCHALLANGEANDWRITEIMAGE (CS ، "PNG" ، desponse.getOutputStream ()) ؛ session.setAttribute ("ValidCode" ، token) ؛ System.out.println ("当前的 sessionId =" + session.getId () + ", 验证码 = ،" + token) ؛ } proid void setResponseHeaders (httpservletresponse response) {response.setContentType ("image/png") ؛ استجابة. استجابة. وقت طويل = system.currentTimeMillis () ؛ استجابة. استجابة. استجابة. } public void dopost (httpservletrequest request ، httpservletresponse) يلقي servletexception ، ioException {}} 2.xml 代码
<Rependency> <roupency> com.github.bingoohuang </rougeid> <StifactId> patchca </shintifactid> <sored> 0.0.1 </version> </servlet> <Sradlet-Name> ValidCode </servlet-name> <url-pattern> /validimg.jpg </url-pattern> </servlet mapping>
以上就是本文的全部内容 , 希望对大家的学习有所帮助。