一、前言 1、本文主要内容 Spring MVC简介&工作原理概述 Spring MVC普通URL映射示例 Spring MVC带参数URL映射示例 Spring MVC带HTTP Method约束映射示例...Spring MVC带HTTP Header约束映射示例 Spring MVC参数正则约束映射示例 Spring MVC模糊匹配URL映射示例 2、本教程环境信息 软件/环境 说明 操作系统 Windows...10 JDK 11.0.x Spring Boot 2.3.0.RELEASE IDE IntelliJ IDEA 2020 浏览器 Chrome 80+ 3、前置准备 你可能需要的前置知识/准备工作...View来呈现 Spring MVC的核心之一是基于Servlet API封装的DispatcherServlet,每个HTTP请求都需要经过DispatcherServlet来进行分发和处理。...三、请求映射 通常我们会用@RequestMapping注解来配置请求映射。
Spring Boot – 使用 ModelMapper 将实体映射到 DTO 在企业应用中,我们使用RESTful服务来建立客户端和服务器之间的通信。...例如,如果我们有一个端点公开名为 User 的实体类的详细信息。端点处理GET请求。...如果未使用 GET 端点正确处理响应,则可以获取 User 类的所有字段,甚至密码,这对于编写静态服务来说不是一种好的做法。...逐步实施 第1步: 创建Spring Boot项目 在这一步中,我们将创建一个 Spring Boot 项目。...Bean 在此步骤中,我们将把模型映射器 bean 添加到我们的主 Spring Boot 类中。
本文将讨论如何使用Spring Boot框架来映射静态资源。 摘要 本文将介绍如何使用Spring Boot框架来映射静态资源。...我们将介绍如何配置Maven项目,如何将静态资源映射到不同的URL路径和如何使用模板引擎来渲染HTML页面。此外,我们还将介绍如何使用Spring Boot的测试框架来测试我们的代码。...如果需要将静态资源放置在其他位置,我们可以使用spring.resources.static-locations属性来指定路径。...如果我们想将静态资源放置在Web应用程序的根路径下,我们可以将以下代码添加到Spring Boot应用程序的主类中。...; } } 全文小结 本文介绍了如何使用Spring Boot框架来映射静态资源。
首先出现错误的原因如下所示: 解决方案如下: 1、view->Tool Windows->Database 2、默认情况下看IDEA的左边: 添加一个MySQ...
如果您创建自己的 ConfigurableWebBindingInitializer @Bean ,Spring Boot会自动配置Spring MVC以使用它。...Spring Boot包括对以下模板引擎的自动配置支持: FreeMarker的 Groovy的 Thymeleaf 胡子 如果可能,应该避免使用JSP。...如果遇到此问题,可以在 IDE中重新排序类路径,以便首先放置模块的类和资源。...28.1.11错误处理 默认情况下,Spring Boot提供 /error 映射,以合理的方式处理所有错误,并在servlet容器中注册为“全局”错误页面。...小心:当部署到servlet容器时,Spring Boot使用其错误页面过滤器将具有错误状态的请求转发到相应的错误页面。如果尚未提交响应,则只能 将请求转发到正确的错误页面。
@ExceptionHandler:用于标注方法,该方法用于处理特定类型的异常,通常与@ControllerAdvice一起使用,提供全局异常处理。...通常与@ConfigurationProperties一起使用。 @Value: 注入Spring Boot application.properties中定义的属性值。...Spring Boot的自动配置大量使用了这个注解。 @Import: 用于导入其他的配置类,让多个配置类可以组合在一起使用。也可以用来导入一些特定的Bean定义。...如果标注在类上,则类中的所有public方法都会继承该事务属性。 @EnableJpaRepositories:用于开启JPA仓库的支持,并指定扫描的包路径。...它们负责处理请求映射和请求处理的相关逻辑。在大多数情况下,你不需要直接与这些组件打交道,但了解它们的存在和职责有助于更好地理解Spring MVC的工作原理。
程序无法正确做出判断使用哪一个,通过将@Qualifier注解与我们想要使用的特定Spring bean的名称一起进行装配,Spring框架就能从多个相同类型并满足装配要求的bean中找到我们想要的,...的一个新功能:接收请求路径中占位符的值 2.5 @PostMapping @PostMapping注释将HTTP POST请求映射到特定的处理程序方法。...由于@Configuration,@EnableAutoConfiguration和@ComponentScan三个注解一般都是一起使用,于是spring boot提供了一个统一的注解@SpringBootApplication...如果没有配置的话,Spring Boot会扫描启动类所在包下以及子包下的使用了@Service,@Repository等注解的类。...@ConfigurationProperties:Spring Boot可使用注解的方式将自定义的properties文件映射到实体bean中,比如config.properties文件。
Spring Boot也支持Spring MVC提供的高级资源处理特性,可用于清除缓存的静态资源或对WebJar使用版本无感知的URLs。...路径匹配和内容协商 Spring MVC可以通过查看请求路径并将它匹配到应用程序中定义的映射(例如@GetMapping Controller方法上的注释),将传入的HTTP请求映射到处理程序。...还有其他一些方法可以处理不一致地发送适当的“接受”请求标头的HTTP客户端。我们可以使用查询参数来确保类似的请求"GET /projects/spring-boot?...使用以上引擎中的任何一种,并采用默认配置,则模块会从src/main/resources/templates自动加载。...错误处理 Spring Boot默认提供一个/error映射用来以合适的方式处理所有的错误,并将它注册为servlet容器中全局的 错误页面。
的请求映射,往往使用 *.do 、 * .xhtml等方式。...这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL 如果将DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求...如何让Spring框架能够捕获所有URL的请求,同时又将静态资源的请求转由Web容器处理,是可将DispatcherServlet的请求映射配置为"/"的前提。...在接收到静态资源的获取请求时,会检查请求头的Last-Modified值,如果静态资源没有发生变化,则直接返回303相应状态码,提示客户端使用浏览器缓存的数据,而非将静态资源的内容输出到客户端,以充分节省带宽...注意,这个配置会覆盖Spring boot默认的静态资源目录,例如如果按示例中配置,则无法再访问static、public、resources等目录下的资源了。
同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。...如果使用了局部跨域是会覆盖全局跨域的规则,所以可以通过 @CrossOrigin 注解来进行细粒度更高的跨域资源控制。...1.返回新的 CorsFilter(全局跨域) Spring Boot 基础就不介绍了,推荐下这个实战教程: https://github.com/javastacks/spring-boot-best-practice...Spring Boot 定时任务开启后,怎么自动停止? 23 种设计模式实战(很全) Spring Boot 保护敏感配置的 4 种方法! 面了个 5 年 Java,两个线程数据交换都不会!...Spring Boot Admin 横空出世! Spring Boot 学习笔记,这个太全了! 关注Java技术栈看更多干货 Spring Cloud Alibaba 最新实战!
> org.springframework.boot spring-boot-starter-test...文件:前端资源 位置: src/main/resources backend front 静态资源映射 包:config package cn.mu00.reggie.config; import...protected void addResourceHandlers(ResourceHandlerRegistry registry) { log.info("开始进行静态资源映射...getUsername, employee.getUsername()); Employee emp = employeeService.getOne(queryWrapper); // 3、如果没有查询到则返回登陆失败结果...if(emp == null){ return R.error("登录失败"); } // 4、密码比对,如果不一致则返回登陆失败结果 if (!
例如,对象可以自动转换为JSON (通过使用Jackson库)或XML(如果可用,使用Jackson XML扩展,或者如果Jackson XML扩展不是,则使用JAXB可用)。...如果设 置 spring.mvc.message-codes-resolver.format 属性 PREFIX_ERROR_CODE 或 POSTFIX_ERROR_CODE ,则Spring Boot...默认情况下,资源映射到 /** ,但您可以使用 spring.mvc.static-path-pattern 属性对其进行调整。...Spring Boot还支持Spring MVC提供的高级资源处理功能,允许使用缓存破坏静态资源等用例或使用与Webjars无关的URL。...format=json" 之类的请求映射到 @GetMapping("/projects/spring-boot") ,而不是使用后缀匹配: spring.mvc.contentnegotiation.favor-parameter
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目 SpringBoot系列-2配置 Spring Boot使用了一个全局的配置文件application.properties,...Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。...大多数时候,这不会发生(除非你修改默认的MVC配置),因为Spring总能够通过DispatcherServlet处理请求。 此外,上述标准的静态资源位置有个例外情况是Webjars内容。...尽管该文件夹是一个共同的标准,但它仅在打包成war的情况下起作用,并且如果产生一个jar,多数构建工具都会忽略它 默认资源映射 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration...建议大家使用Spring Boot的默认配置方式,提供的静态资源映射如下: classpath:/META-INF/resources classpath:/resources classpath:/static
- **缓存模块**:提供一级缓存(Session级别)和二级缓存(全局/应用级别),提高查询性能。 - **解析器模块**:解析XML配置文件和SQL映射文件。...- 方法调用经过一系列处理: - 识别调用方法对应到哪个SQL映射语句。 - 如果SQL中有动态元素,则根据传入参数动态生成最终的SQL。...>org.mybatis.spring.boot mybatis-spring-boot-starter...编写Mapper XML文件(可选) 虽然Spring Boot MyBatis支持全注解方式操作数据库,但你也可以选择使用XML文件来编写SQL语句。...配置MyBatis 如果使用了Mapper XML文件,需要在配置类中指定其扫描路径。
默认情况下,资源映射在/**上,但您可以使用spring.mvc.static-path-pattern属性进行调整。...在一些情况下,控制器级别处理的错误不会被度量指标记录,通过将处理的异常设置为请求属性,应用程序可以确保此类异常与请求度量一起记录。...如果您正在使用Spring Security,并希望在错误页面中访问主体,则必须配置Spring Security的过滤器,以便在错误调度中调用。...整个应用程序(如果actuator在类路径上,则包括actuator端点)的基于表单的登录或HTTP基本安全性(取决于请求中的Accept标头)。...如果类路径上存在单个Spring Session模块,Spring Boot会自动使用该存储实现。如果您有多个实现,则必须选择要用于存储会话的StoreType。
Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。...建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改。...:8080/img/pic2.jpg 自定义资源映射 上面我们介绍了Spring Boot 的默认资源映射,一般够用了,那我们如何自定义目录?...,并不影响Spring Boot的默认映射,可以同时使用。...当请求的地址为版本号方式时,会在url中判断是否存在/v1.0.0 ,如果存在,则先从URL中把 /v1.0.0 去掉,然后再去映射目录查找对应文件,找到就返回。
上一次我们使用Spring Boot开发了一个简单的REST服务应用,那么传统网页应用怎么做呢?...Spring Boot提供了默认配置的模板引擎主要有以下几种: Thymeleaf FreeMarker Velocity Groovy Mustache Spring Boot建议使用这些模板引擎,避免使用...4、准备Model数据,映射请求路径 我们现在application.propeties中准备点数据,当然这个数据你可以从数据库取也行: application.message=Hello JSP Template...接下来我们针对请求路径"/"写个映射方法,并从配置文件中读取数据,返回到客户端: @Controller @SpringBootApplication public class SpringBootWebApplication...5、配置JSP模版 请求和模型都已经准备好了,我们接下来配置JSP模版,修改application.properties如下: spring.mvc.view.prefix=WEB-INF/jsp/ spring.mvc.view.suffix
关于Web应用的全局异常处理,上一篇介绍了ControllerAdvice结合@ExceptionHandler的方式来实现web应用的全局异常管理; 本篇博文则带来另外一种并不常见的使用方式,通过实现自定义的...=true # 设置静态资源映射访问路径 spring.mvc.static-path-pattern=/statics/** # spring.resources.add-mappings=false...那么js,css,图片这些文件呢,在我们的web应用中并不会定义一个REST服务 所以当接收一个http请求,找不到url关联映射时,默认场景下不认为这是一个NoHandlerFoundException...这个异常表示这个url请求没有对应的处理器,但是我们这里呢,给它分配到了静态资源处理器了ResourceHttpRequestHandler) 针对上面这点,如果有兴趣深挖的同学,这里给出关键代码位置...项目:https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/209-web-error
值得注意的是,如果你同时引入了 spring-boot-starter-web 和 spring-boot-starter-webflux 模块会导致 Spring Boot 自动配置Spring MVC...Spring Boot 的提供的自动配置主要做了以下两个工作: 为 HttpMessageReader 和 HttpMessageWriter 实例配置 HTTP 编解码器 支持服务静态资源映射,包括对...WebJars 资源的支持 如果你想要保持 Spring Boot WebFlux 的自动配置功能,并且想添加额外的 WebFlux 配置项,你可以自定义 @Configuration 配置类,但不要添加...Boot 默认将静态资源映射在 /** 的路径下,当然,你可以通过修改 spring.webflux.static-path-pattern 属性来调整默认映射,例如,将所有资源映射到 /resources...属性值来自定义资源目录,如果你这样做了,默认的欢迎页面检测也将会切换到你设置的资源目录。
领取专属 10元无门槛券
手把手带您无忧上云