SpringMVC源码(三)Controller控制器
2017-06-06 17:01
375 查看
SpringMVC 提供了Controller控制器,用来处理我们的业务逻辑,其主要功能:
1,收集、验证请求参数到命令对象
2,将命令对象交给业务对象处理,并返回模型数据
3,返回ModelAndView(数据模型和视图)
Contraller控制器并不能完全代表MVC中的C,它只负责具体的业务功能处理,其业务逻辑控制还是由DispatcherServlet
来实现
DispatcherServlet来负责整体的控制流程的调度部分,包括将请求转移到控制器来进行处理和根据处理器返回的逻辑视图找到具体的视图进行渲染
所以完整的C由DispatcherServlet和Controller一起组成。
Contraller接口:
这个接口只有一个方法handleRequest,留给实现的类实现。它接受DispatcherServlet传递的两个参数request和response,并且返回给DispatcherServlet以ModelAndView
以便进行视图解析渲染。
注:在spring2.5之后加入了注解,@Contraller,@RequestMapping等注解使用让开发变得更加简单。
Contraller接口的所有实现类:
写一个简单是实现类:
然后在我们的spring-mvc.xml 文件中注入:
注入成功后,访问spring1路径时,便会跳转到springmvc1 视图,同时在视图用${srpingmvc}便会获得添加的数据"springmvc"
1,收集、验证请求参数到命令对象
2,将命令对象交给业务对象处理,并返回模型数据
3,返回ModelAndView(数据模型和视图)
Contraller控制器并不能完全代表MVC中的C,它只负责具体的业务功能处理,其业务逻辑控制还是由DispatcherServlet
来实现
DispatcherServlet来负责整体的控制流程的调度部分,包括将请求转移到控制器来进行处理和根据处理器返回的逻辑视图找到具体的视图进行渲染
所以完整的C由DispatcherServlet和Controller一起组成。
Contraller接口:
public interface Controller { //返回模型数据和视图 ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception; }
这个接口只有一个方法handleRequest,留给实现的类实现。它接受DispatcherServlet传递的两个参数request和response,并且返回给DispatcherServlet以ModelAndView
以便进行视图解析渲染。
注:在spring2.5之后加入了注解,@Contraller,@RequestMapping等注解使用让开发变得更加简单。
Contraller接口的所有实现类:
写一个简单是实现类:
/** * 实现Controller 接口 */ public class Test implements Controller{ public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { 4000 //第一种 可以在new 的同时直接返回视图名称 //ModelAndView modelAndView = new ModelAndView("springmvc"); //第二种方式 设置modelandview 的视图名称 ModelAndView modelAndView2 = new ModelAndView(); //添加数据模型 modelAndView2.addObject("springmvc", "springmvc"); modelAndView2.setViewName("springmvc1"); return modelAndView2; } }
然后在我们的spring-mvc.xml 文件中注入:
<!-- 注入controller --> <bean name="/spring1" class="com.core.Test"/>
注入成功后,访问spring1路径时,便会跳转到springmvc1 视图,同时在视图用${srpingmvc}便会获得添加的数据"springmvc"
相关文章推荐
- SpringMVC源码(五)Controller控制器3-Servlet相关控制器
- SpringMVC源码(四)Controller控制器2-AbstractController
- SpringMVC源码(六)Controller控制器4-View视图解析器
- SpringMVC源码(七)Controller控制器5-MultiActionController
- SpringMVC核心控制器DispatcherServlet类结构源码阅读
- SpringMVC源码深度分析DispatcherServlet核心的控制器(初始化)
- springMVC源码分析--ControllerClassNameHandlerMapping(九)
- CI框架源码阅读笔记8 控制器Controller.php
- 【MVC - 参数原理】详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]
- 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析] good
- springMVC源码分析--SimpleControllerHandlerAdapter(三)
- springMVC源码分析--SimpleControllerHandlerAdapter(三)
- CI框架源码完全分析之核心文件(超级控制器)Controller.php
- 第四章 Controller接口控制器详解(5)——跟着开涛学SpringMVC
- springMVC源码分析--SimpleControllerHandlerAdapter(三)
- springMVC—三种控制器controller
- CI框架源码阅读笔记8 控制器Controller.php