SpringMVC初步学习(二)----执行流程以及@RequestMapping注解的作用

摘要:前面我写了SpringMVC框架的具体配置下面说说它的具体流程以及主要注解的作用。
SpringMVC具体配置文章链接: SpringMVC配置

@RequestMapping的作用及其用法

RequestMapping是用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
DispatcherServlet接到请求后,会根据RequestMapping注解的值找到改请求对应的请求处理器,从而执行相应的处理方法。
RequestMapping有三个属性,用于更具体的方法请求

value属性:

指定请求的实际地址。可不写该属性直接写值@RequestMapping(value = “/index”)等价于@RequestMapping("/index")

method属性:

指定请求方式,method = RequestMethod.GET 指定请求方式为get请求 如果是其他方式 就会报错(浏览器405 message Request method ‘GET’ not supported)

params属性:

指定请求参数,假设指定了username这个参数 params=“username”
请求参数,如果url中 不带有该参数 就会报错(浏览器404)

	@RequestMapping(value = "/index", method = RequestMethod.GET,params="username")
	public String index() {
		return "index";
	}

SpringMVC的执行流程

1.客户端发送http请求至web服务器(tomcat),web服务器根据请求路径进行解析(web.xml文件),将请求的url匹配到DispatcherServlet的请求映射路径,然后将请求转发至DispatcherServlet,由其对请求处理。
2.DispatcherServlet接到请求信息,查找该请求的请求处理器(controller,@RequestMapping注解的路径)调用该处理器的相应方法进行处理。
3.请求方法处理完后返回逻辑视图字符串,SpringMVC根据视图字符串和视图解析器的配置(springMVC的配置文件定义的前缀后缀) 得到完整的请求资源路径,获取到视图资源,对视图进行渲染,并且相应至客户端。

世界上有10种人,一种是懂二进制的,一种是不懂二进制的。

感谢您的收看,如有哪里写的不对 请留言,谢谢。

你可能感兴趣的:(spring)