springmvc 基础知识部分总结
2017-12-30 20:48
337 查看
可以用value指定路径,用method指定提交方式,如以下代码中指定提交方式为get,若再用post提交,则会发生错误
@RequestMapping(value="/testMethod", method = RequestMethod.GET)
public String testMethod() {
System.out.println("testMethod");
return SUCCESS;
}
可以用 params 和 headers 来进行更加精确的映射请求, params 和 headers 支持简单表达式
@RequestMapping(value="/testParamsAndHeader", params={"username", "age!=11"},
headers={"Accept-Language=en-US,zh;q=0.8"})
支持Ant风格的通配符。如springmvc/*/abc -->springmvc/ddd/abc
可以用@PathVariable 来将URL中的参数映射到请求方法中
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id) {
System.out.println("testPathVariable" + id);
return SUCCESS;
}
REST:可以用一个隐藏域声明一个值为 _method 的 name ,并用value指定其请求方式(POST, GET, PUT, DELETE)。需要在web.xml中进行配置
<!--
配置 org.springframework.web.filter.HiddenHttpMethodFilter: 可以把 POST 请求转为 DELETE 或 POST 请求
-->
<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>
<form action="springmvc/testRest/1" method="post">
<input type="hidden" name="_method" value="DELETE">
<input type="submit" value="TestRestDelete">
</form>
@RequestMapping(value="testRest/{id}", method=RequestMethod.DELETE)
public String testRestDelete(@PathVariable("id") Integer id) {
System.out.println("testRestDelete" + id);
return SUCCESS;
}
可以用@RequestParam(value="id",required=false, defaultValue="0") String id来获取 URL中的参数。其中,
required=false表示的是该参数可以不存在;
defaultValue="0"为该参数指定一个默认值
@RequestMapping("testRequestParam")
public String testRequestParam(@RequestParam(value="id") String id,
@RequestParam(value="age",required=false, defaultValue="0") int age) {
System.out.println("testRequestParam" + id + " " + age);
return SUCCESS;
}
可以用@RequestHeader 来得到请求头内容,不常用。
@RequestMapping("testRequestHeader")
public String testRequestHeader(@RequestHeader(value="Accept-Language") String al) {
System.out.println(al);
return SUCCESS;
}
可以用@CookieValue(value="cookieName") 得到cookie 值 。不常用。
@RequestMapping("testRequestCookie")
public String testRequestCookie(@CookieValue(value="JSESSIONID") String jId) {
System.out.println(jId);
return SUCCESS;
}
可以使用 pojo 作为参数,支持级联属性
可以使用 Serlvet 原生的 API 作为目标方法的参数 具体支持以下类型
HttpServletRequest
HttpServletResponse
HttpSession
java.security.Principal
Locale InputStream
OutputStream
Reader
Writer
@RequestMapping("testServletAPI")
public void testServletAPI(HttpServletRequest request,
HttpServletResponse response, Writer out) throws IOException {
System.out.println(request + ", " + response);
out.write("hello");
//return SUCCESS;
}
@RequestMapping(value="/testMethod", method = RequestMethod.GET)
public String testMethod() {
System.out.println("testMethod");
return SUCCESS;
}
可以用 params 和 headers 来进行更加精确的映射请求, params 和 headers 支持简单表达式
@RequestMapping(value="/testParamsAndHeader", params={"username", "age!=11"},
headers={"Accept-Language=en-US,zh;q=0.8"})
支持Ant风格的通配符。如springmvc/*/abc -->springmvc/ddd/abc
可以用@PathVariable 来将URL中的参数映射到请求方法中
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id) {
System.out.println("testPathVariable" + id);
return SUCCESS;
}
REST:可以用一个隐藏域声明一个值为 _method 的 name ,并用value指定其请求方式(POST, GET, PUT, DELETE)。需要在web.xml中进行配置
<!--
配置 org.springframework.web.filter.HiddenHttpMethodFilter: 可以把 POST 请求转为 DELETE 或 POST 请求
-->
<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>
<form action="springmvc/testRest/1" method="post">
<input type="hidden" name="_method" value="DELETE">
<input type="submit" value="TestRestDelete">
</form>
@RequestMapping(value="testRest/{id}", method=RequestMethod.DELETE)
public String testRestDelete(@PathVariable("id") Integer id) {
System.out.println("testRestDelete" + id);
return SUCCESS;
}
可以用@RequestParam(value="id",required=false, defaultValue="0") String id来获取 URL中的参数。其中,
required=false表示的是该参数可以不存在;
defaultValue="0"为该参数指定一个默认值
@RequestMapping("testRequestParam")
public String testRequestParam(@RequestParam(value="id") String id,
@RequestParam(value="age",required=false, defaultValue="0") int age) {
System.out.println("testRequestParam" + id + " " + age);
return SUCCESS;
}
可以用@RequestHeader 来得到请求头内容,不常用。
@RequestMapping("testRequestHeader")
public String testRequestHeader(@RequestHeader(value="Accept-Language") String al) {
System.out.println(al);
return SUCCESS;
}
可以用@CookieValue(value="cookieName") 得到cookie 值 。不常用。
@RequestMapping("testRequestCookie")
public String testRequestCookie(@CookieValue(value="JSESSIONID") String jId) {
System.out.println(jId);
return SUCCESS;
}
可以使用 pojo 作为参数,支持级联属性
可以使用 Serlvet 原生的 API 作为目标方法的参数 具体支持以下类型
HttpServletRequest
HttpServletResponse
HttpSession
java.security.Principal
Locale InputStream
OutputStream
Reader
Writer
@RequestMapping("testServletAPI")
public void testServletAPI(HttpServletRequest request,
HttpServletResponse response, Writer out) throws IOException {
System.out.println(request + ", " + response);
out.write("hello");
//return SUCCESS;
}
相关文章推荐
- JS中BOM部分基础知识总结
- Java基础知识精华部分(个人总结)
- javascript中DOM部分基础知识总结
- javascript中BOM部分基础知识总结
- php-BOM部分基础知识总结与实例
- javascript中BOM部分基础知识总结
- javascript中BOM部分基础知识总结
- 【SpringMVC】基础知识总结
- springmvc(十二)springmvc基础知识总结
- android基础知识点总结:Android部分基础控件使用总结(111页word下载)
- SpringMVC框架基础知识总结(二)
- javascript中BOM部分基础知识总结
- javascript中BOM部分基础知识总结
- SpringMVC框架基础知识总结(一)
- 《Windows 程序设计(第五版,珍藏版)》第I部分 基础知识 学习总结
- Web前端开发基础知识--部分总结
- javascript中BOM部分基础知识总结
- php-DOM部分基础知识总结与实例(V客学院知识分享)
- javascript中BOM部分基础知识总结
- Hibernate总结——基础知识