Spring控制器装载客户端数据浅析
来源:互联网 发布:程序员用什么键盘 编辑:程序博客网 时间:2024/05/17 20:35
当DispatcherServlet将请求分发转交给doDispatch之后,doDispatch调用HandleAdapter(控制适配器),控制适配器就是控制器的代理,用通俗的话说就是,适配器中封装了一个控制器.控制适配器调用Controller(控制器接口)的方法HandleRequest方法,Controller(控制器)将调用实现Controller接口的子类的方法.这样就可以调用AbstractFormController(该类是Controller的实现), handleRequest方法调用handleRequestInternal方法,所以在AbstractFormController类中重载了handleRequestInternal方法.
所有具体控制器的业务处理(业务处理即每一个具体控制器的真正功能.)都在该方法中实现.
首先判断是否来自表单提交(利用isFormSubmission,即是判断是否reqest.getMethod为post),如果不是,则调用showNewForm方法,该方法不是展示一个新Form,当然也是可以这么理解的,真正意义是,showNewForm利用当前的Form和Request返回一个对象,对象中包含校验器.
下面我们理一下show~~(showNewForm和showForm方法关系.我们假定AbstractFormController是父类,而SimpleFormController子类)方法.
首先从父类的showNewForm(request, response)方法开始,其调用关系如下(依次向下调用)
注意:红色代码的参数实现了command(Object对象类型)和客户端数据的绑定.参考代码
showNewForm(request, esponse)(父类)
showForm(request, response, getErrorsForNewForm(request))(父类)
showForm(HttpServletRequest request, HttpServletResponse response, BindException errors)(父类)
showForm(HttpServletRequest request, HttpServletResponse response, BindException errors)(子类)
showForm(request, response, errors, null)(子类)
showForm(HttpServletRequest request,HttpServletResponse response,BindException errors,Map controlModel) (子类)
showForm( HttpServletRequest request, BindException errors, String viewName, Map controlModel) (父类)
- Spring控制器装载客户端数据浅析
- 数据装载
- Spring MVC 使用ajax时,控制器无法获取客户端参数
- spring控制器
- 6.spring自动装载
- spring Bean装载顺序
- Spring 自动装载
- ios--视图控制器视图的装载
- 网路类装载器客户端
- hibernate lazy装载数据
- oracle数据批量装载
- Hive装载数据命令
- 容器装载数据问题
- GoldenGate初始化数据装载
- 动态分区装载数据
- Spring表单向导控制器(实现数据缓存)
- spring请求中数据绑定到控制器的方式探究
- 数据装载之数据校验
- Microsoft Office XP 完美迷你安装版
- 我的入党动机
- JTree实现的系统文件目录树
- 一个检查原代码括号配对的程序,栈的应用
- 杀人的快感
- Spring控制器装载客户端数据浅析
- 新店开张,鸣礼炮17响!
- About Introduction to Algorithms
- Suggestion of learing C++
- vc中通过MSXML操作XML文件
- JAR文件揭密
- J2EE中最常用的Frameworks介绍
- Lotus WorkPlace新的产品组成部分Bowstreet介绍
- 概念级组件设计