首页 > 编程语言 > 详细

springMVC基于注解的控制器

时间:2015-11-08 14:30:22      阅读:473      评论:0      收藏:0      [点我收藏+]

springMVC基于注解的控制器的优点有两个:

1、控制器可以处理多个动作,这就允许将相关操作写在一个类中。
2、控制器的请求映射不需要存储在配置文件中。使用requestMapping注释类型,可以对一个方法进行请求处理。
 
接下来介绍两个最重要的注释类型:
一、controller注释类型
这种注释类型用于指示Spring类的实例是一个实例;
import org.springframework.stereotype;
public class CustemerController{
    //methods
}

 

Spring 使用扫描机制来找到应用程序中所有基于注解的控制器类;
1、配置spring-context
<beans
...
xmlns:context="http://www.springframework.org/schema/context"
...
>

 

2、配置<component-scan/>
假设所有的控制器类都在com.example.controller及其子包中
<context:component-scan base-package="com.example.controller"/>
 
二、RequestMapping注解类型
1、为每个动作开发相应的处理方法。使用org.springframework.web.bind.annotation.RequestMapping注解类型映射URI和方法;
RequestMapping映射了一个请求和一种方法。可以使用@RequestMapping注解一种方法或类。
看下面例子:
@Controller
public class CustemerController{
    @RequestMapping(value = "/customer_input")
    public String inputCustemer(){
        //do something 
        return "CustemerForm";
}
}

 

value 属性就是将URI映射到方法。
value属性是默认的属性,如果只有一个属性,则可省略属性名称;
@RequestMapping("/customer_input")
超过一个属性,必须写value属性名称;
 
除了value属性,还有其他属性,如method属性用来指示该方法处理哪些HTTP方法。
@RequestMapping(value = "/customer_input",method={RequestMethod.POST,RequestMethod.PUT})
或者只有一个HTTP方法值,则使用
@RequestMapping(value = "/customer_input",method=RequestMethod.POST)
 
RequestMapping注释类型也可用来注释一个控制类
@Controller
@RequestMapping(value = "/customer_input")
 public class inputCustemer(){
                           
@RequestMapping(value = "/delete",method={RequestMethod.POST,RequestMethod.PUT})
pulic String deleteCustemer(){
        //do something 
        return "CustemerForm";
}
}

 

 
2、请求处理方法
每个请求处理方法可以有多个不同类型的参数,记忆一个多钟类型的返回结果。
传递参数的方式:
@RequestMapping(value = "/delete",method={RequestMethod.POST,RequestMethod.PUT})
pulic String deleteCustemer(HttpSession session){
        //do something 
        return "CustemerForm";//指向了视图(页面)的名称
}

 

参数类型:
 
请求处理方法的返回类型:
ModelAndView
Model
Map
View()
void
代表逻辑视图名的String(就是上面例子中请求处理方法返回的String类型)
callable
等等
 
 
 

springMVC基于注解的控制器

原文:http://www.cnblogs.com/sdgf/p/4946901.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!