转载

SpringMVC入门学习---乱码处理和Restful风格

springmvc中提供CharacterEncodingFilter,处理post乱码

在web.xml配置过滤器

<filter>
  	<filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
复制代码

如果是get方式乱码

a)修改tomcat的配置解决

b)自定义乱码解决的过滤器

2.restful风格的url

优点:轻量级,安全,效率高

@RequestMapping("/hello/{name}")
public String hello(@PathVariable String name) {
	System.out.println(name);
	return "index.jsp";
}
复制代码

当我们输入 http://localhost:8080/02springweb_annotation/hello/1.do 的时候,控制台就会输出 1

我们也可以将参数放在hello前面,也可以拥有多个参数。

@RequestMapping("/{name}/{id}/hello")
public String hello(@PathVariable String name,@PathVariable int  id) {
	System.out.println(name);
	System.out.println(id);
	return "index.jsp";
}
复制代码

输入 http://localhost:8080/02springweb_annotation/asd/10/hello.do ,就可以在控制台看到结果了。

3.同一个controller通过参数来到达不同的处理方法--不重要

@Controller
@RequestMapping("/hello2")
public class ControllerMethod {

	@RequestMapping(params="method=add")
	public String add() {
		System.out.println("add");
		return "redirect:/index.jsp";
	}
	
	@RequestMapping(params="method=delete")
	public String delete() {
		System.out.println("delete");
		return "redirect:/index.jsp";
	}
}
复制代码

输入 http://localhost:8080/02springweb_annotation/hello2.do?method=add ,控制台就会输出 add ,代表add方法执行了。

原文  https://juejin.im/post/5cd6b410e51d456e89634ad5
正文到此结束
Loading...