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";
}
浙公网安备 33010602011771号