自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

长风 爱 跑步去

长风博客

  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 异常参数处理:如何处理前端传递的非法参数,确保系统安全稳定

还有在参数上直接进行校验,避免为空,如果传入的 id 参数为 null,在方法执行前就会触发参数校验,抛出 javax.validation.ConstraintViolationException 异常。以上是针对不同异常情况的解决示例,我们可以根据具体业务需求和参数校验的要求,在后端进行相应的处理逻辑和错误信息返回。解决方案:在后端进行参数关联性验证,确保参数之间的逻辑关系正确,并返回相应的错误信息。异常情况:前端传递的参数格式与后端要求的格式不匹配,如字符串传递给了数字类型的参数。

2023-07-11 16:43:31 2018

原创 docker中运行RabbitMq的启用插件指南

我们使用 Docker 来运行 RabbitMQ,有时需要启用一些插件,这个与正常安装的启用插件的步骤会有所不同。现在,插件应该已经启用了。可以通过访问 RabbitMQ 管理界面或使用 RabbitMQ 客户端来验证插件是否生效。插件文件复制到 Docker 内的 RabbitMQ 插件目录。如下所示,Type中存在x-delayed-message,就是示例安装的延迟插件已经生效。是正在运行 RabbitMQ 容器的名称。是正在运行 RabbitMQ 容器的名称。

2023-07-06 20:47:23 981

原创 消息传输不丢失:掌握消息中间件的持久化机制

当涉及到消息的持久化和重放时,我们可以使用Spring Boot与RabbitMQ来实现这个场景。RabbitMQ支持消息的持久化,以确保在发送和接收过程中消息不会丢失。同时,我们可以使用消息的重放机制,以便在需要时重新发送消息。在这个示例中,消息是持久化的,这意味着即使RabbitMQ服务器在发送和接收过程中发生故障,消息也会被保存,并在服务器恢复后重新发送。在这个示例中,我们假设RabbitMQ运行在本地,端口为5672,用户名和密码为。接下来,我们创建一个消息发送者和接收者。在上述代码中,我们使用。

2023-06-30 11:23:42 288

原创 博客系统课程设计报告

根据需求和设计,对博客系统进行编码实现,包括实现各个功能模块、界面设计和数据库交互等。博客系统的界面设计应符合用户友好的原则,包括登录界面、文章列表界面、文章详情界面等。本章节旨在分析和定义博客系统的功能需求和非功能需求,明确系统的主要功能和用户需求。对整个博客系统进行系统测试,模拟实际用户使用场景,测试系统的完整性和稳定性。总结博客系统的设计过程、所采用的技术和方法,并评估设计的优点和不足之处。展望博客系统的未来发展方向,提出对系统功能和性能的改进和扩展建议。

2023-06-28 14:57:47 213

原创 高效处理消息:使用Spring Boot实现消息重试机制

当涉及到消息发送和接收的可靠性,Spring Boot提供了一些机制来确保消息的可靠传递。下面是一个示例代码,演示如何在Spring Boot中实现可靠的消息发送和接收。方法中,我们模拟了业务处理的耗时,并通过手动抛出异常的方式触发消息重试机制。如果消息处理失败,将会抛出运行时异常,触发Spring Boot的重试机制。接下来,我们创建队列、一个消息发送者(Producer)和一个消息接收者(Consumer)的示例代码。对象,它是Spring Boot提供的用于发送消息的工具类。当接收到消息时,会触发。

2023-06-25 21:59:08 1451

原创 实战指南:使用Spring Boot实现消息的发送和接收

当涉及到消息发送和接收的场景时,可以使用Spring Boot和消息中间件RabbitMQ来实现。下面是一个简单的示例代码,展示了如何在Spring Boot应用程序中创建消息发送者和接收者,并发送和接收一条消息。这是一个简单的示例,用于演示如何在Spring Boot应用程序中发送和接收消息。以上代码示例中使用了RabbitMQ作为消息中间件,你可以根据自己的需求选择其他消息中间件,并相应地更改配置。选择一个消息中间件作为你的消息代理,并确保已经安装和配置好该消息中间件。的类,用于发送消息。

2023-06-24 15:01:19 1397

原创 Spring Boot实战:拦截器和监听器的应用指南

