springmvc中一次请求再次深入学习
来源:互联网 发布:js获取post过来的值 编辑:程序博客网 时间:2024/04/29 14:08
上一篇源码中我们分析到ServletInvocableHandleMethod
public final void invokeAndHandle(
NativeWebRequest request, ModelAndViewContainer mavContainer,
Object... providedArgs) throws Exception {
Object returnValue = invokeForRequest(request, mavContainer, providedArgs);
setResponseStatus((ServletWebRequest) request);
if (returnValue == null) {
if (isRequestNotModified(request) || hasResponseStatus() || mavContainer.isRequestHandled()) {
mavContainer.setRequestHandled(true);
return;
}
}
mavContainer.setRequestHandled(false);
try {
//这里采用结果返回器进行解析
returnValueHandlers.handleReturnValue(returnValue, getReturnType(), mavContainer, request);
} catch (Exception ex) {
throw ex;
}
}
再分析它了invokeForRequest方法:
public final Object invokeForRequest(NativeWebRequest request,
ModelAndViewContainer mavContainer,
Object... providedArgs) throws Exception {
//这里是为了获取要调用controller方法中参数它包括get请求post请求中及方法中的参数
Object[] args = getMethodArgumentValues(request, mavContainer, providedArgs);
Object returnValue = invoke(args);
return returnValue;
}
再进入到它的invoke方法中:
private Object invoke(Object... args) throws Exception {
ReflectionUtils.makeAccessible(this.getBridgedMethod());//这里就是让私用方法可以使用
try {
return getBridgedMethod().invoke(getBean(), args);//这里的getBridgedMethod()方法返回的就是Method对象
}
catch (Exception e) {
throw new Exception(msg, e);
}
}
- springmvc中一次请求再次深入学习
- SpringMVC一次请求过程
- springmvc中一次请求的主要流程图及讲解
- SpringMVC总结一次完整的请求
- SpringMVC一次请求过程源码分析
- 分析一次springmvc的执行过程,springmvc如何处理请求
- 【框架学习】SpringMVC请求处理
- SpringMVC一次请求多次进入Control的原因
- SpringMVC、Tomcat怎样完成一次Http请求的?
- springmvc请求一次,访问多个controller中的方法
- springmvc Controller请求中参数
- laravel深入-IOC容器、一次请求过程、中间件
- 再次深入研究Android事件分发机制,学习笔记。
- 【php插件】内容采集中实现再次post请求
- 一次请求中数据的传递流程
- 再次深入了解String
- 再次深入了解epoll
- 再次深入理解IRP
- 微信小程序开发(基础)
- 你还在为浏览器兼容性问题苦恼吗
- [poj1740]A New Stone Game
- 一年的美国生活
- java二叉树
- springmvc中一次请求再次深入学习
- Linux 下启动、关闭tomcat 杀掉进程等命令
- 【bzoj2176】Strange string
- HDU5950 Recursive sequence —— 矩阵快速幂
- MongoDB基础篇:MongoDB Shell命令大全
- POJ
- c++文件读写
- # JDK安装及环境配置
- 从零开始学Java