SpringMVC(AbstractController,拦截器,注解)

1.Controller接口及其实现类
Controller是控制器/处理器接口,只有一个方法handleRequest,用于进行请求的功能处理(功能处理方法),处理完请求后返回ModelAndView对象(Model模型数据部分 和 View视图部分)。

如果想直接在处理器/控制器里使用response向客户端写回数据,可以通过返回null来告诉DispatcherServlet我们已经写出响应了,不需要它进行视图解析

Spring默认提供了一些Controller接口的实现类以方便我们使用,在Eclipse中选择Controller接口然后右键open type Hierarchy即可查看该接口的实现类,每个实现类都有自己特殊的功能,这里以实现类AbstractController为例简单介绍下。
查看AbstractController类中代码可知,我们写一个Controller的时候可以继承AbstractController然后实现handleRequestInternal方法即可。

提供了【可选】的会话(session)的串行化访问功能,例如:
即同一会话,线程同步

public class HelloWorldController extends AbstractController{   @Override   protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response)throws Exception {   String name = request.getParameter("name");   //ModelAndView对象中包括了要返回的逻辑视图,以及数据模型   ModelAndView mv = new ModelAndView();   //设置视图名称,可以是字符串 也可以是视图对象   mv.setViewName("hello");   //设置数据模型   mv.addObject("name", name);   return mv;   } } <bean class="com.briup.web.controller.HelloWorldController">   <property value="true"></property> </bean>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwyzpg.html