96SEO 2026-02-20 07:26 6
中级SpringBoot项目MyBatis技术栈MySQL数据库开发练手项目前后端开发(带完整源码)

2.5、常用配置如下直接在yml里配置即可可适当忽略上面那么多配置下面这些是最常用的
注验证码生成大多由前端负责但由于各位后端程序员不太懂前端又想学习验证码的生成和验证所以作者编写了这篇基本由后端负责的验证码案例
此处我们使用的这个Kaptcha是适配SpringBoot进行二次开发后的使用极其简单Kaptcha
是Google的⼀个⾼度可配置的实⽤验证码⽣成⼯具官方文档https://code.google.com/archive/p/kaptcha/⽹上有很多⼈甚⾄公司基于Google的kaptcha进⾏了⼆次开发.
dependencygroupIdcom.oopsguy.kaptcha/groupIdartifactIdkaptcha-spring-boot-starter/artifactIdversion1.0.0-beta-2/version
第一种参考官方文档即可有点麻烦此处不再介绍仅通过配置⽂件来⽣成验证码(超级简单推荐)
com.oopsguy.kaptcha.autoconfigure.KaptchaProperties
2.5、常用配置如下直接在yml里配置即可可适当忽略上面那么多配置下面这些是最常用的
http://XXXX:port/home/captcha即可⽣成验证码
dependencygroupIdcom.oopsguy.kaptcha/groupIdartifactIdkaptcha-spring-boot-starter/artifactIdversion1.0.0-beta-2/version
key引入该配置后它会自动帮我们把验证码内容(已转换成字符串)设置到session中名称为key后面的内容date通常设置为验证码过期时间
友情提示我这里只写了部分配置能满足上面我展示图片的要求若你想配置更多样式可以查看我上面的配置大全这里不过多介绍
注该配置引入后不需要写其他代码他会自动创建/admin/captcha接口访问该接口即显示验证码这个工作是该配置以及引入的依赖包自动帮我们完成的
org.springframework.util.StringUtils;
org.springframework.web.bind.annotation.RequestMapping;
org.springframework.web.bind.annotation.RestController;import
javax.servlet.http.HttpSession;
java.util.Date;RequestMapping(/admin)
HOME_KAPTCHA_SESSION_KEY;private
HOME_KAPTCHA_SESSION_DATE;//验证码的有效时间:msprivate
比对前端传递的验证码和Session中存储的是否一样*/RequestMapping(/check)public
(!StringUtils.hasLength(captcha)){return
(String)session.getAttribute(KAPTCHA_SESSION_KEY);Date
(Date)session.getAttribute(KAPTCHA_SESSION_DATE);//比对验证码if
(captcha.equals(saveCaptcha)){//比对日期if
saveDate.getTime()SESSION_TIMEOUT){return
先判断验证码是否为空若为空直接返回false不为空往下走从session中获取验证码和过期时间比对验证码是否正确且是否过期如果有任意一个不符合条件返回false如果都符合条件返回true
charsetutf-8title验证码/titlestyle#inputCaptcha
}#verificationCodeImg{vertical-align:
srchttp://127.0.0.1:8080/admin/captcha
srchttps://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js/scriptscript$(#verificationCodeImg).click(function(){//
Date().getTime()).fadeIn();$(this).hide().attr(src,
http://127.0.0.1:8080/admin/captcha?dt
Date().getTime()).fadeIn();});$(#checkCaptcha).click(function
$(#inputCaptcha).val()},success:function(result){if(result){location.href
和上面这句一样也是页面跳转}else{alert(验证码错误);}}});//
前端代码就不在这里过多解释了会的不用解释不会的解释两下还是不明白建议丢给gpt
initial-scale1.0title验证成功页/title
本项目部署在本地默认是本地ip地址也就是127.0.0.1或localhost
都可以但是博主自己验证包括找了些其他博主验证localhost:8080/index.html
访问的话是存在些许bug的后端取session可能为空原因是session没有设置
但127.0.0.1不会有这个问题跨域访问ip也不会有问题所以只要不用localhost即可请问放心使用
欢迎您于百忙之中阅读这篇博客希望这篇博客给您带来了一些帮助祝您生活愉快
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback