访问其它的静态资源(被springmvc拦截了) 附录一:在请求处理方法中添加@ResponseBody注解,将返回结果直接转换成JSON 附录二:解决JSON死循环问题 附录四:转换时指定属性名 人生的不如意...SpringMVC核心开发步骤 3.1 DispatcherServlet在web.xml中的部署描述,从而拦截请求到springMVC 3.2 HandlerMapping的配置...3.5 ViewResolver的配置,从而将逻辑视图名解析为具体的视图技术 4....作用:放置重复扫描装配 5.2.2 修改web.xml配置SpringMVC的核心控制器DispatcherServlet 1) Spring与Web集成配置 2) 中文乱码过滤器... 3) 配置SpringMVC核心控制器DispatcherServlet 5.3 第一个springMVC程序:HelloWorld 6.
SpringMVC核心开发步骤 4. SpringMVC的组件 5. 如何在项目中添加springmvc 6....SpringMVC核心开发步骤 3.1 DispatcherServlet在web.xml中的部署描述,从而拦截请求到springMVC 3.2 HandlerMapping的配置,从而将请求映射到处理器... 3.3 HandlerAdapter的配置,从而支持多种类型的处理器 3.4 处理器(页面控制器)的配置,从而刊行功能处理 3.5 ViewResolver的配置,从而将逻辑视图名解析为具体的视图技术...SpringMVC的组件 4.1 前端控制器(DispatcherServlet):接收请求,响应结果,相当于转发器,中央处理器 4.2 请求到处理器映射(HandlerMapping):根据配置或者注解找到最终要执行的...5.2.2 修改web.xml配置SpringMVC的核心控制器DispatcherServlet 1) Spring与Web集成配置 2) 中文乱码过滤器 3) 配置SpringMVC
一、什么是 SpringMVC ? SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。...SpringMVC 是类似于 Struts2 的一个 MVC 框架,在实际开发中,接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示,但是上手难度却比 Struts2 简单。...五、SpringMVC常用注解 @Controller 负责注册一个bean 到spring 上下文中 @RequestMapping 注解为控制器指定可以处理哪些 URL 请求 @RequestBody...该注解用于读取Request请求的body部分数据,使用系统默认配置HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上 ,再把HttpMessageConverter...返回的对象数据绑定到 controller中方法的参数上 @ResponseBody 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后
SpringMVC数据类型转换器 我们都知道在浏览器中,访问网页都是通过url访问的。所以在web开发中,我们经常会通过url来传递数据。...想要接收日期数据,就得用到SpringMVC中的数据类型转换器了。...这个方法会在控制器中其他方法之前调用,所以在该方法中就可以预先处理数据类型的转换。...SimpleDateFormat sig = new SimpleDateFormat("yyy-MM-dd"); // 第一个参数是DataDateFormat类型的对象,第二个参数指定是否允许为空...---- springMVC国际化配置和使用 有些时候我们可能会有不同语言之间切换的需求,通过SpringMVC国际化配置,可以实现简单的语言切换,下面使用一个小demo演示一下如何进行国际化的配置。
1.自定义HttpMessageConverter package com.just.springmvc4.messageconverter; import com.just.springmvc4.domain.DemoObj...,为了防止中文乱码,输入输出的编码格式统一为UTF-8 2.配置文件MyMvcConfig中添加自定义的HttpMessageConverter /** * 添加自定义的httpMessageConverter...public MyMessageConverter messageConverter(){ return new MyMessageConverter(); } 3.控制器...//TODO:本实例只是自定义的HttpMessageConverter,在实际场景中可能有全局的处理,比如要全局请求与返回都要是Json格式,这个等有空了尝试下。...实现这个功能需要两样东西,第一个是pom文件中加入jackson的jar包,第二个是在配置文件中加入MappingJackson2HttpMessageConverter pom.xml: ?
5、我们来实现一个需求 http 发送 json 格式的请求,如: ## 发送json请求(body中数据为json格式) POST http://localhost:8080/chat03/user/...步骤 2:springmvc 中添加 mvc 驱动配置 这 2 个步骤配置好了之后,springmvc 就被赋予了一个强大的功能,有能力将 http...透露一下原理:springmvc 容器中被添加了一个 MappingJackson2HttpMessageConverter 对象,这个类可以将 body 中 json 格式的数据转换为 java 对象...HTTP 请求大家比较熟悉,比如 POST 方式提交的请求,是有个 body 部分的,在 springmvc 中,我们希望控制器的方法中某个参数的值为 http 请求中的 body 的值,那么只需要在这个参数的前面加上...parameter指定的参数的值 boolean supportsParameter(MethodParameter parameter); //解析参数:从http请求中解析出控制器需要的参数的值
API设计中内容协商,即根据客户端的支持内容格式情况来封装响应消息体,如xml,json*/ public void configureContentNegotiation(ContentNegotiationConfigurer...") public class SpringMVCConfig extends WebMvcConfigurerAdapter { //路由映射的快捷设置 //视图控制器配置 @Override...; } 配置路由参数 在路由配置中,我们可以为路由添加参数,然后使用@PathVariable注解来获取该路径变量的值。...//将请求直接映射为Model //http://localhost:8080/SpringMVCWithMaven/route/sub4?...的配置文件中来快速的设置路由与JSP页面的映射关系,当然实现起来也是比较简单的。
SpringMVC能够创建对象,放入到容器中(SpringMVC容器),SpringMVC容器中放的是控制器对象。 ...我们要做的是使用@Controller创建控制器对象,把对象放入到SpringMVC容器中,把创建的对象作为控制器使用。...(1)*.do 在没有特殊要求的情况下,SpringMVC中央调度器DispatcherServlet的常使用后缀的匹配方式,如写为*.do或者*.action,*.mvc...需要在SpringMVC配置文件中添加如下形式的配置: 控制器类增加功能--异常处理功能) * 位置:在类的上面 * 特点:必须让框架指定这个注解所在的包名,需要在SpringMVC配置文件中声明组件扫描器
,就像上面小节中的控制器,里边没有任何业务逻辑,像这种情况,可以不用定义方法,可以直接通过路径映射来实现页面访问。.../hello 这个路径,则直接将名为 hello 的视图返回给用户,并且响应码为 200,这个配置就可以替代 Controller 中的方法。...所有的 JSON 库要在 SpringMVC 中自动返回或者接收 JSON,都必须提供和自己相关的 HttpMessageConverter 。...SpringMVC 中,默认提供了 Jackson 和 gson 的 HttpMessageConverter ,分别是:MappingJackson2HttpMessageConverter 和 GsonHttpMessageConverter...如果开发者使用了 fastjson,那么默认情况下,SpringMVC 并没有提供 fastjson 的 HttpMessageConverter ,这个需要我们自己提供,如果是在 XML 配置中,fastjson
另外提一点,SpringMVC中默认使用Jackson作为JSON的工具包,如果不是完全理解透整套源码的运作,一般不是十分建议修改默认使用的MappingJackson2HttpMessageConverter...体系中正确处理参数的例子进行分析,还会花精力整理SpringMVC体系中独有的URL路径参数处理的一些技巧以及最常见的日期参数处理的合理实践(对于GET方法和POST方法提交的参数处理,基本囊括了其他如...在SpringMVC中,URL模板中的路径参数叫做PathVariable,对应注解@PathVariable,对应的参数处理器为PathVariableMethodArgumentResolver。...(首写字母变为小写,如返回值类型为Integer,则key为integer)。...,在加载配置文件属性的时候添加到全局的Environment中。
配置框架 参见“使用IntelliJ IDEA开发SpringMVC网站(二)框架配置” 4....管理数据库 参见“使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置” 在一般的框架中,数据库中的一张表对应一个Java Bean,而在SpringMVC架构中,Java... - 在xxx-servlet.xml中,配置数据库 5....=myValue") 6)headers:请求Header中必须包含某些指定的参数值,才能让此方法处理此请求 如:@RequestMapping(value="/login",...对象的body数据区 - 返回如json、xml等时使用 - 使用ResponseBody将跳过视图处理部分 - 在springmvc配置文件中通过<mvc:annotation-driven
SpringMVC简介 在WEB开发中, SpringMVC实现了较为经典的MVC(Model,View,Controller)模式, 组成: 1.Model层(模型层): 管理App中每个功能模块所用到的值和数据...(页面jsp,html,thymeleaf等..) 3.Controller层(控制层/控制器): 管理页面跳转, 处理用户请求响应逻辑. 也就是管理用 户和视图层交互的. 类似一个齿轮....SpringMVC 使用 @Controller或@RestController注解的Bean来处理传入的HTTP请求.使用@RestController注解将Http请求映射到相应的控制器中的方法....value=”/{user}”, method=RequestMethod.GET) public User getAllUser(){ //…. } }三层架构与MVC的差异 2.Spring MVC 中的自动配置...SpringBoot提供了适用于大多数应用程序的SpringMVC的自动配置.
在 Laravel 和 Symfony 这样的 PHP 框架中,实现高效的路由配置和控制器管理通常可以通过以下步骤完成: 路由配置:在框架的路由文件中,定义各个 URL 路由的对应关系。...你可以指定路由的请求方法、URL 格式和处理该请求的控制器方法。 在 Laravel 中,可以在 routes/web.php 文件中使用 Route:: 方法定义路由。...,你可以在 Laravel 或 Symfony 框架中实现高效的路由配置和控制器管理,并根据需要使用中间件来增强功能。...在 Laravel 和 Symfony 这样的 PHP 框架中,实现高效的路由配置和控制器管理通常可以通过以下步骤完成: 路由配置:在框架的路由文件中,定义各个 URL 路由的对应关系。...你可以指定路由的请求方法、URL 格式和处理该请求的控制器方法。 在 Laravel 中,可以在 routes/web.php 文件中使用 Route:: 方法定义路由。
这个时候就需要我们把这个控制器类交给Spring 来管理。有两种方式: 在Spring MVC 的配置文件中定义MyController 的bean 对象。...,仅当request请求头中的(Accept)类型中包含该指定类型才返回; params: 指定request中必须包含某些参数值是,才让该方法处理。...作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。...3.6 如何在方法里面得到Request,或者Session? 直接在方法的形参中声明request,Spring MVC就自动把request对象传入。...(一般不推荐使用) 类似全局的拦截器: SpringMVC配置类似全局的拦截器,SpringMVC框架将配置的类似全局的拦截器注入到每个HandlerMapping中 4.
HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文 HttpMessageConverter提供了两个注解和两个类型:@RequestBody...} 输出结果: requestBody:username=admin&password=123456 2、RequestEntity RequestEntity封装请求报文的一种类型,需要在控制器方法的形参中设置该类型的形参...的核心配置文件中开启mvc的注解驱动,此时在HandlerAdaptor中会自动装配一个消息转换器:MappingJackson2HttpMessageConverter,可以将响应到浏览器的Java对象转换为...提供的一个复合注解,标识在控制器的类上,就相当于为类添加了@Controller注解,并且为其中的每个方法添加了@ResponseBody注解 7、ResponseEntity ResponseEntity...用于控制器方法的返回值类型,该控制器方法的返回值就是响应到浏览器的响应报文
Model 返回给对应的View 进行展示,在SpringMVC 中提供了一个非常简便的定义Controller 的方法:@Controller,用于标记在一个类上 图片 在配置文件中配置: 图片...图片 4 @RequestBody 作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json...接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端 应用:@ResponseBody注解实现将controller方法返回对象转换为json响应给客户端 图片 6 @RequestParam...value:参数名字,即入参的请求参数名字,如value=“item_id”表示请求的参数区中的名字为item_id的参数的值将传入; required:是否必须,默认是true,表示请求中一定要有相应的参数...指定pojo回显到页面在request中的key 图片 @ModelAttribute还可以将方法的返回值传到页面 在商品查询列表页面,通过商品类型查询商品信息。
现在还有一个地方要考虑,就是无法得知第三方如何提交请求数据,假定都是采用POST的Http请求方法,提交报文的时候指定ContentType为application/json或者application/...做法是把application/x-www-form-urlencoded中的形式如xxx=yyy&aaa=bbb的表单参数和application/json中形式如{“key”:“value”}的请求参数统一当做...因为要兼容两种contentType,我们需要做到几点: 1、修改请求头的ContentType为application/json。 2、修改请求体中的参数,统一转化为InputStream。...2、需要加密的接口的SpringMVC控制器的返回参数必须是加密后的实体类,无法做到加密逻辑和业务逻辑完全拆分,也就是解密逻辑对接收的参数是无感知,但是加密逻辑对返回结果是有感知的。...小结 这篇文章强行复杂化了实际的情况(但是在实际中真的碰到过),一般情况下,现在流行使用Json进行数据传输,在SpringMVC项目中,我们只需要针对性地改造MappingJackson2HttpMessageConverter
void write(T t,MediaType contnetType,HttpOutputMessgae outputMessage):将 T 类型的对象写到响应流中,同时指定相应的媒体类型为 contentType...在填充 Handler 的入参过程中,根据配置,SpringMVC 将帮助做一些额外的工作: ① HttpMessageConverter: 将请求的信息(如 json、xml 的数据)转换成一个对象,...需要:通常情况下,类似于数据源,事务,整合其他框架都是放在 Spring 的配置文件中(而不是放在 SpringMVC 的配置文件中),实际上方入 Spring 配置文件对应的 IOC 容器中还有 Servlet...不需要:都放在 SpringMVC 的配置文件中,也可以分多个 Spring 的配置文件,然后使用 import 节点导入其他的配置文件 2、Spring 整合 SpringMVC 解决方案配置监听器...在 Spring MVC 配置文件中引用业务层的 Bean 多个 Spring IOC 容器之间可以设置为父子关系,以实现良好的解耦。
类说明: abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer 用于定制 springMvc 的一些配置,该抽象类继承了...WebMvcConfigurer 接口的所有方法,但是都是一些空实现,是 springMvc 为定制配置提供的入口。...public void addArgumentResolvers(List argumentResolvers) 添加解析器以支持自定义控制器方法参数类型...使用示例: springMvc 将返回值解析对象放到beanFactory中,实现返回值解析对象的注入 ` > converters) 配置HttpMessageConverter用于读取或写入请求或响应的正文。 如果没有加入转换器,则会注册默认的转换器列表。
SpringMVC的执行流程 1.用户发送请求到前端控制器(DispatherServlet) 2.前端控制器(DispatherServlet)再找到处理器映射器(HandlerMapping) 3...ModelAndView,处理器适配器再将ModelAndView返回给前端控制器,前端 控制器请求视图解析器,视图解析器返回给前端控制器View对象,前端控制器再对视图进行渲 染,最后响应给用户 SpringMVC...4、@RequestParam 把请求中指定名称的参数给控制器中的形参赋值。 5、@RequestBody 用于获取请求体内容。...6、@ResponseBody @ResponseBody用于将 Controller 的方法返回的对象,通过 HttpMessageConverter 接口转换为 指定格式的数据如: json,xml...9、@CookieValue 用于把指定 cookie 名称的值传入控制器方法参数。
领取专属 10元无门槛券
手把手带您无忧上云