SpringMVC一共分为三个部分:第一个部分是urlmapping,第二个部分是适配器,其实就是将url对应到Controller控制器,第三个部分就是将controller返回的数据放到view。
实际上这里面绝大部分工作都是不用我们做的,springmvc已经帮我们做好了,而我们只需要配置就可以了,需要我们做的其实就是controller,在里面调用业务,根据用户请求的参数,进行处理,结果返回。
public interface Controller {/**
* Process the request and return a ModelAndView object which the DispatcherServlet
* will render.*/
ModelAndView handleRequest(HttpservletRequest request,HttpServletResponse response) throws Exception;
}
Controller接口也是很简单的。。
实现自定义的controller也有两种方法
第一种:继承Controller接口。
第二种:使用Controller注解。
可以看到,Controller 接口定义了一个方法,负麦处理一个请求并通过合适的模块返回视图。在Spring通过ModelAndView和Controller实现。Controller接口是非常抽象的,Spring 提供许多实现了这个接口的控制器,这些控制器包含了许多功能,在你需要的时候可以使用。而Controller接口只是定义了一个方法负麦最基本的职麦。
Spring定义的控制器并不是直接实现Controller 接口,而是实现了AbstractController,AbstractorController实现了Controler接口。
下面表格是AbstractController 提供的功能点。
当你用AbstractController作为你控制器的父类的时候,你只需要改写handleRequestInternal(HttpServletRequest,HttpServletResponse)方法,实现业务逻辑,并返回ModelAndView对象。下面是一个下面是一个例子。
参考:http://www.360doc.com/content/11/1018/13/7656232_157134676.shtml
首先让我们使用AbstractController来重写前面讲过的HelloWorldController:
参考:https://www.xttblog.com/?p=1635
从如上代码我们可以看出:
- 继承AbstractController
- 实现handleRequestInternal方法即可。