首页 > 编程语言 > 详细

SpringMvc03-乱码问题跟RESTful

时间:2020-03-14 10:55:55      阅读:48      评论:0      收藏:0      [点我收藏+]

乱码问题解决:

遇到乱码问题一般在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特点包括:
1、每一个URI代表1种资源;
2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
3、通过操作资源的表现形式来操作资源;
4、资源的表现形式是XML或者HTML;
5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

 

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(其它请求同理)

 

 

 

 

 

 

 

 

  

 

SpringMvc03-乱码问题跟RESTful

原文:https://www.cnblogs.com/q1748819552/p/12485205.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!