我遇到的问题是写了一个HTML程序,结果在网页上面不能显示,原因是图片路径放置错了。 修改前代码: 效果图: ie网页上右键点击“属性”’查看图片路径 发现地址错误,我存放图片的地址在C...:\Users\Administrator\Desktop\Python源码,所以将路径改为绝对路径(有的时候查看一些网页没能加载出来图片就是因为作者写的是绝对路径,然后我们不能访问作者的路径,如果是相对路径就可以显示了
在Spring Boot中规范的使用Swagger进行接口测试 文章目录 Swagger是什么? 为什么要用Swagger?...准备工作 创建项目 编写接口 验证 高级配置 文档注释 接口过滤 自定义响应 SwaggerUI的使用 遇到的问题: Swagger是什么?...Swagger UI: 它会将我们编写的OpenAPI规范呈现为交互式的API文档。后文我们将使用浏览器来查看并且操作我们的Rest API。...验证 启动一下项目,然后在浏览器中访问http://localhost:8080/swagger-ui.html 到此项目已经跑起来了,我们来解释一下,Swagger中的高级配置**(代码注释写的也很清楚...)** 高级配置 文档注释 通过在控制器类上添加@Api注解,可以给控制器增加描述和标签信息 @Api(tags = "用户相关接口",description = "提供用户相关的Rest API")
9、通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法,参数不同时,方法能重载吗? 10、Mybatis 是如何进行分页的?...服务器角色 14. Zookeeper 下 Server 工作状态 15. 数据同步 16. zookeeper 是如何保证事务的顺序一致性的? 17. 分布式集群中为什么会有 Master?...27、什么是双因素身份验证? 28、双因素身份验证的凭据类型有哪些? 29、什么是客户证书? 30、PACT 在微服务架构中的用途是什么? 31、什么是 OAuth? 32、康威定律是什么?...35、Container 在微服务中的用途是什么? 36、什么是微服务架构中的 DRY? 37、什么是消费者驱动的合同(CDC)? 38、Web,RESTful API 在微服务中的作用是什么?...165 20、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法? 21、Java 中你怎样唤醒一个阻塞的线程?
在本文的最后,我们将更好地做出关于 Java 中的 Spring 的决策。 3....Spring 项目 但是,Spring 更有价值的是一个强大的生态系统,这个生态系统多年来一直在发展,并且还在不断发展。 它们的结构是 Spring 项目 ,它们是在 Spring 框架之上开发的。...它有助于我们减少在本地,远程甚至托管平台中部署此类样板模式的工作量。 Security:提供一种健壮的机制,以高度可定制的方式为基于 Spring 的项目开发身份验证和授权。...在我们的其他文章中可以找到更多关于 使用 Spring Data JPA 的细节。 4.3....在我们的前一篇文章中详细讨论了如何使用 Spring REST 控制器。 4.4. 安全 所以现在我们已经定义了所有内容,但是如何保护创建或删除员工之类的操作呢?
为什么要搞这个?因为属于AI的时代已来。 你想,百万Token才几毛钱! AI平权的时代已经来临。...这个新生产力可以解决一些之前难以高效解决的问题。 为什么是SpringAI?...兼容性优化 浏览器兼容性对不同浏览器进行兼容性测试,确保在各种浏览器上都能正常显示和使用。 移动端适配优化页面布局,确保在移动端设备上也能有良好的用户体验。...以DeepSeek为例 2.1 打开DeepSeek的网站,点右上角的“API 开放平台 ↗” 在打开页面上,点左侧的“API keys”-->"创建API Key" 然后,把这个API key配置在项目的...n.a.s.SpringAiChatApplication : Started SpringAiChatApplication in 2.367 seconds (process running for 2.905) 在浏览器中打开下面这个地址就只可以了
引言最近在工作中遇到了 API 限流的需求,市面上虽然有一些现成的解决方案,但总觉得不够灵活,要么功能太重,要么配置复杂。于是萌生了一个想法:为什么不自己开发一个轻量级的限流器Starter呢?...为什么需要自定义Spring Boot Starter?在开始之前,我们先来聊聊Spring Boot Starter到底是什么,以及为什么要使用它。...能够扫描到我们Starter中定义的所有组件(包括切面、异常处理器等),这样它们才能被自动注册到Spring容器中。...重要提醒:这里的命名空间名称需要与你在项目pom.xml中配置的groupId保持一致,因为Sonatype会验证你是否有权在这个命名空间下发布构件。2....这个项目从构思到发布,经历了需求分析、架构设计、编码实现、测试验证、发布上线等多个阶段。
第二步:在web.xml中配置一个spring用于整合shiro的过滤器 在该页面认证通过,但是还没有授予权限,不能访问 --> /* = authc 这个功能我们通过spring配置文件applicationContext.xml进行配置的。在没有学习缓存之前,我们每次访问某个功能的时候,该授权方法都会被执行。...6.2、方法注解权限控制(重点) 第一步:在spring配置文件中开启shiro的注解支持 问题一:要强制使用cglib为Action创建代理对象,为什么呢? ?...第四步:在struts.xml中配置全局异常捕获,统一跳转到权限不足的页面 ? 使用方法注解权限控制的方式,我们的工作量主要在各种Action上的各种方法上添加注解,工作量还是挺大的!
19、Redis 如何设置密码及验证密码? 20、说说 Redis 哈希槽的概念? (文末附面试答案) 2.Dubbo 面试题 1、Dubbo是什么? 2、为什么要用Dubbo?...4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性?...6、什么是线程组,为什么在 Java 中不推荐使用? 7、为什么使用 Executor 框架? 8、在 Java 中 Executor 和 Executors 的区别?...在 Java Concurrency API 中有哪些原子类(atomic classes)?...165 20、为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法? 我相信2020年3、4月份仍然会有一波离职、求职潮。
1.1 为什么要使用 Swagger 当下很多公司都采取前后端分离的开发模式,前端和后端的工作由不同的工程师完成。...3.3 验证 至此,我们已经成功的在 Spring Boot 项目中集成了 Swagger2,启动项目后,我们可以通过在浏览器中访问 http://localhost:8080/ v2/api-docs...五、高级配置 5.1 文档相关描述配置 通过在控制器类上增加@Api 注解,可以给控制器增加描述和标签信息。...七、相关注解说明 在本章节中我将给出一些 Swagger 中常用的注解以及其常用的属性,并对其一一解释,方便您查看。 7.1 Controller 相关注解 @Api: 可设置对控制器的描述。...结束语 在本教程中,我们学会了如何使用 Swagger 2 来生成 Spring Boot REST API 的文档。
了解了这三个概念,我们就能理解为什么有CORS规范了:从站点 A 请求站点 B 的资源的时候,由于浏览器的同源策略的影响,这样的跨域请求将被禁止发送;为了让跨域请求能够正常发送,我们需要一套机制在不破坏同源策略的安全性的情况下...如果没有这个header,服务器将不会进行CORS验证。...Spring Security 中的配置 在引入了Spring Security之后,我们会发现前面的方法都不能正确的配置CORS,每次preflight request都会得到一个401的状态码,表示请求没有被授权...中查看,我们接下来看看 Spring 到底是如何实现CORS验证的。...方法,再加上这时的HandlerExecutionChain中还有CorsInterceptor,所以使用这个方式相对于其他方式,做了很多重复的工作。
**应聘者**:是的,我们在迁移过程中遇到了一些性能问题。比如,页面加载时间较长,后来通过引入Redis缓存和优化数据库查询解决了这个问题。 **面试官**:非常好,说明你不仅懂技术,还能解决问题。...你之前提到过Vue3,能说说你为什么选择Vue3而不是其他框架吗? **应聘者**:Vue3相比Vue2有显著的性能提升,尤其是在响应式系统和编译器优化方面。...你之前提到过MyBatis,能说说你为什么选择MyBatis而不是JPA吗? **应聘者**:MyBatis更适合需要精细控制SQL的场景,特别是在复杂的查询中,它可以提供更高的灵活性。...你有没有使用过Spring Security? **应聘者**:是的,我在项目中使用过Spring Security来保护REST API。我们主要使用JWT进行身份验证。...客户端在后续请求中携带这个JWT,服务器验证其有效性后决定是否允许访问资源。 **面试官**:说得很好。那你能写一段JWT的生成和验证代码吗? **应聘者**:当然可以。
既然JWT和OAuth2没有可比性,为什么还要把这两个放在一起说呢?实际中确实会有很多人拿JWT和OAuth2作比较。标题里把这两个放在一起,确实有误导的意思。...很多情况下,在讨论OAuth2的实现时,会把JSON Web Token作为一种认证机制使用。这也是为什么他们会经常一起出现。...基本思路就是用户提供用户名和密码给认证服务器,服务器验证用户提交信息信息的合法性;如果验证成功,会产生并返回一个Token(令牌),用户可以使用这个token访问服务器上受保护的资源。...相对简单的概念理解 限制 Token有长度限制 Token不能撤销 需要token有失效时间限制(exp) OAuth2使用场景 在作者看来两种比较有必要使用OAuth2的场景: 外包认证服务器 上边已经讨论过...,如果不介意API的使用依赖于外部的第三方认证提供者,你可以简单地把认证工作留给认证服务商去做。
为什么它重要吗?当你在构建网络服务时,这很重要。 简而言之,Spring的服务集成的基本原理已经被刷新,以完全接受响应式编程。那么,什么是“响应式编程”呢?...当一个线程等待时,它不能被重新用于其他任何东西。线程是昂贵的! 想想传统服务器是如何工作的,不管是用Java实现,还是通过相同的方法使用线程的其它平台 。...从代码库的变化角度来看,这也意味着很多不稳定的地方,对于Spring Cloud团队来说,这就是为什么这个版本如此重要的原因。...Spring Cloud Gateway 是我们崭新的响应式API网关。它建立在Spring的响应式特性之上。毕竟,它的工作是将客户的请求传递给下游服务。...(NB:这个配置可以常驻在Spring Cloud Config Serve的(可刷新的)配置中,也可以在任何资源中创建一个Flux。) 这个例子限制每个经过身份验证的用户每秒100个请求。
当时的想法也比较简单,看下能不能给自己在后端找到一种新的编程模式,因为这几年我的工作重心其实是在移动端及前端上,再返回后端对我来说,是仍然使用Java+Spring的传统编程风格,还是重新选择实现一套全新的模式...我在1月写过一篇文章为什么我会选择Vertx与Kotlin讲述了自己当时选择它们的心路历程,末尾我会附上文章链接 相知,在实际项目中的应用 在2月初时就完成myddd-vertx的雏形,于是在年初给自己定的...有一种耳听为虚,眼见为实的感觉 题外话: 关于性能测试这个事,我也有一些感触,因为感觉这个事首先在开发人员中不普遍,甚至我认定大多数公司可能从上到下都不太重视这个事情。...在对数据库写入做性能测试中,我使用了自己的myddd-backend框架(基于Java及Spring Boot的领域驱动框架)写了一个一模一样的数据写入业务,表结构,API请求,响应都一模一样。...因为:没有对比,就没有伤害 背景说明: 1.两个服务都部署在相同的服务器上,配置一模一样2.数据库使用Docker安装,未进行任何配置上的优化,这个对两种模式都是一样的3.
目录 ✍前言 ✍正文 为什么要有数据校验?...作为一个Java开发者,在Spring大行其道的今天,很多小伙伴了解数据校验来自于Spring MVC场景,甚至止步于此。...为什么要有数据校验? 数据校验是非常常见的工作,在日常的开发中贯穿于代码的各个层次,从上层的View层到后端业务处理层,甚至底层的数据层。...0: -1 name 不能为null: null 校验方法/校验构造器 请移步下文详解。...wow,数据校验背后还有这么广阔的天地 数据校验是日常工组中接触非常非常频繁的一块知识点,我认为掌握它并且熟练运用于实际工作中,能起到事半功倍的效果,让代码更加的优雅,甚至还能实现别人加班你加薪呢。
自2018年7月24日起,谷歌Chrome浏览器将HTTP站点标记为“不安全”。虽然这在web社区中引起了相当多的争议,但它仍然存在。特洛伊亨特,一位著名的安全研究员,创造了一个为什么没有HTTPS?...Amazon证书管理器与Let 's加密完全一样,只是默认情况下它内置在所有AWS产品/服务中。它允许您提供100%免费的SSL证书,并处理自动更新等,几乎不需要任何工作/配置。...您可以使用像Keycloak这样的开源系统来设置自己的OIDC服务器。如果您不希望在生产中维护自己的服务器,可以使用Okta的开发人员api。...你打算怎么处理这个新秘密?也许在本地存储?也许在另一个地方,某个你认为攻击者很难找到它的地方。这并不能解决问题;它只是推迟了它。如果没有适当的程序,黑客想要破解你的秘密只会稍微困难一点。...构建一个简单的CRUD应用程序 使用Spring Security和Thymeleaf将基于角色的访问控制添加到您的应用程序中 安全性和API之旅 准备在Heroku上生产一个Spring Boot应用程序
**面试官**:非常好,看来你对这个知识点掌握得不错。那你知道Java中的`String`对象为什么是不可变的吗? **应聘者**:主要是为了安全性和性能优化。...## 第二轮:Web框架与REST API设计 **面试官**:接下来我们看看你在Web框架方面的能力。你之前提到过Spring Boot,能说说你是如何设计RESTful API的吗?...**应聘者**:比如在登录成功后,服务器生成一个JWT并返回给客户端,客户端在后续请求中携带这个令牌,服务器通过解析令牌来验证用户身份。...## 第八轮:综合问题与职业规划 **面试官**:最后一个问题,你在工作中遇到的最大挑战是什么?...**应聘者**:最大的挑战可能是在一次高并发的电商促销活动中,我们需要在短时间内完成系统的扩容和优化,确保系统稳定运行。 **面试官**:那你是如何应对这个挑战的?
修饰类的话,表示这个类不能被继承;修饰方法的话,表示这个方法不能被子类重写;修饰变量的话,就是常量,赋值之后不能改变。 **李哥**:很好,回答得非常清晰。那你知道Java中的垃圾回收机制吗?...## 第二轮:框架与设计 **李哥**:你在工作中使用过哪些Web框架? **张明**:主要是Spring Boot,还有Vue3和React。...那你在项目中是如何进行CI/CD的? **张明**:我们使用GitLab CI来进行自动化测试和部署,确保每次提交都能快速验证并部署到测试环境。...**张明**:我们使用过Spring Security,也涉及JWT和OAuth2的授权机制。 **李哥**:那你能说说JWT的工作原理吗?...**张明**:JWT是一种无状态的认证机制,服务器生成一个Token返回给客户端,客户端在后续请求中携带该Token,服务器验证Token的有效性。