标准URL映射
访问路径:类上面的访问路径+方法上的访问路径
@RequestMapping("/index") 或 @RequestMapping(value “/index”)
@RequestMapping(value = "/index")
public String index(Model model){
model.addAttribute("name","这是一个通过注解定义的一个控制器中的action");
return "index";
}
@RequestMapping(value = {"/test","test2"})
public String test(Model model){
model.addAttribute("name","这是一个test");
return "index";
}
**限制请求方法映射
**请求方法映射**
@RequestMapping(value = "/testword",method = RequestMethod.POST(get))限定只能是post请求(或get)
@RequestMapping(value = "/testword2",method = {RequestMethod.POST,RequestMethod.GET})限定只能是post和get
```java
@RequestMapping(value = "/testword2",method = {RequestMethod.POST,RequestMethod.GET})
public String test(Model model){
model.addAttribute("name","限定只能是post和get");
return "index";
}
限制参数映射
可以防止用户把信息注入进来
params=“userId"请求中必须包含userId
params=”!userId" 请求参数中不能包含userId
params=”userId!!=1“请求参数中必须包含userId 但其值不能为1 params={”userId“,”name“}必须包含userId和name参数
@RequestMapping(value = "/testHello",params = "id")
public String testHello(Model model){
model.addAttribute("name","限制请求参数id");
return "index";
}
@RequestMapping(value = "/testHello2",params = "id")
public String testHello(Model model, @RequestParam("id")int id){
model.addAttribute("name","限制请求参数id="+id);
return "index";
}
@RequestMapping(value = "/testHello3",params = "id!=1")
public String testHello3(Model model){
model.addAttribute("name","限制请求参数id!=1");
return "index";
}
@RequestMapping(value = "/testHello4",params = "!id")
public String testHello4(Model model){
model.addAttribute("name","限制请求参数没有id");
return "index";
}
@RequestMapping(value = "/testHello5")
public String testHello5(Model model,@RequestParam(value = "id",required = false)int id){
model.addAttribute("name","限制请求参数没有id");
return "index";
}
占位符映射
防止注入
@RequestMapping(value = "/testHello7/{id}")
public String testHello7(@PathVariable("id") Integer id){
System.out.println(id);
return "index";
}
<a href="<%=request.getContextPath()%>/world/testHello7/1">删除</a>
请求参数乱码问题
<filter>
<filter-name>CharacterEncondingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncondingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意jsp页面传入值需为pojo类中的值名 形参是pojo类 如下:
@RequestMapping(value = "user")
public String test(Users users){
System.out.println(users.getUsername());
return "index";
}