注解
@Controller
@Controller注解将类标记为Web控制器。它仍然是表示层的Spring原型。定义Spring构造型的主要目的是使目标类或方法在Spring类路径扫描过程中可发现,并通过以下命令通过程序包将其激活:
<context:component-scan base-package="edu.zipcloud.cloudstreetmarket.
portal"/>
与该注释相关的自定义逻辑并不多。如果我们不麻烦让应用程序变得更整洁,可以使用带有其他构造型注释(@Component或@Service)的Controller来运行
@RequestMapping
@RequestMapping注解在Controller类或控制器方法上定义处理程序。
这些注释由DispatcherServlet在构造型类中查找。
@RequestMapping批注背后的主要思想是在类级别定义主路径映射,并缩小方法上的HTTP请求方法,标头,参数和媒体类型。
为了实现这种缩小,@ RequestMapping注解在括号内接受逗号分隔的参数。考虑以下示例:
@RequestMapping(value="/server", method=RequestMethod.GET)
控制器方法处理程序签名
几个组成部分构成Controller方法处理程序。这是使用Spring MVC的此类处理程序的另一个示例:
@RequestMapping(value="/index")
public ModelAndView getRequestExample(ServletRequest request){
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
mav.addObject("variable1", new ArrayList<String>());
return mav;
}
适用于方法参数的注解
这些注释必须放在要填充的方法参数之前:
@RequestMapping(value="/index")
public ModelAndView getRequestExample(@RequestParam("exP1") String
exP1){
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
mav.addObject("exP1", exP1);
return mav;
}
支持的返回类型
Spring MVC具有不同的可能的控制器方法返回类型,使我们可以指定发送回客户端的响应,或指定用于定向或填充中间View层变量的必要配置。根据我们要执行的操作或实际的应用程序状态,我们可以在以下选项中进行选择: