SSM框架之SpringMVC常用注解(@Controller、@RequestMapping、@PathVariable、@RequestParam、@RequestBody.....)

最近正在深入的学习SSM框架,本节就对SpringMVC常用的注解进行一些总结。

  • @Controller
  • @RequestMapping
  • @PathVariable
  • @RequestParam
  • @ResponseBody

@Controller

Controller作为控制器负责处理请求,相当于servlet的功能。
通常使用@Controller定义控制器

@Controller//定义控制器
public class controllor { 

}

并且需要在xml文件中加入以下配置

 <context:component-scan base-package="com.hp.controllor">
 </context:component-scan> 

com.hp.controllor 是你所定义的控制器的所在包名。这段代码的意思就是自动扫描该包下的组件。

@RequestMapping

RequestMapping 从英文上解释就是请求映射。先看下面的代码

@RequestMapping("/testone2")
	public String testone2()
	{
		System.out.println("1111");
		return "";
		
	}

我在地址栏上请求地址 http://localhost:8080/Familyandteachonline/testone2

1111//输出结果

就会请求执行这个testone2()这个方法,这就是它的映射作用。这里解释一下,这个方法名字是什么无所谓,不一定非得和RequestMapping 里面一样。

@PathVariable

PathVariable 英文翻译过来叫做地址变量,什么意思呢,他可以将你请求的地址某一部分或者多个部分作为变量使用,下面看例子。

@RequestMapping(value="/{param}/testone.do")
	public String testone1(@PathVariable String param)
	{
		System.out.println(param);
		return “ ”;
		
	}

下面我的请求地址为 http://localhost:8080/Familyandteachonline/222/testone.
控制台显示的值为

222//显示结果

@RequestParam

RequestParam 请求参数,将请求的参数绑定到方法中的参数上,也就是相当于 对参数的“改名”,下面看例子

	@RequestMapping(value="/testone.do")
	public String testone1(@RequestParam(value="param") String id)
	{
		System.out.println(id);
		 
		return "";
		
	}

@ResponseBody

通常用作将前后端异步请求时(ajax技术),return 作为返回值,传递给前台。举个例子吧。

	@RequestMapping(value="/testone.do")
	public String testone1(@RequestParam(value="param") String id)
	{
		System.out.println(id);
		 
		return "123";
		
	}

上述例子在请求后,跳转到123.jsp页面,但是此时你如果加上@ResponseBody

	@RequestMapping(value="/testone.do")
	@ResponseBody
	public String testone1(@RequestParam(value="param") String id)
	{
		System.out.println(id);
		 
		return "123";
		
	}

此时请求的话,就不跳转123.jsp 而123将作为一个字符传递给前台,通常前台通过ajax技术与后台进行交互的时候采用这个方式,向前台返回所需要的值。

发布了48 篇原创文章 · 获赞 34 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/lzx159951/article/details/86256422