
SpringMVC
Jaymeng8848
攀爬每一个巨人,站在他们肩膀上看一看
展开
-
HandlerExceptionResolver异常解析器家族揭秘(七)
在Spring MVC中,所有用于处理在请求处理过程中抛出的异常,都要实现HandlerExceptionResolver接口。HandlerExceptionResolver是Spring MVC提供的非常好的通用异常处理工具,不过需要注意的是,它只能处理请求过程中抛出的异常,异常处理本身所抛出的异常和视图解析过程中抛出的异常它是不能处理的。AbstractHandlerExceptionResolver实现该接口和Orderd接口,是HandlerExceptionResolver类的实现的基类。Res转载 2020-07-31 18:32:02 · 855 阅读 · 0 评论 -
HandlerInterceptor的来龙去脉(六)
Spring MVC 中的Interceptor 拦截器的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆。类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。更准确的说,我更认为它更像Spring AOP里面的环绕通知,在我们调用处理器的前后进行处理。其实整个spring mvc的大致请求过程如下所示:那么HandlerInterceptor在Spring MVC中是如何起作用的呢?我们知道DispatcherServlet是处转载 2020-07-31 17:26:19 · 351 阅读 · 0 评论 -
消息转换器HttpMessageConverter(五)
概述在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换,底层这种灵活的消息转换机制,就是Spring3.x中新引入的HttpMessageConverter即消息转换器机制。Http请求的抽象还是回到请求-响应,也就是解析请求体,然后返回响应报文这个最基本的Http请求过程中来。我们知道,在servlet标准中,可以用javax.servlet.ServletRequest接口中的以下方法:public Serv转载 2020-07-31 17:11:04 · 767 阅读 · 0 评论 -
DispatcherServlet请求转发的实现(四)
SpringMVC完成初始化流程之后,就进入Servlet标准生命周期的第二个阶段,即“service”阶段。在“service”阶段中,每一次Http请求到来,容器都会启动一个请求线程,通过service()方法,委派到doGet()或者doPost()这些方法,完成Http请求的处理。在初始化流程中,SpringMVC巧妙的运用依赖注入读取参数,并最终建立一个与容器上下文相关联的Spring子上下文。这个子上下文,就像Struts2中xwork容器一样,为接下来的Http处理流程中各种编程元素提供了容转载 2020-07-31 16:31:31 · 726 阅读 · 0 评论 -
DispatcherServlet的初始化流程(三)
在我们第一次学Servlet编程,学java web的时候,还没有那么多框架。我们开发一个简单的功能要做的事情很简单,就是继承HttpServlet,根据需要重写一下doGet,doPost方法,跳转到我们定义好的jsp页面。Servlet类编写完之后在web.xml里注册这个Servlet类。除此之外,没有其他了。我们启动web服务器,在浏览器中输入地址,就可以看到浏览器上输出我们写好的页面。为了更好的理解上面这个过程,你需要学习关于Servlet生命周期的三个阶段,就是所谓的“init-service转载 2020-07-31 15:54:08 · 258 阅读 · 0 评论 -
DispatcherServlet的前世今生(二)
上一篇文章我介绍了一次典型的SpringMVC请求处理过程中,相继粉墨登场的各种核心类和接口。我刻意忽略了源码中的处理细节,只列出最简单的类甚至是接口类,目的就是让大家先从最高层次的抽象意义上来审视SpringMVC这个框架;我也刻意将SpringMVC和Struts2做对比,目的是让大家看到,SpringMVC究竟吸取了Sturts2设计思想中的哪些精华,又弥补了它的哪些遗憾。DispatcherServlet作为SpringMVC的核心之中的核心类,再怎么强调它的重要性也不为过。SpringMVC所有转载 2020-07-30 16:07:42 · 156 阅读 · 0 评论 -
SpringMVC的核心类和核心接口(一)
SpringMVC作为一个表现层框架,也必须直面Web开发领域中表现层中的几大课题,并给出自己的回答:URL到框架的映射。http请求参数绑定http响应的生成和输出这三大课题,组成一个完整的web请求流程,每一个部分都具有非常广阔的外延。SpringMVC框架对这些课题的回答又是什么呢?学习一个框架,首要的是要先领会它的设计思想。从抽象、从全局上来审视这个框架。其中最具有参考价值的,就是这个框架所定义的核心接口。核心接口定义了框架的骨架,也在最抽象的意义上表达了框架的设计思想。下面我以一个web转载 2020-07-30 15:46:00 · 1513 阅读 · 0 评论 -
SrpingMvc开篇
SpringMVC底层了解,对于在自己的项目中扩展非常重要,我会在其他博客和自己阅读源码的情况下进行总计和记录学习,以这篇开启对SpringMVC底层的探究原创 2020-07-30 13:38:16 · 124 阅读 · 0 评论