@RequestMapping()和@RequestParam()注解在spring-web-4.3.18.RELEASE.jar包下,當然可以是其他版本,所在包名如下:
@RequestMapping()
@RequestMapping()中的參數value的返回類型為String[],表示可以用多個地址來訪問,當只使用value屬性時,可以直接寫它的值
如下代碼表示訪問http://localhost:8080/index1和訪問http://localhost:8080/index2都可以成功訪問該方法
參數method不寫時,表示get請求和post請求都可以訪問
參數params表示必須要傳入的參數,然后才可以訪問該方法
如下代碼表示訪問時必須要傳入屬性為name的參數,即訪問http://localhost:8080/index?name=yanguobin才能成功訪問該方法
由於@RequestMapping注解也可以用於類上,注意,沒有使用@RequestMapping的方法不能訪問
@RequestParam()
@RequestParam()中的參數required默認為true,表示該參數是必須的
如下代碼表示必須要傳入屬性名為bbb的參數才可以訪問該方法,即http://localhost:8080/index?bbb=yanguobin才可以成功訪問
接着看一下如下代碼,當訪問http://localhost:8080/index時可以正常訪問,輸出null,即有點像@RequestParam()中的required設為了false;當訪問http://localhost:8080/index?bbb=yanguobin時,也可以成功訪問,輸出yanguobin;當訪問http://localhost:8080/index?aaa=ygb時,也可以正常訪問,輸出null,還是像@RequestParam()中的required設為了false
參數value表示傳來的參數的屬性名,當只使用value屬性時,可以直接寫它的值
如下代碼表示傳入的屬性名必須為aaa,即訪問http://localhost:8080/index?aaa=yanguobin才可以成功訪問
綜上所述,如下代碼必須要同時傳入屬性名為aaa和屬性名為ccc的參數才可以成功訪問,即訪問http://localhost:8080/index?aaa=yanguobin&ccc=ygb才可以成功訪問
然鵝ccc的值似乎無法獲取?