springMv入门 二.controller注解与RequestMapping注解

10 篇文章 0 订阅

controller注解

使用controler注解就可以将一个普通的java类变成一个servelet
例如

@Controller//使用controler注解就可以将一个普通的java类变成一个servelet
public class First {

	@RequestMapping(value = "/helloWorld")
	//使用此注解就可以拦截,项目根路径 + 你输入的value值  ,的请求
	//例如上面写的例子,就可以拦截下来,http://localhost:8080/demoSpringMvc/helloWorld
	public void login() {
		System.out.println("hello");
	}
	
}
运行结果

在这里插入图片描述
在这里插入图片描述

RequestMapping注解

value属性

我们可以配置value属性,来拦截 项目根路径 + 你输入的value值 ,的请求
例如

@Controller//使用controler注解就可以将一个普通的java类变成一个servelet
public class First {

	@RequestMapping(value = "/helloWorld")
	//使用此注解就可以拦截,项目根路径 + 你输入的value值  ,的请求
	//例如上面写的例子,就可以拦截下来,http://localhost:8080/demoSpringMvc/helloWorld
	public void login() {
		System.out.println("hello");
	}
	
}

就可以拦截下来,http://localhost:8080/demoSpringMvc/helloWorld请求

数组形式

value还可以变成数组形式,来实现,一个方法拦截多个请求

@Controller
public class First {

	@RequestMapping(value = {"/helloWorld","/login"})
	//使用此注解就可以拦截,项目根路径 + 你输入的value值  ,的请求
	//例如上面写的例子,就可以拦截下来,http://localhost:8080/demoSpringMvc/helloWorld
	public void login() {
		System.out.println("hello");
	}
	
}

运行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模式匹配

我们还可以在value属性中使用到模式匹配,例如使用*,{}等等

@Controller//使用controler注解就可以将一个普通的java类变成一个servelet
@Scope("prototype")//指定单例模式或多例模式
public class First {

	@RequestMapping(value = {"/demo/{id}/demo/{name}"})
	//使用此注解就可以很好的支持resultful风格,从url处就可以获取相应的数据
	public void RequestMappingDemo(@PathVariable(value="id") int id,
			@PathVariable(value="name") String name) {
		System.out.println("id = " + id + " name: " + name);
	}
}

在这里插入图片描述
在这里插入图片描述
还可以使用模糊匹配的形式

@Controller//使用controler注解就可以将一个普通的java类变成一个servelet
@Scope("prototype")//指定单例模式或多例模式
public class First {
	@RequestMapping("/*/demo2")
	public void demo2(){
		System.out.println("demo2");
	}
}

在这里插入图片描述
在这里插入图片描述

@Controller//使用controler注解就可以将一个普通的java类变成一个servelet
@Scope("prototype")//指定单例模式或多例模式
public class First {

	@RequestMapping("/*123/demo2")
	public void demo3(){
		System.out.println("demo3");
	}
}

在这里插入图片描述
在这里插入图片描述

method属性

使用这个属性我们可以配置此方法接受什么样的请求,例如get,post,delete等等(默认所有方式都可以拦截)

@Controller//使用controler注解就可以将一个普通的java类变成一个servelet
public class First {

	@RequestMapping(value = {"/helloWorld","/login"},method = RequestMethod.POST)
	//使用此注解就可以拦截,项目根路径 + 你输入的value值  ,的post请求
	//例如上面写的例子,就可以拦截下来,http://localhost:8080/demoSpringMvc/helloWorld
	public void login() {
		System.out.println("hello");
	}
	
}

当我们以get方式请求时,就不会被拦截进行处理而是提示405错误
在这里插入图片描述
我们选择浏览器的编辑重发功能
在这里插入图片描述
改成post方式进行访问
在这里插入图片描述
访问成功
在这里插入图片描述
同样这个属性也可以变成数组的形式来响应多种请求

@Controller//使用controler注解就可以将一个普通的java类变成一个servelet
public class First {

	@RequestMapping(value = {"/helloWorld","/login"},method = {RequestMethod.POST,RequestMethod.DELETE})
	//使用此注解就可以拦截,项目根路径 + 你输入的value值  ,的请求
	//例如上面写的例子,就可以拦截下来,http://localhost:8080/demoSpringMvc/helloWorld
	public void login() {
		System.out.println("hello");
	}
	
}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值