- 博客(21)
- 收藏
- 关注
原创 Vue3前端服务解决跨域问题——配置代理
当我们点击注册发送异步请求时,这时的源是http://localhost:5173,这时我们通过配置代理的源也是http://localhost:5173,就不会发生跨域问题。注册为例:当浏览器启动的时候,会先发送请求到前端服务,得到一个注册的页面,注册页面的源http://localhost:5173,当点击注册时,会发送请求到后端服务,后端服务的http://localhost:8080,不同端口,是不同的源,由于同源策略限制,那么发送请求就会失败;这种问题就是跨域问题。
2024-07-26 23:18:00
508
1
原创 解决 Java连接Redis的相关问题
如果Java报错org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis,那么可能是Redis没有启动,也可能是配置有问题,我的问题是没有配置密码。就可以,如果单击之后只是一闪而过的窗口,在该目录下输入cmd回车,执行命令redis-server.exe redis.windows.conf即可启动服务。,是因为我没有输入密码,执行auth 密码 命令就可以了。
2024-07-26 16:38:52
308
原创 Java spring boot 属性配置
外部配置文件:在jar包所在目录下创建一个application.yml文件,在这个文件里可以批量配置要修改的属性,jar包运行时会自动读取文件里的配置。命令行参数:添加的值会传给启动类的main方法,会用args接收参数,在启动spring boot应用时又把数组传给了run方法。环境变量:在环境变量中添加属性,变量的键和值得和spring boot保持一致,程序会自动读取这些变量,从而使用。如果是源文件,可以直接在配置文件里修改,但是如果是jar包,就不能直接修改属性值(这里是端口号。
2024-07-24 14:48:51
166
原创 Java spring boot 使用Redis进行登录认证优化
登录优化,为什么:在登录后,我们用令牌通过拦截器进行访问数据,但如果我们修改了密码,会生成新的令牌,旧的令牌却没有销毁,依然有效,依旧可以用旧的令牌去进行相关操作,所以我们修改密码后依旧是不安全的,所以得想办法让旧的令牌失效。把token存储到redis中,设置的过期时间与令牌一致。编写代码,导入依赖后redis对象已经放入容器里,可以直接用抽象方法。在更新密码后,删除redis中对应的token。在拦截器中获取相同的token,进行判断。-- redis坐标-->
2024-07-24 14:18:03
571
原创 Java spring boot 分页查询
使用映射配置文件去写,在resources创建一个与mapper路径一致的包名,创建映射文件。mapper层,没有直接用注解写动态的sql,会很麻烦。-- pageHelper坐标-->controller层。
2024-07-22 18:18:45
113
原创 Java spring boot 如何发布内容,新增内容(这里是文章)如何自定义校验方法对数据进行校验
成功,说明逻辑没问题,但是没有进行属性的校验,可能需要前端传回的数据有一定的规则,如标题不能为且必须满足多少字符等等,就得用到validation进行相关校验,还可能会用到自定义的校验。service层 调用mapper层方法,补充属性值,因为需要发布人id信息,所以从token里获得,token又放在了ThreadLocal里。首先创建一个State注解类,去NotEmpty注解类里照葫芦画瓢,类里的三个参数是必须的。在实体类属性上添加注解,其中@State是自定义的注解。返回Result对象。
2024-07-22 17:20:38
164
原创 Java spring boot 进行分组校验
这两个接口一个是增加分类信息的,一个是修改分类信息的,增加的那个不需要id的校验,因为数据库会自动给他id,而修改的就需要id的校验,是根据id修改的,如果在属性上进行校验,就会导致不需要id的新增功能出现问题,出现id不能为空的问题,所以就需要进行分组校验。如果某个校验项没有指定分组,那么默认属于default分组 且分组之间可以继承,如果 A extend B,那么A拥有B的所有校验项。如果有两个接口都是用的实体类参数,那么在实体类上的校验就会都执行,但会存在问题。优化,去除了冗余的代码。
2024-07-21 23:35:25
281
原创 Java spring boot 如何简单实现分类查询
在controller层,创建请求,调用service层方法。在service层,继续先获得当前用户id,根据id查询。如何更改显示 的时间格式,在属性上加上此注解。
2024-07-21 22:27:40
254
原创 Java spring boot 如何简单实现新增分类
在service层调用mapper层方法,设置分类创建时间为当前时间,token放在了ThreadLocal里,token里存放的信息用get得到,mapper层需要创建者的id,就是谁创建了这个分类。在controller层创建接口,调用service层方法。在mapper层,操作数据库,进行新增。
2024-07-21 22:05:55
193
原创 Java spring boot 更改密码
service层,在ThreadLocal里得到用户id(根据id更改信息,并把新密码进行加密,调用mapper层方法更新数据库信息。controller层,接收前端传回的数据,进行校验判断,成功后调用service层方法更新密码。mapper层,根据id更改信息。
2024-07-21 16:21:50
265
原创 Java spring boot 更换头像
service层,因为前面把业务数据存储到ThreadLocal中,所以调用方法得到里面的id,数据是根据id更改的。是 Spring MVC 中的一个注解,用于将 Web 请求的查询参数映射到控制器方法的参数上。因为头像一般放在第三方云服务器上的,所以只需存储一个url地址就行。只需在参数前加入@URL即可。但是不规范,因为我们要的是url地址。controller层。
2024-07-20 23:53:45
206
原创 Java spring boot更新用户信息
先写controller层的接口,调用service层的方法,service再调用mapper层的方法,层层调用,一层一层的补充。直接在需要校验的实体类的属性名上写入validation的注解,并在方法前面加上@Validated。虽然成功了,但是没有对参数进行校验,不能判断是否符合规范,前面提到的校验,我们是直接在属性名前面进行的。验证:去掉id,nickname属性超过10位。因为有更新时间属性,所以set了一个当前时间。只要都符合规范就能成功。
2024-07-20 22:43:00
225
原创 Java spring boot 向前端返回用户信息
还有一点,如果数据库的属性是下划线命名,而Java是驼峰命名,那么如果不相互转换,就会读取不到,creteTime和updateTime会显示为null。因为登录后把用户id和username放在了token里,验证token时直接取出username,调用方法去找到用户,并返回user对象。为什么用这个,因为其在拦截器里已经写过,代码重复,如果其他请求也要用户信息,那么又会多一些重复的代码,所以想个方法,直接复用拦截器里的。创建ThreadLocalUtil工具类。改进接口方法,去掉重复代码。
2024-07-20 21:17:36
637
原创 Java spring boot登录认证
在创建utils包里创建JwtUtil类,类有两个方法,分别生成和验证token。在postman模拟,在请求头添加属性,并把生成的token加进去模拟登录。在controller层进行配置,每个接口进行token验证。如果每个接口都去验证就会比较繁琐,所以使用拦截器进行统一处理。-- java-jwt坐标-->创建配置类,注册拦截器,并设置不用拦截的接口。勾选后,也就是模拟登录后,可以正常显示。登录成功后,会生成token并返回。
2024-07-20 16:02:30
226
原创 Spring Boot对注册参数的校验
说明代码正确,但报错信息可能看不懂,改进:进行全局异常处理。-- validation依赖-->在controller层导入注解@Validated。2.使用spring validation进行校验。1.使用if-else进行校验(比较繁琐。Result为前面自定义对象。
2024-07-19 23:06:54
317
原创 Spring Boot实现简单用户注册功能
报错,但数据库却添加成功,出现问题的原因,未在result类上加上注解@Data,没有setter,getter方法,在将result字符串转换成json对象时就不知道怎么转换,加上注解后没有报错。2.创建resource包,在包下创建application.yml文件(快捷创建不管)在文件配置数据库连接,在数据库里创建user表,表信息与实体类一致。5.从controller层开始实现功能,实现接口,调用service层的方法,返回的是封装的Result对象。-- lombok依赖-->
2024-07-19 17:19:26
1372
原创 Java后端和前端实现简单的分角色登录
在service层做一些业务处理,判断数据库是否有此账户等等,设置抛出错误(用户名或密码错误等等),调用~mapper方法去进行数据库相关业务,这里是查询。简单的分角色登录完成,进一步的就是权限拦截,什么角色做什么事,用户只能访问自己的东西,管理员有更高的权限,全凭自己需求。UserMapper主要处理数据库相关业务,配着UserMapper.xml,实现增删查改等等。Result类,封装返回的信息,状态码,数据,提示信息等等。先建一个实体类,role表示角色,是用户还是管理员等等。.xml里写查询语句。
2024-07-15 15:15:31
426
原创 idea初建maven项目,spring包无法导入
打开自己maven目录下的conf\settings.xml,找到loca...把自己创建的仓库文件夹路径加进去,如何再在<mirros>下加入阿里云镜像。1.先下载maven,去官网下载选择一个与自己jdk和idea相符合的版本,不符可能导致有些依赖导入不进去。5.依赖导入不了,显示找不到,解决办法 win+r ,cmd,看看这两个版本是否一样。如果不一样就去修改环境变量使其一样,我的主要问题spring包导不了就解决了。3. 打开idea创建maven项目,不同版本创建方式不一,大体创建如下。
2024-05-08 18:34:06
363
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人