第五讲 乱码及RESTful风格
来源:互联网 发布:生化危机6 for mac 编辑:程序博客网 时间:2024/06/14 01:33
一、乱码的解决-通过过滤器来解决乱码
- Spring MVC中提供了org.springframework.web.filter.CharacterEncodingFilter来解决POST乱码
<filter>
<filter-name>CharacterEncoding</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>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
@RequestMapping(value="/hello")
public String user(@RequestParam("uname") Stringuname, ModelMap model)
throws UnsupportedEncodingException {
model.addAttribute("name",uname);
return "index.jsp";
}
- 如果是GET方式乱码
自定义乱码解决的过滤器
注意:GET请求的乱码解决是通过
value = new String(value.getBytes("iso-8859-1"), encoding);
POST请求则是通过
// 设置request编码
httpRequest.setCharacterEncoding(encoding);
// 设置response编码
httpResponse.setContentType("text/html;charset=" + encoding);
@RequestMapping(value="/hello")
public String user(@RequestParam("uname") String uname, ModelMap model,
HttpServletRequest request)
throws UnsupportedEncodingException {
model.addAttribute("name", request.getAttribute("uname"));
return "index.jsp";
}
<filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>com.liujie.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
注意:<url-pattern>*.do</url-pattern>,不能够拦截/*。
二、RESTful风格的URL
优点:轻量级、安全、效率高
//http://localhost:8080/springmvc/1/123/hello.do
@RequestMapping(value="/{id}/{uid}/hello")
public String user(@PathVariable("id") int id, @PathVariable("uid") int uid) {
System.out.println(id);
System.out.println(uid);
return "/index.jsp";
}
@RequestMapping(value="/{id}/{uid}/hello")
public String user(@PathVariable int id, @PathVariable intuid)
三、同一个Controller通过参数来到达不同的处理方法-不重要
提交URL:
处理代码:
@Controller
@RequestMapping("/hello")
public class HelloController {
//http://localhost:8080/springmvc/hello.do?method=add
@RequestMapping(params="method=add", method=RequestMethod.GET)
public String add() {
System.out.println("add");
return "redirect:/index.jsp";
}
@RequestMapping(params="method=update", method=RequestMethod.GET)
public String update() {
System.out.println("update");
return "redirect:/index.jsp";
}
@RequestMapping(params="method=delete", method=RequestMethod.GET)
public String delete() {
System.out.println("delete");
return "redirect:/index.jsp";
}
}
阅读全文
0 0
- 第五讲 乱码及RESTful风格
- 乱码以及restful风格
- restful风格详解及特点
- spingMVC----乱码及restful
- 乱码及Restful
- springmvc的基础及restful风格
- RESTful风格
- RESTful风格
- RESTful 风格
- RESTful 风格
- RESTful风格
- RESTful风格
- 020 第五讲 特征值及特征向量
- 第五讲
- 第五讲
- 第五讲
- SpringMVC构造RESTful及SpringMVC使用RESTful风格后对静态资源的处理
- spring3 MVC restful风格
- 关于@override报错的问题
- python学习之——socket模块
- java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class
- Qt控件焦点切换
- CentOS7安装配置vsftp搭建FTP
- 第五讲 乱码及RESTful风格
- fl2440添加rt3070wifi模块--关于AP模式
- ViewPager 无限循环
- 无法往外置sdcard里面读写数据 L版本
- 装饰者模式
- Java中获取当前时间的年月日方法
- Android 嵌套布局简析
- ES6数组的解构赋值和Set
- java 使用comet4j向客户端主动推送例子