介绍:
请求到 web.xml ,经过 SpringMVC的分发器对象 [ DispatcherServlet ] ,将请求转到 SpringMVC 框架中,通过 @RequestMapping 注解实现了请求到控制器 [ 方法 ] 的映射.
作用:
用于将Web请求 映射到 特定的处理程序或处理程序的方法.
格式:
@RequestMapping ( [ 参数.. ] )
说明:
1. 该注解可以编写在类声明或方法声明的上面
2. @RequestMapping编写在类声明上面,提供初步的请求映射信息,编写在方法声明上面,提供进一步的请求映射信息 , 示例代码 , 辅助理解 :
(1).第一种写法和第二种写法效果是一样的,捕获的都是 /abc/index 的请求
(2).@RequestMapping 编写在类声明上面一般用于这个Action类中的方法捕获的请求都有共同的开头(如: /abc/index1 , /abc/add1 , /abc/delete1),才在类上声明
(3).@RequestMapping 编写在类声明上后,@RequestMapping 编写在方法上的声明的路径会和编写在类声明上的拼接,格式 : 类声明上的路径参数+方法上的声明路径参数
//第一种写法,编写在类声明上
@RequestMapping("/abc")
public class TestAction {
@RequestMapping("/index")
public String index(){
System.out.println("index()!");
return "index";// /WEB-INF/jsp/index.jsp
}
}
//第二种写法,普通写法
public class TestAction {
@RequestMapping("/abc/index")
public String index(){
System.out.println("index()!");
return "index";// /WEB-INF/jsp/index.jsp
}
}
3. 含有6个参数,常用的有value [ 默认 ] ( 路径 ) , method ( 请求方式 ) ,params.
4. 参数都为数组类型,格式: 参数名={值1,值2,..}.若参数只有1个值,可以省略"{}".
常用属性(参数):
value: 设置当前方法映射的请求资源.若只有1个参数值,可以省略此参数名.@RequestMapping("映射路径")
method: 设置当前方法映射请求资源时,对请求方式的要求 ( 即设置接收 GET 或 POST 请求,默认GET , method 的两个值 RequestMethod.POST , RequestMethod.GET ) .
提示 : 除设置默认参数不需要加属性名外,设置多个参数都需要加属性名=" ",多个参数设置逗号隔开
介绍:
SpringMVC提供了@GetMapping, @PostMapping,@PutMapping等一系列注解,用于简化@RequestMapping.这些注解相比RequestMapping,属于组合注解,即设置请求映射路径,又要求请求方式.
用法:
(1). @GetMapping("/请求映射路径")等价于
@RequestMapping(value="/请求映射路径" , method=RequestMethod.GET)
(2). @PostMapping("/请求映射路径")等价于
@RequestMapping(value="/请求映射路径" , method=RequestMethod.POST)
为什么配置静态资源映射:
DispatcherServlet 拦截所有非JSP的请求(当然也会拦截请求资源的URL请求) , 当请求资源URL与Spring容器管理的处理程序的映射URL都不匹配时,默认不会到(ME是WebRoot,IDEA是Web) WebRoot下寻找资源,而是直接报400或者404错误.
目的 :
(我们要做到在容器管理的处理程序的映射URL都不匹配时,让他在Web文件下寻找资源)
要求:
而大多数静态资源是没有请求映射配置 , 通过配置 " 默认Servlet请求处理器 " 实现静态资源的响应.
处理方式:
SpringMVC静态资源的处理方式有很多种(只说两种,够用了):
要求:在springmvc配置文件中编写 标签及其相关内容
机制: 在容器管理的处理程序(Action方法)的映射URL都不匹配时,回到web下的指定文件下去寻找符合URL需要的文件
处理方式缺点: 所有静态资源都要放在web文件下的同一个文件中(一个自定义的文件夹下,如 static ),拥有局限性,所以再介绍第二种方式--配置tomcat默认servlet
补充:
localhost和mapping区别
localhost和mapping路径问题
说明 :
*表示任意资源 , ** 表示任意资源下可以有多层任意资源 , 使用 ** 匹配资源路径要使用 / 闭合
配置tomcat默认servlet处理方式 :
要求: 在web.xml配置文件中编写 标签及其相关内容,固定格式, 中写要匹配的数据类型 *.数据类型(任意名字.数据格式)
机制: 在容器管理的处理程序的映射URL都不匹配时,当请求路径的结尾是任意一个
default
*.html
*.css
*.js
*.png
百度搜索,这里推荐一篇CSDN的,只是看了看,没有试过,点击这里里