乱码问题解决:
遇到乱码问题一般在Web.xml文件中配置springmvc的过滤器即可解决,代码如下
1 <!--配置springmvc的过滤器,解决乱码--> 2 <filter> 3 <filter-name>encoding</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <init-param> 6 <param-name>encoding</param-name> 7 <param-value>utf-8</param-value> 8 </init-param> 9 </filter> 10 <filter-mapping> 11 <filter-name>encoding</filter-name> 12 <url-pattern>/*</url-pattern> 13 </filter-mapping>
注意:<url-pattern>/*</url-pattern>内必须是/*,这样可以保证静态文件也会过滤,
如果只配置了一个/,那么像HTML,jsp等这样的静态文件,不会过滤,就会导致依旧乱码。
RESTful:
restful是什么?
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源
RESTful在代码中的实现:
@Controller public class RestFulController { //映射访问路径,使用@PathVariable后,这样设置 @RequestMapping("/add/{a}/{b}") //未设置RestFul之前:http://localhost:8080/springMVC/add?a=1&b=1 //使用@PathVariable注解设置 //设置后:http://localhost:8080/springMVC/add/1/2(比之前安全) public String test1(@PathVariable int a, @PathVariable String b, Model model){ String result= a+b; model.addAttribute("msg",result); return "test"; } }
这里定义了一个方法来接收用户输入的两个值的相加:
未设置RESTful之前访问项目传值是这样的:http://localhost:8080/springMVC/add?a=1&b=1
使用@PathVariable注解实现RESTful风格的设置后:http://localhost:8080/springMVC/add/1/2,之间用/划分。相比之前更加安全
这里要注意一点:设置@PathVariable需要在@RequestMapping的访问路径后用{}将参数设置进去
设置method请求:
method的请求:GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等
@RequestMapping 注解便可以设置method请求,示例如下
@RequestMapping(value = "/hello",method = {RequestMethod.GET}) //也可以直接 @GetMapping(其他method请求同理) public String test2( Model model){ model.addAttribute("msg","method属性指定请求类型"); return "test"; }
或者直接在方法上@GetMapping,PostMapping(其它请求同理)
原文:https://www.cnblogs.com/q1748819552/p/12485205.html