- * /user GET 查询所有用户信息
- * /user/1 GET 根据用户ID查询用户信息
- * /user POST 添加用户信息
- * /user/1 DELETE 删除用户信息
- * /user PUT 修改用户信息
第一个,首先是对应的超链接
<a th:href="@{/user}">查询所有用户信息</a><br>
点击这个超链接之后,发送请求。
因为超链接默认使用的是get方法,所以控制器会匹配调用下面的控制方法
@RequestMapping(value = "/user", method = RequestMethod.GET)
public String getAllUser(){
System.out.println("查询所有用户信息");
return "success";
}
第二
<a th:href="@{/user/1}">根据id查询用户信息</a><br>
@RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
public String getUserById(){
System.out.println("根据id查询用户信息");
return "success";
}
第三
<form method="put" th:action="@{/user}">
用户名:<input type="text" name="username"><br>
密码:<input TYPE="password" name="password"><br>
<input type="submit" value="修改">
</form>
@RequestMapping(value = "/user", method = RequestMethod.POST)
public String insertUser(String username, String password){
System.out.println("添加用户信息:"+username+","+password);
return "success";
}
第四个,因为在表单中,只有get和post方法,假若用put等方法,请求也会默认为是put方法。为解决这个问题,springMVC为我们提供了一个过滤器HiddenHttpMethodFilter。因为tomcat8只解决的get的中文输出乱码问题,所以配置了一个编码过滤器。所以HiddenHttpMethodFilter配置的时候,需要在编码过滤器的后面,不然仍会出现乱码,除非有本事你不用中文。
--过滤器中,一般的有:初始化、执行过滤和销毁生命周期三种方法,其中,执行过滤是最重要的方法。
<!--配置HiddenHttpMethodFilter-->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后要想使用put或delete方法的话,请求方式又必须是post方法,然而表单提交想要传输数据,就要用到表单元素,并且这是不需要给用户看到的,就可以用隐藏域type=“hidden”,
<form method="post" th:action="@{/user}">
<input type="hidden" name="_method" value="put">
用户名:<input type="text" name="username"><br>
密码:<input TYPE="password" name="password"><br>
<input type="submit" value="修改">
</form>
@RequestMapping(value = "/user",method = RequestMethod.PUT)
public String putUser(String username, String password){
System.out.println("修改用户信息:"+username+","+password);
return "success";
}