摘要: 登录接口开发 登录的逻辑其实很简答,只需要接受账号密码,然后把用户的id生成jwt,返回给前段,为了后续的jwt的延期,所以我们把jwt放在header上。具体代码如下: com.gychen.controller.AccountController @RestController public c 阅读全文
posted @ 2020-08-13 11:46 nuister 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 跨域问题 因为是前后端分析,所以跨域问题是避免不了的,我们直接在后台进行全局跨域处理: com.gychen.config.CorsConfig /** * 解决跨域问题 */ @Configuration public class CorsConfig implements WebMvcConfi 阅读全文
posted @ 2020-08-13 11:43 nuister 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 实体校验 当我们表单数据提交的时候,前端的校验我们可以使用一些类似于jQuery Validate等js插件实现,而后端我们可以使用Hibernate validatior来做校验。 我们使用springboot框架作为基础,那么就已经自动集成了Hibernate validatior。 那么用起来 阅读全文
posted @ 2020-08-13 11:40 nuister 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 异常处理 有时候不可避免服务器报错的情况,如果不配置异常处理机制,就会默认返回tomcat或者nginx的5XX页面,对普通用户来说,不太友好,用户也不懂什么情况。这时候需要我们程序员设计返回一个友好简单的格式给前端。 处理办法如下:通过使用@ControllerAdvice来进行统一异常处理,@E 阅读全文
posted @ 2020-08-13 11:32 nuister 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 整合shiro+jwt(Json Web Token),并会话共享 考虑到后面可能需要做集群、负载均衡等,所以就需要会话共享,而shiro的缓存和会话信息,我们一般考虑使用redis来存储这些数据,所以,我们不仅仅需要整合shiro,同时也需要整合redis。在开源的项目中,我们找到了一个start 阅读全文
posted @ 2020-08-13 11:29 nuister 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 统一结果封装 这里我们用到了一个Result的类,这个用于我们的异步统一返回的结果封装。一般来说,结果里面有几个要素必要的 是否成功,可用code表示(如0表示成功,-1表示异常) 结果消息 结果数据 所以可得到封装如下: com.gychen.common.lang.Result (在这里@Dat 阅读全文
posted @ 2020-08-13 11:28 nuister 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 新建SpringBoot项目 create new project 在这里,URL可以改成阿里云的URL:https://start.aliyun.com/ 或者换一个网络环境(作者在这里本来是连的校园网,尝试多次无果,换成移动网,再使用http://start.spring.io/,尝试成功(但也 阅读全文
posted @ 2020-08-13 11:27 nuister 阅读(457) 评论(0) 推荐(0) 编辑
摘要: mybatis逆向工程 提高开发效率 使用步骤 1、在pom.xml中加入依赖 需要插入的依赖 <!-- mybatis逆向工程 --> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generat 阅读全文
posted @ 2020-08-13 11:12 nuister 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 图书类型管理模块(类型查询) 新建图书类型管理页面 在WEB-INF/pages里新建type/typeIndex.jsp,把table.html里的代码拷贝进去 webapp/api/init.json里的类型管理的页面路径相应更改以对应(改成typeIndex,是Controller层的路径) 阅读全文
posted @ 2020-08-13 11:08 nuister 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 图书类型管理-添加图书类型 在typeIndex.jsp中找到添加的相关代码进行修改 修改监听add添加的监听事件,修改跳转路由 /** * toolbar事件监听 */ table.on('toolbar(currentTableFilter)', function (obj) { if (obj 阅读全文
posted @ 2020-08-13 11:07 nuister 阅读(541) 评论(0) 推荐(0) 编辑