通过上篇博客>>>>>程序逸的Java项目之旅-图书管理系统之后端接口的快速实现,我们就可以快速搭建出基础的项目代码了,今天我们就先来实现一个验证码和后台获取管理员的账号和密码信息的实现,以及我在写项目时遇到的一些问题。

1.使用Easy-Captcha来生成验证码

  • 我们先看一下这个插件生成的验证码吧:
  • Ok,我们接下里看如何使用。
  • 首先引入依赖:
 <dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId><version>1.6.2</version></dependency>
  • 然后我们写一个控制器CaptchaController,然后用来返回验证码图片,这次我使用的是png格式的验证码,对于easy-Captcha它有多种验证码形式,感兴趣的可以自己学习使用。控制器代码如下:
/*** 用于验证密的显示* @author ctvit*/
@Controller
public class CaptchaController {@RequestMapping("/captcha")public void captcha(HttpServletRequest request,HttpServletResponse response) throws IOException {CaptchaUtil.out(request,response);}}
  • 这个时候,我们只需要去html页面去使用img标签就可以使用了。这里的src路径就是控制器的路径,这里我配置了后端项目的端口是9000
  • 到此就完成了,是不是很简单,然后启动springboot和前端的tomcat就可以了,这里我们先设置一下启动页:去web.xml中设置:

2.实现管理员账号密码数据传输到后台控制器中

  • 我们的登录页面已经写好,这个时候就要开始实现怎么将数据传入到后台,这里我们去AdminController中书写管理员登录的控制器代码:
import com.ctvit.library.pojo.Admin;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** <p>*  前端控制器* </p>*  * @author 程序逸* @since 2021-06-16*/
@RestController
@RequestMapping("/admin")
public class AdminController {/*** 管理员登录*  @CrossOrigin 用于实现跨域请求的问题*/@PostMapping("/login")@CrossOrigin public void login(@RequestBody Admin admin, HttpServletRequest request, HttpServletResponse response){System.out.println(admin);}
}
  • 这里只是一个简单的打印前台传入后台的数据,但我碰到了ajax请求跨域的问题,使用@CrossOrigin注解就可以解决了,因为我们前端的端口是8080,后端端口是9000,所以就会出现跨域问题。
  • 后端代码写好了,我们去看前端代码:首先要让两个输入框的name属性和pojo中的属性名一样:

  • 这里使用一个ajax请求一下后端接口就可以了,下面是部分代码,而且需要引入JQ的js文件。还有就是一个将数组转换成JSON,因为后台使用了@RequestBody注解。
