目录
三、使用RequestMapping注解的method属性示例
一、使用说明
-
作用:用于建立请求URL和处理请求方法之间的对应关系。
-
出现位置:
-
类上:
请求 URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。它出现的目的是为了使我们的 URL 可以按照模块化管理,例如:
账户模块:
/account/add
/account/update
/account/delete ...
订单模块:
/order/add
/order/update
/order/delete
红色的部分就是把RequsetMappding写在类上,使我们的URL更加精细。
-
方法上:
请求URL的第二级访问目录,可以窄化请求路径
-
-
属性:
value:用于指定请求的URL。它和path属性的作用是一样的。
method:用于指定请求的方式。
注意:以上属性只要出现2个或以上时,他们的关系是与的关系。
二、使用 RequestMapping注解简化路径
方法:可以将公共的路径用改注解定义到类上,其余非公共的路径再单个定义到方法上。
(1)在index.jsp里面定义超链接
<a href="/account/findAccount">窄化路径</a>
(2)使用二级目录访问
@Controller
@RequestMapping("/account")
public class AccountController {
@RequestMapping("/findAccount")
public ModelAndView findAccount() {
ModelAndView mv = new ModelAndView();
mv.addObject("msg", "欢迎你 springmvc");
mv.setViewName("success");
return mv;
}
}
三、使用RequestMapping注解的method属性示例
(1)controller
@Controller
@RequestMapping("/account")
public class AccountController {
//指定的请求方式
@RequestMapping(value = "/findAccount1", method = RequestMethod.POST)
public ModelAndView findAccount1() {
ModelAndView mv = new ModelAndView();
mv.addObject("msg", "欢迎你 springmvc");
mv.setViewName("success");
return mv;
}
}
(2)测试:在index.jsp里使用get方式请求
<a href="/account/findAccount1">请求方式</a>
(3)结果
是因为超链接默认是get方法 注解接收参数时使用的是post方法
(4)请求换成post
<form action="account/findAccount1" method="post">
<input type="submit" value="保存账户,post 请求">
</form>
(5)结果