SpringMVC(1)——@RequestMapping&@RequestParam


背景:最近再重新学习SpringMVC,总算是系统的学习了一下这部分的内容,这里面的东西有些我们在项目中用过,有些也是第一次见到,也算是涨了涨见识~~~~这篇文章重点介绍一下SpringMVC中的一些注解,还有一些小例子,希望能够帮助到你~~~


一、@RequestMapping


1、作用

   为控制器指定可以处理哪些URL请求。


2、使用范围

   类定义处:提供初步的请求映射信息。相当于WEB应用的根目录

   方法处:提供进一步的细分映射信息。相当于类定义处的URL。若类定义处未标注@RequestMapping,则方法处标记的URL相当于WEB应用的根目录。


3、操作原理

   DispactherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法。


4、例子

SpringMVCTest.java

SpringMVC(1)——@RequestMapping&@RequestParam


index.jsp

SpringMVC(1)——@RequestMapping&@RequestParam


5、扩展

1)@RequestMapping除了可以使用请求URL(value)映射请求外,还可以使用请求方法(method)、请求参数(param)以及请求头(heads)映射请求。它们之间是与关系,联合使用多个条件可让请求映射更加精确化。


请求方法:

SpringMVCTest.java

SpringMVC(1)——@RequestMapping&@RequestParam

index.jsp

SpringMVC(1)——@RequestMapping&@RequestParam


请求参数、请求头:

SpringMVCTest.java

SpringMVC(1)——@RequestMapping&@RequestParam

index.jsp

SpringMVC(1)——@RequestMapping&@RequestParam


2)支持Ant风格的URL

SpringMVC(1)——@RequestMapping&@RequestParam


SpringMVCTest.java

SpringMVC(1)——@RequestMapping&@RequestParam

index.jsp

SpringMVC(1)——@RequestMapping&@RequestParam

浏览器:

SpringMVC(1)——@RequestMapping&@RequestParam


二、@RequestParam


1、作用

   在处理方法入参处使用@RequestParam可以把请求参数传递给请求方法


2、参数

   value:参数名

   required:是否必须。默认为true,表示请求参数中必须包含对应的参数,若不存在,将抛出异常

   defaultValue:请求参数的默认值


3、例子

SpringMVCTest.java

SpringMVC(1)——@RequestMapping&@RequestParam

index.jsp

SpringMVC(1)——@RequestMapping&@RequestParam


4、问题

设置required属性,当参数为空的时候,int类型不好传递,可以使用Integer类型

SpringMVC(1)——@RequestMapping&@RequestParam


5、解决方案

设置int类型的默认值

SpringMVC(1)——@RequestMapping&@RequestParam


三、学习心得


1、基础不牢,地动山摇···

2、你学习到的终有一天会用到,输入的越多,见识越广···

3、积累经验···

SpringMVC(1)——@RequestMapping&@RequestParam