开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-08-10
详细说明:NULL
博文链接:https://zzc1684.iteye.com/blog/2210510public Date testAte(date date)t
return date
首先这是一个 Controller,有4个方法。他们对应的参数分别是带有 RequestBody的自定义对象、自定义对象、带有 RequestParam
的自定义对象、日期对象。
接下来我们一个一个方法进行访问看对应的现象是如何的
首先第一个 tester:
L Error 415 Unsupported Me.+
)6 localhost 8888/SpringMVCDemo/ test/testRb?name=18age=3
访问最多□火狐官方站点C新手上路□常用网址
Http Error 415
Problem accessing/SpringMVCDemo/test/testRb Reason
Unsupported Media fype
Powered bv jetty f
第二个 testCustomOb j:
0ahttp:localname=18age=3+
Ge localhost: 8888/SpringMVCDemo/testtest CustomObj?name=1&age=3
叫访问最多火狐官方站点新手上路常用网址
该M文件并未包含任何关联的枰式信息。文档树显示如下。
Korg format. demo model Employee>
13
第三个 testCustomOb jWithRp:
圈Err0 Required Employ(+
G e localhost: 8888/SpringMVCDemo/test/testCustomobjWithRp?name=18age-3
访问最多火狐官方站点[]新手上路□常用网址
Http errOr 400
Problem accessing /SpringMvCDemo/test/testCustomObj WithRp Reason
Required Employee parameter e 1s not present
Powered by ett: /i
第四个 test date:
可圆Eror50 0 Server Error
G)6 localhost.8888/SpringMVCDemo/test/testDate?date=2014-05-15
访问最多口火狐官方站点新手上路□常用网址
Http ERror 500
Problem accessing/SpringMvCDemo/test/testDate Reason:
Server Error
Caused bv
org. springframework beans. ConversionNot SupportedException: Failed to convert value of type java. lang. String to reguired ty
at org. springframework beans. iypeConverter support doConvert(rypeConvertersupport. ava:74)
at工g,x1 ngtrameTor,Bean8, Typeconve工 cersupp口rt, convert工 INecessary( Type conve工 cersupport,aVa:47)
tYg,5工上aTwk,工1a一1,Dt1品Y, COnTET工ece3 Yy(DataB1n_eY。awa:5s2)
at org. springframework. web. method annotation. AbstractNarmedvaluemethodargumentResolver resolveArgument (AbstractNamedv
为何返回的 Emp loyee对象会被自动解析为xml,请看楼主的另一篇博客:戳我
为何 Employee参数会被解析,带有 Requestparam的 Employee参数不会被解析,甚至报错?
为何日期类型不能被解析?
SpringMvc到底是如何处理这些方法的参数的?
Requestbody、 RequestParam这两个注解有什么区别?
带着这几个问题。我们开始进行分析。
源码分析
本文所分析的源码是 Spring版本4.0.2
在分析源码之前,首先让我们来看下 SpringMvc中两个重要的接口
两个接口分别对应请求方法参数的处理、响应返回值的处理,分别是 HandlerMethodArgumentResolver和
HandlerMethodReturnValueHandler,这两个接口都是 Spring3.1版本之后加入的。
Strategy inter face for resolving method parameter s into ar gument values iI
the context cof a given request
冰因auth0 r Arjen Pout sma
since 3
31i o public inter face HandlerMethodArgumentResolver i
boolean support sP ar ameter MethodP arameter parameter)
Object resolveArgument (Metho dPerameter parameter ModelAndView Container mavContainer
lativeNebRequest webRequest, WebDataBinderFactory binder Factory) throws Exception
Strategy inter face to handle the value returned from the invocation of a
冰 author点remP
w since 3
1blic interface HandlerMetho dReturnvalueHandler t
bool
ReturnType Method
void handleReturnvalue (Object returnValue, MethodP arameter returnIype
ModelAndviewContainer mavContainer, IativelebRequest webRequest) throws Exception
SpringMvc处理请求大致是这样的:
首先被 Di spatcherServlet截获, Di spatcherservle通过 handlermapping获得 Handlerexecut ion chain,然后获得 HandlerAdapter。
HandlerAdapter在内部对于每个请求,都会实例化一个 ServletInvocablehandlermethod进行处理, ServletInvocablehandlerMethod
在进行处理的时候,会分两部分别对请求跟响应进行处理。
之后 HandlerAdapter得到 Modelandview,然后做相应的处理。
本文将重点介绍 Serylet invocablehandler method对请求以及响应的处理。
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.