当使用Spring Boot时,我们可以通过拦截器(Interceptor)和监听器(Listener)来实现对请求和响应的处理。创建一个新的Spring Boot项目,可以使用Spring Initializr(https://start.spring.io/)进行初始化。现在,你可以运行Spring Boot应用程序并访问一些URL,观察控制台输出的日志信息。首先,我们创建一个简单的Spring Boot项目,并添加所需的依赖。在Spring Boot应用程序的配置类中,注册拦截器,使其生效。

2023-06-19 23:11:32 2444

原创 模块化开发:掌握Spring Boot子模块的使用技巧

您可以使用Spring Initializr(https://start.spring.io/)进行项目初始化,选择适当的项目元数据和依赖项,然后下载并导入项目到您的开发环境中。在主工程的根目录下,创建一个新的子模块。子模块可以是一个独立的模块,它可以有自己的源代码、配置文件和依赖项。您可以在子模块中创建控制器、服务、实体类等,并定义相应的业务逻辑。在主工程中,您可以启动Spring Boot应用程序并访问子模块的端点来测试它。这样,就成功地将子模块添加到了主工程中,并可以使用子模块的功能。

2023-06-18 10:51:22 1383

原创 职场进阶秘籍:大学生必学的职场道理

灵活应对变化,快速适应新的工作要求和团队文化,展现出自己的适应性和应变能力。主动参加行业活动,扩大人脉圈,与同行交流,互相学习和分享经验,为自己创造更多的机会。制定明确的目标和计划,合理安排时间,优先处理重要任务,同时保持工作与生活的平衡。有效地表达自己的观点,倾听他人的意见,并积极地与团队成员合作,共同实现目标。:在职场中,积极的态度是成功的关键。保持求知欲,不断学习新知识和技能,适应变化的工作环境,提升自己的竞争力和职业发展。不断寻找改进和创新的机会,提出新的想法和解决方案,不断追求进步和卓越。

2023-06-17 23:45:01 44

原创 SpringBoot整合Servlet:实战示例解析

这是一个简单的示例,演示了如何在Spring Boot中整合Servlet,并从前端页面获取参数并进行处理。但要确保项目中包含所需的Servlet API依赖项(如。的表单(使用POST请求)来测试Servlet。根据请求的类型(GET或POST),Servlet会获取。当在开发的过程中遇到需要Spring Boot整合Servlet时,可以通过如下步骤来实现。在项目的源代码目录中创建一个新的Servlet类,例如。将Servlet注册到应用程序上下文中。参数的值,并将其包含在响应中返回。

2023-06-15 19:01:59 862

原创 深入剖析@RequestBody、@PathVariable和@RequestParam注解

通过这样的实验操作,同学们将能够通过实际的代码示例和模拟数据来理解和掌握 Spring Boot 中整合 Spring MVC 的知识点,包括。在后端的 Controller 方法中,使用适当的注解来接收请求的数据,并进行相应的处理。在后端方法中,根据需要进行数据的保存、查询、更新或删除等操作,并返回适当的响应结果。当我们在开发服务端方法时,遇到给方法传参的有几个不同的注解,今天我们来介绍。注解用于从请求体中获取数据,并将其转换为指定的对象类型。这几个注解的定义和使用场景示例,以便于同学们理解和掌握。

2023-06-14 09:05:12 1159

原创 简易的命令行入门教程

【代码】简易的命令行入门教程。

2023-06-13 21:18:47 34

原创 springboot的数据访问和数据视图

下面我将分别给出使用这两种方式整合数据访问的详细步骤和示例,同时结合 Thymeleaf 实现数据展现。您可以使用 Spring Initializr(https://start.spring.io/)创建一个新的项目,选择所需的依赖项和构建工具(如 Maven 或 Gradle)。同学们可以参考这些步骤和示例来理解并掌握 Spring Boot 数据访问的基本操作和 Thymeleaf 的语法,要掌握,重中之重在于多动手练习。在此示例中,我们将使用 H2 数据库,并创建一个。

2023-06-13 06:11:35 1228

原创 从零开始:安装H2数据库的步骤解析

您可以从Oracle官方网站(https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)下载适合您系统的JDK版本,并按照安装指南进行安装。在开发或编写示例时,有时需要用到数据库,如果本机上刚好没有安装,类似有些同学是临时借用的电脑或学校的电脑刚好没有安装时,我们可以使用H2数据库来快速代替,即方便又灵活。访问H2数据库的官方网站(https://www.h2database.com/),并下载最新的H2数据库版本。

2023-06-12 19:58:04 1818

原创 解决 IntelliJ IDEA 低版本与 Spring Boot 2.2+ 的测试兼容性问题

如果不想升级IntelliJ IDEA 版本,也不想调整pom文件,则只要降低 Spring Boot 版本:如将 Spring Boot 版本退回到 2.2 以下,例如 2.1.3.RELEASE,这样默认就会使用 JUnit 4 进行测试,而不是 JUnit 5。解决 IntelliJ IDEA 低版本与 Spring Boot 2.2+ 使用 JUnit 5 的兼容性问题的三种思路:升级 IntelliJ IDEA 版本、使用 JUnit 4 进行单元测试、降低 Spring Boot 版本。

2023-06-11 16:03:28 395

原创 使用Spring Boot、Spring Security和Thymeleaf的整合示例

使用Spring Initializr创建一个新的Spring Boot项目,选择所需的依赖项(如Web、Thymeleaf和Security)。创建管理员页面和普通用户页面的Thymeleaf模板,包括特定角色用户可见的内容。方法配置HTTP安全性规则,如允许公开访问的URL、需要特定角色访问的URL等。创建登录页面的Thymeleaf模板,包括表单输入和登录按钮。创建主页的Thymeleaf模板,展示用户登录后的主要内容。在用户认证配置中配置角色和权限信息,以及相关的访问规则。实现用户角色和权限管理。

2023-06-09 16:37:08 909 1

原创 CSRF(跨站请求伪造)攻击及防御策略

在HTTP头中自定义属性并验证:在每个请求中添加自定义的HTTP头属性,例如"X-Requested-With"或"X-CSRF-Token",后端服务器在接收到请求时验证该属性的值。在请求地址中添加Token并验证:在每个页面中嵌入一个随机生成的Token,并将其添加到请求地址的参数中,后端服务器在接收到请求时验证Token的有效性。CSRF防护功能关闭的配置,但直接关闭CSRF防御的方式简单粗暴,不太推荐使用,如果强行关闭后网站可能会面临CSRF攻击的危险,适合在开发过程中测试使用。

2023-06-08 20:16:19 791

原创 Java编程精选:掌握Spring Boot、MySQL和MyBatis的增删改查实战

现在,可以使用Apifox或其他API测试工具来测试这些接口。文件中添加了Spring Boot和MyBatis的依赖。创建实体类(Entity)。可以获取所有用户列表,发送POST请求到。可以更新用户信息,发送DELETE请求到。创建Mapper接口和XML映射文件。创建控制层(Controller)。的实体类,与数据库表的字段一一对应。中定义接口方法,并处理HTTP请求。可以创建新用户,发送PUT请求到。中定义对数据库操作的业务逻辑。中编写SQL语句的映射配置。中定义数据库操作的方法。

2023-06-07 23:17:04 527

原创 测试用例文档模板

4.1.2 用户名:invaliduser,密码:InvalidPassword。5.1.2 验证使用错误的密码登录时,登录失败并显示错误提示信息。4.1.1 用户名:testuser,密码:Test@123。7.1.2 使用错误的密码登录时,登录失败并显示错误提示信息。3.1.3 前置条件:用户已注册,并拥有有效的用户名和密码。5.1.1 验证成功登录后,用户可以访问受限资源。3.1.5 预期结果:用户成功登录系统。3.1.6 实际结果:用户成功登录系统。3.1.2 用例名称:登录成功验证。

2023-06-07 10:12:23 489

原创 概要设计文档模板

10.2 非功能需求跟踪矩阵。1.3 定义、缩略语和缩写。10.1 功能需求跟踪矩阵。3.1.2 用户身份验证。3.2 文章管理模块设计。3.2.1 文章发布流程。3.2.2 文章修改流程。3.2.3 文章删除流程。3.3 评论管理模块设计。3.3.1 评论添加流程。3.3.2 评论删除流程。3.3.3 评论审核流程。5.2 文章管理界面设计。5.3 评论管理界面设计。11.2 风险和问题列表。3.1 登录模块设计。3.1.1 登录流程。3.1.3 错误处理。4.1 数据库表设计。5.1 登录界面设计。

2023-06-07 09:56:45 935

原创 详细设计文档

3.2 文章管理模块详细设计。3.3 评论管理模块详细设计。10.2 非功能需求跟踪矩阵。1.3 定义、缩略语和缩写。10.1 功能需求跟踪矩阵。3.1 登录模块详细设计。3.1.3 数据库表设计。3.2.3 数据库表设计。3.3.3 数据库表设计。5.2 文章管理界面设计。5.3 评论管理界面设计。11.2 风险和问题列表。2.3 数据流程设计。3.1.2 方法设计。3.1.4 界面设计。3.2.2 方法设计。3.2.4 界面设计。3.3.2 方法设计。3.3.4 界面设计。4.1 数据库表设计。

2023-06-07 09:55:53 1474

原创 需求分析文档模板

1.3 定义、缩略语和缩写。8.2 非功能需求跟踪矩阵。3.2.2 文章管理功能。3.2.3 评论管理功能。8.1 功能需求跟踪矩阵。9.2 风险和问题列表。3.2.1 登录功能。4.4 可维护性需求。4.6 用户界面需求。6.2 文章管理界面。6.3 评论管理界面。7.1 数据库表设计。

2023-06-07 09:50:58 1197

原创 如何在控制台显示MyBatis的SQL语句

同学们在开发过程中,经常需要查看程序与数据库之间的SQL语句,以便于调试和分析。本文将介绍如何在控制台中显示MyBatis的SQL语句,帮助大家更好地进行开发和调试。配置完成后,当执行MyBatis的查询操作时,相关的SQL语句将会显示在控制台上。这样,就可以方便地查看和分析程序与数据库之间的交互,快速排查问题和优化性能。根据你使用的数据库类型,选择对应的配置项。上述配置将启用MyBatis的SQL日志输出,并将SQL语句以格式化的方式打印到控制台。如果使用其他的日志框架,可以相应地引入对应的日志依赖。

2023-06-06 17:47:04 2284

原创 Spring Boot中将 @RestController 误用于视图跳转的问题及解决方案

在Spring Boot开发中,我们使用@Controller注解来定义控制器类,并通过该注解的方法返回视图进行页面跳转。本文将解释这个问题的原因,并提供解决方案。当我们错误地将@Controller注解的类写成@RestController时,会导致Spring Boot将其识别为RESTful API的处理器,而不是视图跳转的控制器。需要注意的是,如果在使用@Controller注解的方法中需要返回JSON数据而非视图,可以在方法上添加@ResponseBody注解,以将返回值直接返回给客户端。

2023-06-06 08:28:55 474

原创 java 读取文件

在java Project 中对文件的读取:假设项目的目录结构如下所示:pcqseaih      --src         --cn.ccb.pcis.bo         --fileName.xls在java测试或运行时,如果要读取该文件,则可以使用以下方法来读取:             String path = "src/fileName.xls"; 

2009-04-24 09:45:00 475

转载 修身心得

1、心理素质良好的10大标准 ——自知  ——宽容——自尊  ——关爱——自信  ——诚信——自强  ——责任——自制  ——双赢2、生涯规划的8大步骤——认知自我——明确人生使命——建立人生目标体系——找寻导师与标杆——明确、建立、整合观念和态度——明确、建立、整合资源——制定切实可行的计划——不断追求卓越 人生的道路虽然漫长,但是关键的却只有几步3、影响人生的8大力量——痛苦与快乐的力

2008-07-18 16:02:00 521

转载 英语短文二

第二十三天:MONEY 钱 Everybody wishes (hopes) to get money so that he can maintain his livelihood. In other words, money is so useful that it is impossible for mankind to live without it. For this reason,

2008-07-05 11:37:00 1114

转载 英语短文

转贴于: http://hi.baidu.com/hdwangqinghua/blog/item/ca8cfca2fdaad7a9cbefd0fb.html第一天:THE NEWSPAPER 报 纸 Nowadays the newspaper possesses considerable value Everybody should read it. It supplies us wit

2008-07-05 11:33:00 1302

转载 身体器官工作表一览

任何试图更改生物钟的行为,都将给身体留下莫名其妙的疾病,20、30年之后再后悔,已经来不及了。 一、晚上9-11点为免疫系统(淋巴)排毒时间,此段时间应安静或听音乐 。 二、晚间11-凌晨1点,肝的排毒,需在熟睡中进行。 三、凌晨1-3点,胆的排毒,亦同。 四、凌晨3-5点,肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈,因排毒动作已走到肺;不应用止咳药,以免抑制废积物的排除。

2008-01-08 12:57:00 538

转载 JSF自定义组件

JSF让您可以自定义组件,每个组件都是可替换的,这使得组件在搭配时更有弹性,但相对的却使开发组件的过程复杂的多,这里对自定义JSF组件只是个入门砖,更多有关自定义组件的细节可得要专书来说明。 1. JSF生命周期与组件概述要开发JSF组件,您需要更深入了解JSF的一些处理细节,包括了JSF生命周期以及JSF框架。     1.1 JSF生命周期JSF的每个组件基本上都是可替换的,像是转换器(Con

2007-09-13 17:08:00 1102

原创 jsf 创建自定义组件

写个自定义按纽的组件,给大家可以参考一下: 第一步:package cn.jsf.fgliuimport javax.faces.component.UIComponent;import javax.faces.webapp.UIComponentTag;public class NewButtonTag extends UIComponentTag {        private String

2007-09-12 17:56:00 756

原创 文件下载

  string   filename   =   "test.txt";     response.setheader("content-disposition","attachment;   filename="   +   filename);     编程.io.fileinputstream   fileinputstream   =   new   编程.io.fileinputstr

2007-09-11 10:46:00 531

转载 list 排序

OrganComparator.javapublic class OrganComparator implements Comparator {  public int compare(Object o1, Object o2) {  Map m = new HashMap();  m.put("ORGANH001","4");  m.put("ORGANH002","2");  m.put(

2007-09-04 10:21:00 453

原创 Ear、Jar、War文件之间有何不同?

Ear、Jar、War文件之间有何不同?它们分别使用在哪种环境下?   在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:  Jar文件(扩展名为. Jar)包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等  War文件(扩展名为.War)包含全部Web应用程序。在这种情形下,一个We

2007-08-13 11:39:00 620

转载 JAVA 中URL链接中文参数乱码的处理方法

方法一:http://xxx.do?ptname=我是中国人String strPtname = request.getParameter("ptname");strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");   方法二:jsp?url=">点击这里//request.setCharacterEnc

2007-08-13 11:23:00 3624

转载 性能测试概念和术语解释

响应时间(response time)响应时间,是指系统对用户操作的反馈时间。我们可以举一个163邮箱登录的例子:我们如何来测试邮箱的登录响应时间呢?我们首先进入mail.163.com网页,输入合法的用户名和密码,点击“登录”,直到登录后的邮箱界面完全显示出来为止。那么响应时间从什么时候开始计算呢?是我们输入用户名的时候,还是点击“登录”的时候?显然,我们应该从按下“登录”按钮的那一瞬间开始

2007-08-12 18:43:00 842

转载 Java中关于弹出对话框的问题

对于C/S模式下的对话框弹出问题就不说了,这里只讨论B/S模式下的实现.  开发环境是:struts+hiberinate+spring  遇到的问题是在JSP页面新增成功后弹出新增成功的提示对话框.  刚开始觉得在JAVA中很不容易实现,因为以前写C#时习惯了一种写法:Response.Write("alert (say what you want to say);");但在JAVA中我却不

2007-08-08 10:47:00 2151

转载 关于Tomcat中JNDI设定的方式:

From Gossip@caterpillarJSP/Servlet: 使用 DBCP如果是自行取得資料庫連線,每次都要載入Connection、使用者驗證、建立連結等動作,Connection開開關關的會相當沒有效率,在單機使用者上也許感覺不太出來,但是對於Web應用程式,需要服務的人數多的情況下,效能的問題就會被突顯出來。您可以預設建立好一定數量的Connection並儲存在一個池(P

2006-12-10 14:20:00 1102

原创 动态增加表格及读取动态表格中的值

最近在找一些关于动态表格方面的资料,经过小小组合后可以动态的增加行,及读取表格中的值,在脚本相对不好调试,所以就将我调好的代码放上来,可以直接运行看结果的动态添加删除表格var cGetRow=-99999;function AddRow(){//添加一行var i =tab1.rows.length;var Nam="name"+i;var Cod="code"+i;var newT

2006-11-28 20:01:00 1422 2

原创 将项目打包成War文件及在TomCat布署

今天帮一个新同事打包一个样例工程,想到了我的Blog,就上来写写了:)要将一个工程打包成War的格式有好几种方法,在这我就介绍一种较简单的方法,用Jar 命令,前提条件是你的机子中要安装JDK具体步骤如下:1:在系统变量中加入变量JAVA_HOME,值为JDK的安装路径。2:在系统变量的classpath,加入值:%JAVA_HOME%lib;3:在系统变量的path,加入

2006-11-14 16:36:00 2610 1

Android中文文档

Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android平台上使用JaVa语言进行Android应用开发必须的工具和API接口。

2010-06-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除