- 博客(93)
- 收藏
- 关注
原创 OSS实现文件上传
OSS通过使用AccessKeyId和AccessKeySecret对称加密的方法来验证某个请求发送者的身份。AccessKeyId用来标识用户,AccessKeySecret用于加密签名字符串和OSS用来验证签名字符串的密钥,AccessKeySecret必须保密。OSS以HTTP RESTful API的形式对外提供服务,当访问不同地域的时候,需要不同的域名。用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。对象是 OSS 存储数据的基本单元,也被称为OSS的文件。
2024-08-23 17:33:19 1200
原创 Java基础知识巩固自测(上)
该文章适用于已初步了解Java基础知识的入门学习者,便于快速回顾知识点,查漏补缺。内容包括:Java面向对象相关知识、SQL基础语法。
2024-06-16 20:07:41 1377 2
原创 Servlet实现会话追踪登录功能(结合JDBC)
session作为会话,用于识别用户信息,便于在各个页面中(如jsp)和不同的Servlet(get或post请求)中使用,存取session中的属性。载入外来包,我们不介意采取:右击项目——Build Path方式,因为这样只是引入了一个jar包的link进来,如果把项目挪动位置或者把jar包删除了,则报错。类似地,在Web开发中,Session也有过期和失效的时间,一段时间没有活动或者用户注销登录时,Session会被清除。这张学生卡可以帮助学校和老师辨认你的身份,管理你的学习和其他事务。
2024-06-06 20:41:46 805
原创 快速创建Servlet项目
接着重新回到左上角File --- Project Structure --- Artifacts---点击“+”号 --- 选择Web Application:Exploded--- From Modules,如下图。选中Tomcat Server --- Local,如果你已经在之前步骤中下载好了Tomcat,记好路径,进行配置,这里我已经和我下载的Tomcat9作了映射。,只需右键java文件---Mark Dierctory as---Sources Root即可。
2024-05-19 11:10:18 1557
原创 SpringBoot实现邮箱验证
2、点击生成授权码(这边已经开启IMAP/SMTP服务,未开启的要先设置为开启),之后根据指示可以拿到一串由邮箱服务器提供的专属于自己的授权码,用于在Java代码中连接邮箱。1、登录邮箱(以qq邮箱为例),点击邮箱右上角邮箱-设置-常规-第三方服务,会有如下选项。说明验证码在Redis中存储有效。成功接收到来自发送方的验证码。
2024-04-03 12:03:58 1452 1
原创 SpringBoot配置JWT拦截器
JWT在之前文章提到过,JWT(JSON Web Token)是一种用于身份验证和授权的开放标准(RFC 7519),它允许在网络中安全地传输声明(claims)作为 JSON 对象。JWT 可以通过数字签名或加密来验证数据的完整性和真实性,从而保证数据在传输过程中不被篡改。工作流程用户通过用户名和密码等方式进行身份验证。服务器验证用户身份,并生成一个 JWT。服务器将 JWT 发送给客户端。客户端将 JWT 存储起来,通常是在本地存储或者内存中。
2024-03-24 16:29:41 1405
原创 RabbitMQ中4种交换机的Java连接代码
虽然queue1和queue的map中要求的参数信息基本一致,但匹配规则不同,queue1是“x-match:all” ,即需要完全匹配,而后者是“x-match:any”,即只要一个满足就可发送到,从图中可以看到queue2里 " "sex":男" "可以匹配到的。Header交换机与Direct交换机的区别在于,前者使用map来作为消息发送的标识,类似于HTTP协议中的消息头,而后者是通过routingKey,此外 基本没区别,但Header交换机性能差很多,如今基本用不上。
2024-03-10 15:19:18 1049
原创 SpringBoot实现短链跳转
短链跳转是一种通过将长链接转换为短链接的方式,以便在互联网上进行链接共享和传播的技术。通常情况下,长链接可能由于包含大量参数或者较长的路径而显得复杂且不易记忆,而短链则是将原始长链接通过特定算法转换为较短的链接,使得它更容易分享、传播和展示。短链跳转服务通常由第三方提供,用户可以将需要缩短的长链接提交到该服务,服务会返回一个短链接,当用户访问这个短链接时,会被重定向到原始的长链接地址。这种服务通常还提供了统计功能,可以跟踪短链接被点击的次数访问来源等信息,帮助用户了解链接的传播效果。短链跳转服务有助于。
2024-02-29 14:50:01 2202 1
原创 MySql出现无法正常启动(0x000007b)的快速解决
昨天在清理电脑内存空间的时候,不小心将一些重要的系统组件删除,导致无法正常启动mysql,一开始是提示经过msvcp120.dll,于是找到下载dll的网站将组件补充进system,但随后又提示应用程序无法正常启动(0x000007b)。再经过两三小时折腾,尝试网上各种解决办法,终于有了一套解决概率最高的办法,在这里分享给大家,避免入坑。
2024-02-28 22:23:04 1128
原创 SpringBoot集成EasyExcel快速人们
EasyExcel 是阿里巴巴开发的一款基于 Java 的专业化Excel 操作工具,主要用于在 Java 应用程序中快速、高效地读写 Excel 文件。EasyExcel 提供了简单易用的API,使开发人员可以轻松地处理 Excel 文件,包括读取数据、写入数据、格式化等操作。像前面文章中提到的Apache POI也是一个用于操作Excel的API,当然同时能操作Word、PPT这样的Microsoft Ofiice文档,EasyExcel 是一个基于 Apache POI 封装。
2024-02-28 11:26:23 1053
原创 SpringBoot集成PageHelper分页实现
PageHelper 是一个开源的MyBatis 分页插件,可以帮助开发者方便地实现数据库分页查询功能。它通过拦截 Mapper 方法的调用,自动在SQL 语句中添加分页相关的信息,从而实现数据库查询结果的分页处理。使用 PageHelper 可以简化代码编写,避免手动编写复杂的分页逻辑,提高开发效率并降低出错风险。同时,PageHelper 的社区活跃,持续更新和维护,可以获取到及时的技术支持和问题解决方案。
2024-02-26 22:08:49 689
原创 Servlet+Ajax实现对数据的列表展示(极简入门)
因为是Servlet项目,所以要用到JDBC去连接后台数据库,此处还不熟悉的可借鉴我前几篇有关JDBC的文章。(这是简单的表设计,大家可直接模拟一个,或自行创建一个表,只要实体类对应上即可)(这里我对应的数据库表是Book,所以创建实体类Book)编写Content.jsp(html+js+ajax)
2024-02-03 22:59:38 804
原创 将java对象转换为json字符串的几种常用方法
在后端成功将所需传输对象转换为json字符串格式后,便可以此传递给前端,进而让浏览器去响应json数据,例如在Servlet中,设置响应头content-type:
2024-01-31 19:54:05 6819
原创 JDBC代码封装
方法自然可设置为:getConnection()、getStatement(Connection con)、getResultSet(Statement statement)、close(Connection con,Statement statement,ResultSet resultSet) 现在你可以看一会 找出它们的前后关系。,可以在不创建对象的情况下直接访问静态成员,以及在类被加载时执行一些需要初始化的操作,例如在此代码中所体现的初始化数据库连接信息。从该配置文件中读取数据库连接信息。
2024-01-28 14:22:04 422
原创 JDBC连接MySql数据库
url(路径)、driver(所用驱动)、username(你要连接的服务器的用户名)、password(对应密码)JDBC的全称是Java Database Connectivity,它是Java语言中用于。(1)导入相关依赖(mysql-connector-java)(2)可用于连接的数据库(如MySql),要提供用户名和密码。的API(应用程序接口)。驱动程序(Class.forName(driver))(1)首先一定要准备好连接数据库的。(3)调用jdbc,作代码实现。
2024-01-21 17:08:49 459
原创 Servlet实现用户登录拦截功能
在HTTP协议的无状态特性下,为了实现用户的连续性和数据的持久化,可以使用会话来跟踪用户在多个HTTP请求之间的状态。需要注意的是,由于会话是在服务器端进行管理的,因此需要在跨页面和跨请求之间正确传递会话ID。一般情况下,浏览器会自动处理这些细节,但在某些特殊情况下,可能需要手动管理会话ID的传递和处理。中选择对应的可使用的tomcat程序,此处用的版本为Tomcat.9.0.62,接着在Http port中设置服务器端口(默认为8080),配置完成后点击Apply。可以看出,这个过滤器是。
2024-01-18 14:10:47 1287
原创 Druid 数据库连接池工具类代码
它不仅提供了连接池管理的功能,还包含了详尽的监控和统计功能,可以帮助开发人员更好地管理和优化数据库连接。它为应用程序提供了高性能、可靠的数据库连接管理,同时还包含了强大的连接池监控和统计功能。对于 Spring Boot 项目,Druid 提供了方便的集成和自动配置,简化了连接池的配置和管理。Druid 具有多种内置的过滤器,用于监控和统计连接池的性能,如监控 SQL 信息、防火墙等。Druid 自动管理数据库连接的创建、复用和释放,有效地减少了数据库连接的创建和销毁开销。
2023-08-31 10:28:47 191
原创 基于JWT和redis的简单登录功能实现代码
这里是简单示例,因此只写了几个常用方法,包括生成token、验证token、删除token和判断token是否存在等等。在application.properties或application.yml中进行redis和jwt相关配置。这里我写一个非常简单的登录功能,主要是方便快速应用上jwt和redis。第二次登录,在redis中识别出有token,不用生成新的token。这里为了方便,直接在Windows上进行启动。第一次登录,生成了token。检查redis中是否成功存储。
2023-08-16 23:51:11 324
原创 Java常用API---快速达到Java工作水准系列(1)
总的来说,字符串处理类在各种应用中都发挥着重要作用,从基本的文本操作到复杂的模式匹配和格式化,都需要用到字符串处理类的功能。总的来说,包装类在实际工作中主要用于解决基本数据类型不能直接作为对象操作的问题,以及在集合、泛型和格式化等方面提供了更多的灵活性和功能。:在Spring Boot中,使用数组可以对集合类(如列表、集合、映射等)进行操作,如转换、过滤、排序等。以下是在Spring Boot项目中使用。:包装类提供了格式化数字和文本的方法,可以将数字格式化为特定的字符串表示形式,或将字符串解析为数字。
2023-08-15 22:43:43 304
原创 基于后端MybatisPlus分页的vue前端页面代码实现
头,以指示后端请求体的格式。对于JSON格式的请求体,通常使用Content-Type: application/json。至此,一个最简单的前后端对接的例子完成,后续根据自己的需求拓展,例如文件上传、登录校验功能或增加条件查询的功能等。在发送请求时,确保设置适当的请求头,特别是。基于Element-ui和axios。Controller层。
2023-08-13 23:31:59 302
原创 布隆过滤器的原理和应用场景
而以某宝为例,即使在用户不登录的情况下,它是需要有一些开放的API供未登录用户去看的,如“/product/{id}”,表示界面上对应的商品。既然id是指商品的标识符,那我不断输入不存在的商品id,而Redis又发现缓存中没有这样的id,就会转向数据库作请求,如此这般,便造成了。上面提到的缓存穿透,总结来讲是指在缓存中找不到所需的数据,导致每次请求都需要访问数据库或其他数据源,从而造成系统负担过大。: 当缓存中的数据更新时,需要相应地更新布隆过滤器中的信息,以确保布隆过滤器的准确性。位数组通常用于紧凑地。
2023-08-12 17:25:01 399
原创 Linux系列:从0到1用Docker部署springboot项目
可以看到,名称为“my-spring-app” 的容器已经运行,并将容器内部的 8082 端口映射到了主机的 8080 端口,ip的0.0.0.0是由于我在远程主机上部署的,外网访问还是需要通过该远程主机的ip,格式为“ip地址:端口号”即可。以上根据自己的项目、具体目录作出调整修改,上面的工作目录是容器的目录,我写的‘/app’这个目录即使不存在,docker内也会进行自动创建,因此可以按自己需求进行命名。其中名称是自定义,主机是对应的远程主机IP以及主机的用户名和密码(我这里用的是虚拟机作示例)
2023-08-11 12:21:58 573
原创 Java代码连接RabbitMQ服务器
可以发现名称为 "ex_queue_name"的队列中已没有未读消息。如果不知如何启动RabbitMQ服务或登录该管理界面,参考之前文章。Rabbitmq的安装与使用(Linux版)启动Consumer程序。
2023-07-31 12:39:30 781
原创 Rabbitmq的安装与使用(Linux版)
RabbitMQ的Web管理插件称为"RabbitMQ Management Plugin",它提供了一个基于Web的界面,用于管理和监控RabbitMQ服务器。一旦RabbitMQ成功启动,你可以通过访问RabbitMQ的管理界面来进行管理和监控。RabbitMQ的管理界面是一个基于Web的控制台,用于管理消息队列、交换器、队列、连接和用户等。如果你使用的是较新版本的RabbitMQ,那么该插件通常已经包含在安装的软件包中。,使用默认的用户名"guest"和密码"guest"登录。授予新用户适当的权限。
2023-07-27 18:08:08 4619
原创 SpringBoot+Vue+Element-ui实现简单登录注册功能
以我数据库中存储的:username:zhan password:123456 示例。此处注意添加Element-ui依赖、axios依赖。页面可以跳转,说明注册添加账户成功。
2023-07-03 17:48:37 8701
原创 关于构造实体类时的常用注解
在JavaWeb中,实体类是作为数据库表中字段的映射使用。下面列举构造实体类时常会用到的注解。然后供大家自行搜索它的作用,便不再一一讲解。
2023-06-21 10:15:07 1148
原创 查询接口的分页实现
(3)PersonMapper.xml(注意实体类路径那里根据自己的包名自行修改)(1)Person实体类。(2)Mapper层接口。(4)Controller层。(4)Service层。
2023-06-13 14:36:30 1330
原创 SpringBoot项目热部署设置
同时,热部署还可以减少生产环境下的系统停机时间,提高系统的可用性。3.(可选)排除资源文件和静态文件的热部署:在 application.properties 或 .yml 文件里添加以下配置。虽然 Spring Boot 热部署可以提高开发效率和体验,但也存在一些局限和潜在的风险。热部署依赖于特定的 IDE、插件和配置,如果不正确使用可能会导致不良影响,比卡、失败、莫名奇妙的 bug 等等。各种操作系统或开发环境版本的差异,以及多线程或其他并发处理方式,都可能对热部署的效果产生一定的影响和限制。
2023-06-09 15:40:56 1664
原创 SpringBoot作日志切面记录
对象中获取请求URL、请求方法和远程IP地址等信息,并使用。在上面的代码示例中,我们定义了一个。将方法参数序列化为JSON字符串。在切面中,我们使用了。注解来记录响应信息和请求处理时长。注解来记录请求信息,在。注解指定了切点为所有。
2023-06-02 15:28:08 1381
原创 SpringBoot项目中 Controller的代码示例
在 Spring Boot 中,Controller 是负责处理 HTTP 请求,返回 HTTP 响应的组件。路径发送 GET、POST、PUT 和 DELETE 请求时,Spring Boot 会自动将请求分发到对应的 Controller 方法中,在方法中执行相应的操作,并将结果封装成 HTTP 响应返回给客户端。的业务逻辑服务类,用于处理与用户相关的业务逻辑,例如数据库操作、数据验证等。需要注意的是,上述代码中使用了一个名为 UserService。路径,用于处理与用户相关的 CRUD 操作。
2023-05-16 00:53:10 717
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人