<script>layui.use(['form', 'button', 'popup'], function() {var form = layui.form;var button = layui.button;var popup = layui.popup;// 登 录 提 交form.on('submit(login)', function(data) {/// 验证/// 登录var articleFrom = data.field;$.ajax({url: 'http://localhost:9000/admin/login',type: 'POST',data: JSON.stringify(articleFrom),contentType : 'application/json',dateType:"json",success: function (r) {if (r.code === 200) {button.load({elem: '.login',time: 1500,done: function() {popup.success("登录成功", function() {location.href = "Pear-Admin-Layui/index.html"});}})} else {layer.msg(r.message);}}});/// 动画return false;});})</script>
  • 当我们点击时就可以看到后台打印了我们的数据:
  • 到此,我们可以获取前台的数据了。这样就方便后续的数据保存操作了。

程序逸的Java项目之旅-图书管理系统之验证码和用户数据的后台获取(1)相关推荐

  1. 程序逸的Java项目之旅-图书管理系统之数据库设计(1)

    程序逸的Java项目之旅-图书管理系统之环境的搭建 1.前言 上篇博客我们介绍了一下环境的搭建,我相信很多小伙伴这点应该问题不大,可能就是idea破解和mysql数据库和redis数据库的安装吧,我其 ...

  2. 程序逸的Java项目之旅-图书管理系统之数据库设计(2-完)

    紧接上篇博客>>>>>>程序逸的Java项目之旅-图书管理系统之数据库设计(1) 4.数据库表的创建 对于数据库表,我们可以通过cmd窗口进行创建,但那种方法有点麻 ...

  3. 程序逸的Java项目之旅-图书管理系统之环境的搭建

    其实自己一直没有真正的梳理过一个项目,无论这个项目是简单还是困难,所以我希望通过这个项目帮助我学习以及分享自己的心得给大家,谢谢. 1.前言 这个项目我也是从零开始写,并且更新的速度要看我写的速度,期 ...

  4. 程序逸的Java项目之旅-图书管理系统之项目搭建

    前两篇博客将数据库表简单设计了一下,接下来我们就可以先搭建项目基础的骨架了.很多高校依旧使用eclipse/myeclipse来作为编译器,不是说这个编译器不好,其实Ieda的功能它都有,但用起来就是 ...

  5. 程序逸的Java项目之旅-图书管理系统之后端接口的快速实现

    我们可以借助Mybatis-plus来快速生成我们的DAO,Mapper,和service层,因为通过这些插件可以生成最基础的增删改查语句,但如果是更复杂的语句,我们可以自己再去xml中手写也是可以的 ...

  6. Java程序员的福音:Java项目教学之图书管理系统(含源代码)

    1 图书管理系统项目演示 图书管理系统分析: 定义Book类 完成主界面和选择 完成查询所有图书 完成添加图书 完成删除图书 完成修改图书 使用Debug追踪调试 2 图书管理系统之标准Book类 我 ...

  7. Java项目:SpringBoot图书管理系统

    作者主页:夜未央5788 简介:Java领域优质创作者.Java项目.学习资料.技术互助 文末获取源码 项目介绍 本系统分为管理员与普通用户两种角色: 管理员角色包含以下功能: 借书管理,图书信息管理 ...

  8. java计算机毕业设计vue图书管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计vue图书管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计vue图书管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B ...

  9. java毕业设计书海中学图书管理系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计书海中学图书管理系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计书海中学图书管理系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构 ...

最新文章

  1. cv::Mat使用笔记
  2. echarts 动态改变数据_Echarts的使用
  3. Map的4种遍历方法
  4. Java基础:详解HashMap在多线程下不安全
  5. Laravel event 事件的简单使用
  6. Qt Creator使用其他构建系统
  7. Jira 的 数据库备份恢复 简单过程
  8. .net MVC 简单图片上传
  9. 在控制台中录入学生姓名(python)
  10. Android studio JNI jni实例
  11. jQuery学习之八---文档处理
  12. 安卓实训项目:贪吃蛇V1.0
  13. 【原创】C#控件TreeView与数据库的操作
  14. CCF201604-4 游戏(100分)
  15. HCIE-OSPFV3
  16. class括号里的object_使用es5和es6实现继承详解以及class的基本使用
  17. spss中的aic值计算_常用SPSS数据处理方法,你都会吗?
  18. 中国环氧树脂行业运营模式与营销创新策略分析报告2021-2027年版
  19. kdj买卖指标公式源码_长短KDJ源码与kdj顶底背离指标公式(附图)
  20. qlv格式转Mp4格式

热门文章

  1. win10电池图标不能调亮度_win10屏幕亮度无法调节?一招解决Win10电脑亮度调节失灵...
  2. react native实现兼容Android与ios的视频播放器
  3. 刀片机服务器的虚拟化,刀片机服务器虚拟化
  4. 从零开始了解5G 纤亿通浅谈5G
  5. Android 名词解释
  6. 火车头采集,wordpress特色图如何设置?
  7. 数字图像处理(1)-图片信息获取和RGB-HSI
  8. LInux 下 Anaconda多环境切换
  9. 网络安全架构:如何理解P2DR模型
  10. 紫砂壶的起源 计算机操作题,紫砂壶的起源与历史发展