REST风格:软件编程风格
SpringMVC:
GET: 查
POST: 增
DELETE: 删
PUT: 改
 
普通浏览器只支持get、post、DELETE、PUT通过过滤器实现。
 
 
rest风格传值实现步骤:
a.增加过滤器
<!--过滤器-->
<!--目的:给普通浏览器增加delete/put请求方式-->
<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>

 

b.form表单
<form action="SpringMVCHandler/testDelete/1234" method="post">
    <input type="hidden" name="_method" value="DELETE">
    <input type="submit" value="删">
</form>

  

c.控制器
@RequestMapping(value = "testRest/{id}",method = RequestMethod.DELETE) //映射
public String testDelete(@PathVariable("id") Integer id){
    System.out.println("delete:删"+id);
    return "success"; //通过视图解析器拼接前缀后缀(prefix,suffix),/views/success.jsp  ,默认使用了请求转发的跳转方式
}
 
普通方式传值:
@RequestParam("uname") String uname,@RequestParam(value = "uage",required = false,defaultValue = "34") Integer uage)
@RequestParam("uname"):接收前台的传值;
required = false:表示该属性不是必须的;
defaultValue:默认值。   
 
获取请求头信息:
 
@RequestHeader("Accept-Language") String acceptLanguage

  

通过mvc获取Cookie值(JSESSIONID):
 

@CookieValue("JSESSIONID") String JSessionId

  

 
 
使用对象(实体类)接收请求参数:
//获取对象属性
@RequestMapping(value = "testObjectProperties")
public String testObjectProperties(Student student){//student属性必须与form表单中的name值一致(支持级联属性)
    System.out.println(student.getId()+","+student.getName()+","+student.getAddress().getHomeAddress()+","+student.getAddress().getSchoolAddress());
    return "success"; //通过视图解析器拼接前缀后缀(prefix,suffix),/views/success.jsp  ,默认使用了请求转发的跳转方式
}
<form action="SpringMVCHandler/testObjectProperties" method="get">
    id:<input name="id" type="text">
    name:<input name="name" type="text">
    homeAddress:<input name="address.homeAddress" type="text">
    schoolAddress:<input name="address.schoolAddress" type="text">
    <input type="submit" value="查">
</form>

 

在SpringMVC中使用原生态的Servlet API:
//使用原生态的Servlet API
@RequestMapping(value = "testServletApi")
public String testServletApi(HttpServletRequest request){
   //request.getParameter("uname");
    System.out.println(request);
   return "success";
}