今天一位客户说网站错误页面返回的状态码是302而不是404,问ytkah要如何处理。这个应该是设置没有正确的原因。我们一步步来排查一下。...1、首先打开iis管理器,左侧选择具体的站点,在右侧窗口中点击404错误页,如下图所示 ? 2、进入详细的错误页配置,选中404状态代码,右侧点编辑 ? ...3、在弹出的编辑自定义错误页中,相应操作选将静态文件中的内容插入错误相应中,文件路径填404.html(事先把编辑好的404.html放在网站根目录),点确定 ? ...4、再点击右侧的 编辑功能设置,选自定义错误页,确定 ? ...5、重启iis 6、用第三方工具检测错误页的http状态码,如果显示的404状态码那就是正确的,如果显示其他那就要按上面的步骤重新配置一下 ?
本文松哥就来和大家聊一聊这里要如何自定义。...请看松哥的表演 最近在做 Spring Cloud 项目,松哥和大家分享一点微服务架构中的安全管理思路 Spring Boot+OAuth2,一个注解搞定单点登录!...虽然默认情况下,无法添加,但是只要大家看了上面这段源码,就会明白,如果我们想要自定义返回的 access_token 信息,就要想办法自已去定义 DefaultOAuth2AccessToken 信息。...在实际开发中,大部分情况下,我们的 OAuth2 都是搭配 JWT 一起来使用的,所以,这里我就主要讲一下在生成的 JWT 中如何定制返回信息。...4.扩展 好了,前面虽然跟大家分享的是 OAuth2+JWT 如何生成自定义的 access_token 信息,但是相信大家看完之后,应该也会针对不透明令牌生成自定义信息。
当我们从浏览器访问不存在的Spring Boot的RESTful API的时候,往往会返回Spring Boot内置的404错误界面,但是作为前后端分离的应用,相同的API也许会在其他终端访问,比如手机...以上的例子都是访问资源不存在的案例,访问的处理逻辑并未进入对应的Controller就被Spring Boot打回去了,如果是服务代码抛出了异常,Spring Boot是如何处理的呢?...二、自定义服务异常处理 在实际的开发过程中,如果出现404或者500的错误的时候,返回给浏览器是Spring Boot默认的处理界面,这并不友好,我们可以实现自定义页面来给出更好的温馨提示。...404.html和500.html,在访问出现404错误的时候,就会跳转到我们自己定义的HTML中,而不是Spring Boot默认的界面。...有时候我们前端不需要这么多的信息,只需要部分信息,这个时候就需要自定义异常处理了,而不是采用Spring Boot的默认处理方式了,在这里,我们可以写一个异常处理类,专门用来处理自定义异常。
本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?...怎么自定义消息转换器呢?怎么自定义spring mvc的配置呢?这些我们在公司都需要用的。这些怎么解决呢?在接下来的小节详细讲解这些。...本节主要内容: 1:通过添加拦截器学习自定义spring mvc的配置 2:HandlerInterceptor对象的三个方法详解 一:通过添加拦截器学习自定义spring mvc的配置 1.1:需求说明...有时候,我们不需要自己配置spring mvc而不是采用springt boot 默认的批准。...本节主要讲解自定义的拦截器,来处理一些请求。 在下一节中,我们将讲解跳转到jsp页面返回404错误码怎么解决以及登录后继续跳转的当前浏览页面的功能。欢迎大家继续学习。
接着前面几篇web处理请求的博文,本文将说明,当出现异常的场景下,如404请求url不存在,,403无权,500服务器异常时,我们可以如何处理 原文友链: SpringBoot系列教程web篇之404...异常页面配置 在SpringBoot项目中,本身提供了一个默认的异常处理页面,当我们希望使用自定义的404,500等页面时,可以如何处理呢? 1....默认异常页面配置 在默认的情况下,要配置异常页面非常简单,在资源路径下面,新建 error 目录,在下面添加400.html, 500html页面即可 ?...小结 本篇内容比较简单,归纳为两句话如下 将自定义的异常页面根据http状态码命名,放在/error目录下 在异常状况下,根据返回的http状态码找到对应的异常页面返回 II. 其他 0....系列教程 web 篇之返回文本、网页、图片的操作姿势 190905-SpringBoot 系列教程 web 篇之中文乱码问题解决 190831-SpringBoot 系列教程 web 篇之如何自定义参数解析器
Response的输出流中写入数据返回 response.getWriter().append("自定义异常处理!!!...\n").append(msg).flush();; 如果项目中有自定义的错误页面,可以通过返回ModelAndView来确定最终返回的错误页面 上面一个代码并不会直接生效,需要注册,可以在WebMvcConfigurer...500异常会进入我们的自定义异常处理类, 而404依然走的是默认的错误页面,所以如果我们需要捕获404异常,依然需要在配置文件中添加 # 出现错误时, 直接抛出异常 spring.mvc.throw-exception-if-no-handler-found...=true # 设置静态资源映射访问路径 spring.mvc.static-path-pattern=/statics/** # spring.resources.add-mappings=false...,不考虑自定义实现) 我们的@Controller中通过@RequestMapping定义的REST服务,返回的是静态资源 那么js,css,图片这些文件呢,在我们的web应用中并不会定义一个REST服务
上面讲的是做页面开发的时候遇到的问题,还有一种情况就是用来开发Rest接口,当错误的时候我们希望返回给用户的是我们接口的标准格式,不是返回一段html代码。...Boot中也非常简单,直接编写对应的错误页面,进行覆盖即可: /** * 自定义错误页面覆盖spring boot中的错误页面 * @author yinjihuan * */ @Controller...错误页面,最友好的方式就是返回固定的JSON格式,里面有个code为404。...,返回给调用方 最后关键的一步是在spring boot的配置文件中加上如下配置: #出现错误时, 直接抛出异常 spring.mvc.throw-exception-if-no-handler-found...=true #不要为我们工程中的资源文件建立映射 spring.resources.add-mappings=false 然后我们调用一个不存在的接口时,返回的错误信息就是我们自定义的那种格式了 {
默认异常处理 通过浏览器请求一个不存在的页面或服务端处理发生异常时,Spring Boot会返回类似如下的错误提示页面: ?...当使用Postman等调试工具发送请求请求一个不存在的url或服务端处理发生异常时,Spring Boot会返回类似如下的Json格式字符串信息: { "timestamp": "2018-03...等调试工具发送请求时,默认情况下请求头中没有Accept信息,所以请求进入error方法处理,Spring Boot会返回一个Json格式的错误信息字符串,具体代码如下图所示。...查看BasicErrorController的类结构,发现它继承自AbstractErrorController,而AbstractErrorController实现了ErrorController接口...当请求一个不存在资源的url时状态码为404,此时显示404.html页面;当服务端处理发生异常时状态码为500,此时显示500.html页面。 END 如果觉得有收获,记得关注、点赞、转发。
本文简单说明如何自定义 Web MVC 配置。...Spring Boot 中默认的静态资源配置,是把类路径下的/static、/public、/resources 和 /METAINF/resources 目录或者 ServletContext 的根目录中的静态文件直接映射为...") public String error_404() { return "/error/404"; } @RequestMapping(value = "/...fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); //2.添加fastJson的配置信息,比如:是否要格式化返回的...Spring MVC 接受 HTTP 请求会把参数自动绑定映射到 Controller 请求参数上。Spring 中没有默认配置将字符串转换为日期类型。
message": "No handler found for GET /err404", "path": "/err404" } 使用浏览器请求时返回的错误信息界面。...增加配置 # 出现错误时, 直接抛出异常(便于异常统一处理,否则捕获不到404) spring.mvc.throw-exception-if-no-handler-found=true # 不要为工程中的资源文件建立映射...而 BusinessException 则是在业务中具体使用的自定义异常类,起到了对不同的异常信息进行分类的作用。分享资料:Spring Boot 学习笔记。... for GET /err404", "timestamp": "2018-12-18 11:16:11" } } 使用浏览器请求时返回的错误信息界面。...工作 3 年的同事不知道如何回滚代码! 23 种设计模式实战(很全) Spring Boot 保护敏感配置的 4 种方法! 面了个 5 年 Java,两个线程数据交换都不会!
统一结果返回与统一异常 3. controller代码测试与结果 4. 404异常特殊处理。 5....这里我们就定义好了统一的结果返回,其中里面的静态方法是用来当程序异常的时候转换成异常返回规定的格式。 然后我们需要自定义异常处理类。...可以看到这个自定义的异常是捕获到了,并且返回了一个json串。最后我们测试一下其他的异常。...第二句关闭默认的静态资源路径映射。这样404错误也能被捕获到,但是这个配置会让你的静态资源访问出现问题,也就是不适合前后端不分离的情况。 5....总结 本文讲解了如何处理捕获全局异常以及怎么自定义异常,顺便说明了统一结果的返回格式,并特殊处理的404,not found的异常,将其作为统一结果返回。如果你觉得本文有用,
default void addReturnValueHandlers(List handlers) {} 添加处理程序来支持自定义控制器方法返回值类型...使用此选项不会覆盖处理返回值的内置支持; 要自定义处理返回值的内置支持,请直接配置 RequestMappingHandlerAdapter。...并且我们还要知道,Spring Boot 能够访问位于静态资源文件夹中的静态文件,这是因为 Spring Boot 对 Spring MVC 的默认自动配置中定义的,当我们全面接管 Spring MVC...后,Spring Boot 对 Spring MVC 的默认配置都会失效,此时再访问静态资源文件夹中的静态资源就会报 404 错误。)...500或404。
那么我们就先来看看,在 Spring Boot 中,如何自定义 error 页面,整体上来说,可以分为两种,一种是静态页面,另一种是动态页面。...静态异常页面 自定义静态异常页面,又分为两种,第一种 是使用 HTTP 响应码来命名页面,例如 404.html、405.html、500.html .......类的 errorHtml 方法中,这个方法用来返回异常页面+数据,还有另外一个 error 方法,这个方法用来返回异常数据(如果是 ajax 请求,则该方法会被触发)。...直接在 resolveErrorView 方法重新定义一个 model ,将参数中的model 数据拷贝过去并修改,注意参数中的 model 类型为 UnmodifiableMap,即不可以直接修改),而不需要自定义...整合 Thymeleaf 10、Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker 11、Spring Boot2 系列教程(十一)Spring Boot 中的静态资源配置
今天来谈谈两个和认证授权息息相关的两个状态401和403以及它们如何在Spring Security融入体系中的。 2. 401 未授权 我在RFC 7235[1]中找到了相关的表述。...当客户端收到401状态码时,表明了该请求因为缺乏了被信任的认证凭据而被拒绝访问目标资源。 如果用户在请求中携带了认证凭据,那么401响应表明该凭据是未授信的,不能访问目标资源。...如果服务器认为这些反馈信息比较敏感,可以用404来代替。 4....仅仅当登录认证失败返回了401,其它情况的这两种异常都返回了403。 ? Spring Security异常处理体系 默认情况下他们都会被转发到异常页面。...Security 实战干货:自定义异常处理: https://felord.cn/spring-security-exception.html
(2)这个注释不是全局的,我们需要添加到每个控制器(不是很方便)。 大多数企业应用程序都是需要扩展Spring基类的控制器(也就是通用控制器)。...这是在使用基于Spring的REST API时的一种便捷方式,因为可以指定ResponseEntity为返回值。...下面我们看看几种常见的客户端请求错误场景下如何使用这个ApiErrorResponse类: (1)当方法参数不是预期类型时,抛出MethodArgumentTypeMismatchException异常...,将自定义异常返回给客户端API。...看一个简单的用例,当客户端API通过其唯一ID调用后端存储库查找记录时,如果找不到该记录,我们的存储库类会返回null或空对象,在这种情况下,即使找不到我们想要的资源记录,API也会向客户端返回http
最近在写一个spring boot restful api的项目,需要把404封装成统一结果信息,所以查了一下只需在配置文件中加入 mvc: throw-exception-if-no-handler-found...又出现了,没有按照之前封装的返回格式,真的是很郁闷,明明什么也没改呀,来回折腾半天后发现,原来是上门两端代码不兼容,设置了throw-exception-if-no-handler-found: true...,就会覆盖默认的static访问路径,自定义加了这个路径又会覆盖这个throw-exception-if-no-handler-found: true; 最后问题还是解决了,解决办法就是设置自定义static...,找不到就认为是一个静态资源找不到,当时是404啦,所以就把静态资源路径自定义一个目录下面就没问题了 感悟 一个项目如果是restful api就应该专注只提供接口,如果是spring mvc,就应该专注做...spring mvc,不要混到一起做,这样既不符合原则,而且还会引发冲突
这可能导致Spring Boot无法在类路径上找到模板。如果遇到此问题,可以在 IDE中重新排序类路径,以便首先放置模块的类和资源。...您还可以定义使用 @ControllerAdvice 注释的类,以自定义要为特定控制器和/或异常类型返回的JSON文档,如以下示例所示: @ControllerAdvice(basePackageClasses...statusCode); } } 在前面的示例中,如果 YourException 在与 AcmeController 相同的包中定义的控制器抛出,则使用 CustomErrorType POJO的JSON表示而...不是 ErrorAttributes 表示。...自定义错误页面 如果要显示给定状态代码的自定义HTML错误页面,可以将文件添加到 /error 文件夹。错误页面可以是静态HTML(即,添加到任何静态资源 文件夹下),也可以使用模板构建。
本章节主要内容: 通过前面的学习,我们了解并快速完成了spring boot第一个应用。spring boot企业级框架,那么spring boot怎么读取静态资源?...怎么自定义消息转换器呢?怎么自定义spring mvc的配置呢?这些我们在公司都需要用的。这些怎么解决呢?在接下来的小节详细讲解这些。...浏览器访问路径提示404错误页面 2:登录后跳转到登录前的页面 一:浏览器访问路径提示404错误页面 在《spring boot框架学习6-spring boot的web开发(2)》一篇中,我们已经设置了返回页面的前缀...在《spring boot框架学习8- 【干货】spring boot的web开发(4)-自定义拦截器》文章中我们知道了通过自定义拦截器来处理。那么我们就接着修改该自定义类,如下图: ?...输入用户名密码,点击登录后,直接返回到想要去的hijsp页面.如下图: ?
在这个配置类中,可以自定义Feign的各种参数,如请求拦截器、编码器、解码器等。...decode404: 含义:指定当服务端返回404状态时是否抛出FeignException。默认情况下,Feign会将404视为一个正常的响应(即不会抛出异常)。...如果将此参数设置为true,则当服务端返回404状态时,Feign会抛出一个FeignException。 用法:在需要特殊处理404响应的场景中使用。...当这个方法被调用时,Spring 会检查名为 infos 的缓存中是否已经有对应 id 的缓存项。如果有,就直接返回缓存的数据;如果没有,就执行远程调用,并将结果存储到缓存中。...这在构建具有多个查询参数的API调用时特别有用,因为它允许你以声明式的方式组织这些参数,而不是手动构建查询字符串。 简单点说:可以将一个对象中的所有属性值以get的方式拼接到地址栏进行传递。
那么我们就先来看看,在 Spring Boot 中,如何自定义 error 页面,整体上来说,可以分为两种,一种是静态页面,另一种是动态页面。...静态异常页面 自定义静态异常页面,又分为两种,第一种 是使用 HTTP 响应码来命名页面,例如 404.html、405.html、500.html .......自定义异常数据 默认情况下,在Spring Boot 中,所有的异常数据其实就是上文所展示出来的5条数据,这5条数据定义在 org.springframework.boot.web.reactive.error.DefaultErrorAttributes...类的 errorHtml 方法中,这个方法用来返回异常页面+数据,还有另外一个 error 方法,这个方法用来返回异常数据(如果是 ajax 请求,则该方法会被触发)。...直接在 resolveErrorView 方法重新定义一个 model ,将参数中的model 数据拷贝过去并修改,注意参数中的 model 类型为 UnmodifiableMap,即不可以直接修改),而不需要自定义
领取专属 10元无门槛券
手把手带您无忧上云