关于验证码的生成过程

来源:4-12 引入kaptcha实现验证码

慕沐8221787

2020-04-12

课程中用到的kaptcha验证码的生成过程不太明白,只是在web.xml里配置了servlet,那通过/Kaptcha这个请求到底访问了什么资源,servlet对这个请求是如何处理返回响应的,麻烦老师详细解释一下,谢谢!

写回答

1回答

慕田峪944480

2020-04-12

https://www.cnblogs.com/myseries/p/10695141.html 这篇文章我觉得写的比较详细。

大概原理就是 servlet调用的方式就是初始时调用 init(),然后每次会调用service(),如果销毁会调用destory()。


web.xml 你配置了 url-pattern 和 Kaptcha的类。


Kaptcha继承了 HttpServlet。每次启动Tomcat会调用Kaptcha.init()的方法将配置信息加载进去,进行初始化,或者懒加载……

然后每次访问到/kaptcha的时候,对调用 Kaptcha.service(),虽然Kaptcha里面没有,但是他的父类 HttpServlet有,其实service主要判断方法,get post,put之类的,因为每次都是get方法,所以会调用 Kaptcha里的doGet,就能接收到生成的验证码了。剩下的如何生成验证码图片就靠你读源代码了~



回复里没法更新代码块,就更新在这了

 <servlet-name>Kaptcha</servlet-name>
 <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>


1
13
慕沐8221787
request有这样的方法吗?我怎么没找到?我做了一个截图,你这个问答不支持截图,发不了。
2020-04-15
共13条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程