SpringMVC
文章平均质量分 91
Franco蜡笔小强
小码农
展开
-
SpringMVC重要接口(二)HandlerMethodReturnValueHandler
我们在上一节提到,SpringMVC方法中的参数都是靠HandlerMethodArgumentResolver解析的,那返回值呢。我们都使用过@ResponseBody注解,也知道它的作用,那又是谁来解析这个注解,使之输出我们想要的东西,本节我们一起来剖析org.springframework.web.method.support.HandlerMethodReturnValueHand转载 2017-11-02 20:49:16 · 4411 阅读 · 0 评论 -
SpringMVC重要接口(三)HttpMessageConverter
引言:如何在SpringMVC中统一对返回的Json进行加密?”。大部分人的第一反应是通过SpringMVC拦截器(Interceptor)中的postHandler方法处理。实际这是行不通的,因为当程序运行到该方法,是在返回数据之后,渲染页面之前,所以这时候HttpServletResponse中的输出流已经关闭了,自然无法在对返回数据进行处理。其实这个问题用几行代码就可以搞定,转载 2017-11-03 09:14:58 · 795 阅读 · 0 评论 -
SpringMVC重要接口(四)ViewResolver
SpringMVC用于处理视图最重要的两个接口是ViewResolver和View。ViewResolver的主要作用是把一个逻辑上的视图名称解析为一个真正的视图,SpringMVC中用于把View对象呈现给客户端的是View对象本身,而ViewResolver只是把逻辑视图名称解析为对象的View对象。View接口的主要作用是用于处理视图,然后返回给客户端。转载 2017-11-03 09:22:09 · 16273 阅读 · 0 评论 -
SpringMVC 4.1 新特性(三)集成Bean Validation 1.1(JSR-349)
Bean Validation 1.1当前实现是Hibernate validator 5,且spring4才支持。接下来我们从以下几个方法讲解Bean Validation 1.1,当然不一定是新特性:集成Bean Validation 1.1到SpringMVC分组验证、分组顺序及级联验证消息中使用EL表达式方法参数/返回值验证自定义验证规则类级别验证器脚本验证器cross-param转载 2017-11-03 09:24:14 · 329 阅读 · 0 评论 -
SpringMVC如何用Java类配置(不通过web.xml和XML方式)
DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servlet 3规范和Spring 3.1的功能增强, 可以采用一种全新的,更简洁的方式配置Spring MVC了. 下面按这种方式一个Hello World的MVC配置.Step 1:先用e转载 2017-11-03 09:26:58 · 404 阅读 · 0 评论 -
【SpringMVC】DispatcherServlet重要组件之一HandlerMapping
概括:作用是根据request找到相应处理器Handler和Interceptors,HandlerMapping接口里只有一个方法:HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception;我们也可以自己定义一个HandlerMapping,实现方法。protected Hand...原创 2019-03-29 15:35:07 · 922 阅读 · 0 评论 -
【SpringMVC】DispatcherServlet重要组件之一HandlerAdapter
作用使用处理器干活的。共三个方法:package org.springframework.web.servlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public interface HandlerAdapter { boolean...原创 2019-03-29 15:51:07 · 400 阅读 · 0 评论 -
【SpringMVC】DispatcherServlet重要组件之一HandlerExceptionResolver
HandlerExceptionResolver作用是根据异常设置ModelAndView,之后再交给render方法进行渲染,render只负责渲染页面,具体ModelAndView是怎么来的render不关心。public interface HandlerExceptionResolver { ModelAndView resolveException( HttpServlet...原创 2019-03-29 16:19:34 · 194 阅读 · 0 评论 -
【SpringMVC】DispatcherServlet重要组件之一ViewResolver
ViewResolver用来将String类型的视图和Locale解析为View类型的视图。public interface ViewResolver { View resolveViewName(String viewName, Locale locale) throws Exception;}举例:public class BeanNameViewResolve...原创 2019-03-29 16:37:11 · 298 阅读 · 0 评论 -
【SpringMVC】DispatcherServlet重要组件之一RequestToViewNameTranslator
ViewResolver是根据ViewName查找VIew,但有的Handler处理完后并没有设置View也没有ViewName,这时需要从request获取viewName,RequestToViewNameTranslator就是做这个事情。ublic interface RequestToViewNameTranslator { String getViewName(HttpSer...原创 2019-03-29 16:42:57 · 274 阅读 · 0 评论 -
【SpringMVC】DispatcherServlet重要组件之一LocaleResolver
public interface LocaleResolver { Locale resolveLocale(HttpServletRequest request); void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale);}未完待续。。。...原创 2019-03-29 17:37:22 · 289 阅读 · 0 评论 -
【SpringMVC】DispatcherServlet重要组件之一MultipartResolver
public interface MultipartResolver { boolean isMultipart(HttpServletRequest var1); MultipartHttpServletRequest resolveMultipart(HttpServletRequest var1) throws MultipartException; voi...原创 2019-03-29 17:42:10 · 313 阅读 · 0 评论 -
SpringMVC重要接口(一)HandlerMethodArgumentResolver
在初学SpringMVC框架时,我就一直有一个疑问,为什么controller方法上竟然可以放这么多的参数,而且都能得到想要的对象,比如HttpServletRequest或HttpServletResponse, 各种注解@RequestParam、@RequestHeader、@RequestBody、@PathVariable、@ModelAttribute等。相信很多初学者都曾经感慨过转载 2017-11-02 20:46:31 · 2463 阅读 · 0 评论 -
SpringMVC 4.1 新特性(二)内容协商视图
SpingMVC的内容协商支持三种方式:使用后缀,如.json、.xml后缀和处理类型的关系可以自己定义前面说的使用Accept头在访问时request请求的参数,比如每次请求request都会加format=xml参数,表示要求返回XML格式数据,默认参数名是format,可以修改。SpingMVC规定,如果同时开启了上面的部分或全部方式,解析顺序是后缀、参数、Accept头。对转载 2017-11-02 20:45:30 · 1037 阅读 · 0 评论 -
SpringMVC中在Filter中如何获取ApplicationContext对象
[方式一]package com.somnus.support.filter; import java.io.IOException; import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.annotation.WebFilter;import ja...原创 2017-10-31 09:54:58 · 2680 阅读 · 0 评论 -
SpringMVC原理
HttpServletBranHttpServlet中的init方法,将Servlet中配置的参数使用BeanWrapper设置到DispatcherServlet的相关属性。然后调用模板方法initServletBean,子类就通过这个方法初始化.主要参与创建工作,并没有涉及请求的处理FrameworServletinitServletBean是初始化入口;主要初始化W...原创 2017-11-01 09:56:06 · 335 阅读 · 0 评论 -
SpringMVC 解读——<mvc:annotation-driven/>
一、AnnotationDrivenBeanDefinitionParser 通常如果我们希望通过注解的方式来进行SpringMVC开发,我们都会在***-servlet.xml中加入标签来告诉Spring我们的目的。但是我们为什么这么做呢?这个标签是什么意思呢?它做了什么呢? 同样为了弄清楚这些问题, 像标签一样,我们先找到它的解析类。第一篇文章中说过了,所有的自转载 2017-11-01 10:12:25 · 747 阅读 · 0 评论 -
SpringMVC返回json数据的三种方式
方式一:使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。利用HttpServletResponse,然后获取response.getOutputStream()或response.getWriter(),直接输出。如下:这种方式最为直接,但是在既然已经用了SpingMVC框架的情况下,再用这种方式,有点不合时宜转载 2017-11-01 11:56:23 · 452 阅读 · 0 评论 -
SpringMVC从入门到精通(终结版)
1、项目配置文件1.1、pom.xml文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m...原创 2017-11-02 20:27:14 · 2941 阅读 · 1 评论 -
SpringMVC个人零碎总结
前言:对于工作多年的同学来说,相信都接触过了SpringMVC:,但在使用的过程中,多少会心里打鼓,或者还有很多疑问没搞明白,本篇文章就我自己的使用心得做出一个总结,希望能够帮助很多那些还在前行路上摸索的同学。Q1:当映射路径为,关于对Controller中具体方法访问时需要注意的地方比如我们在Controller中定义了这么个方法@RequestMapping(value="/tes转载 2017-11-02 20:38:46 · 337 阅读 · 0 评论 -
SpringMVC拦截器详解
拦截器是每个Web框架必备的功能,也是个老生常谈的主题了。本文将分析SpringMVC的拦截器功能是如何设计的,让读者了解该功能设计的原理。HandlerMapping的基础抽象类。继承HandlerInterceptor的接口,额外提供了afterConcurrentHandlingStarted方法,该方法是用来处理异步请求。当Controller中...原创 2017-11-02 20:40:37 · 395 阅读 · 0 评论 -
SpringMVC重要注解(一)@ExceptionHandler和@ResponseStatus
无论是普通的WEB项目,还是用SpringMVC实现的restful服务,都曾经历过下面两个问题:@PostMapping(path = "/selectByAcctcode")public MerAccountQueryResponse selectByAcctcode(@Valid @RequestBody MerAccountQueryRequest request,Bi转载 2017-11-02 20:41:42 · 4571 阅读 · 1 评论 -
SpringMVC重要注解(二)@ControllerAdvice
@ControllerAdvice,是Spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现:package org.springframework.web.bind.annotation; @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Do...转载 2017-11-02 20:43:01 · 104332 阅读 · 4 评论 -
SpringMVC 4.1 新特性(一)JSONP的支持
为了启用@ResponseBody和ResponseEntity方法的JSONP支持,需声明一个@ControllerAdvice的bean,它扩展了AbstractJsonpResponseBodyAdvice,如下所示其中constructor参数指示JSONP查询参数名称:package com.somnus.advice; import org.springframework.转载 2017-11-02 20:44:08 · 680 阅读 · 1 评论 -
【SpringMVC】DispatcherServlet重要组件之一FlashMapManager
原创 2019-03-29 17:58:04 · 658 阅读 · 0 评论