SpringMVC 用http请求的Get和Post

SpringMVC 用http请求的Get和Post     SpringMVC 用http请求的Get和Post的注解

两种 HTTP 请求方法:GET 和 POST

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据

注:尽量使用以上规则

 

GET 方法

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.asp?name1=value1&name2=value2

有关 GET 请求的其他一些注释:

  • GET 请求可被缓存
  • GET 请求保留在浏览器历史记录中
  • GET 请求可被收藏为书签
  • GET 请求不应在处理敏感数据时使用
  • GET 请求有长度限制
  • GET 请求只应当用于取回数据

POST 方法

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

有关 POST 请求的其他一些注释:

  • POST 请求不会被缓存
  • POST 请求不会保留在浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求

 

 

GET

@RequestMapping(value="/doGet",method=RequestMethod.GET)

Post

@RequestMapping(value="/doGet",method=RequestMethod.POST)

同一请求地址访问的方法也就不同了!

注意:如果不书写method=RequestMethod.POST的话,GET和POST请求都支持

以下是JAVA例子:

 

  1. @Controller
  2. @RequestMapping("/messageProcessing")
  3. public class WechatPushController {
  4.     @Autowired
  5.     private WechatPushService wechatPushService;
  6.     @Autowired
  7.     private WechatOAuthService wechatOAuthService;
  8.     @Autowired
  9.     private WechatUserService wechatUserService;
  10.     /**
  11.      * 确认请求来自微信服务器
  12.      */
  13.     @RequestMapping(value="/doGet",method=RequestMethod.GET)
  14.     public void doGet(HttpServletRequest request, HttpServletResponse response)
  15.             throws ServletException, IOException {
  16.         // 微信加密签名  
  17.         String signature = request.getParameter("signature");
  18.         // 时间戳  
  19.         String timestamp = request.getParameter("timestamp");
  20.         // 随机数  
  21.         String nonce = request.getParameter("nonce");
  22.         // 随机字符串  
  23.         String echostr = request.getParameter("echostr");
  24.         PrintWriter out = response.getWriter();
  25.         // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败  
  26.         if (WechatSignUtil.checkSignature(signature, timestamp, nonce)) {
  27.             out.print(echostr);
  28.         }
  29.         out.close();
  30.         out = null;
  31.     }
  32.     /**
  33.      * 处理微信服务器发来的消息
  34.      */
  35.     @RequestMapping(value="/doGet",method=RequestMethod.POST)
  36.     public void doPost(HttpServletRequest request, HttpServletResponse response)
  37.             throws ServletException, IOException {
  38.         // 将请求、响应的编码均设置为UTF-8(防止中文乱码)
  39.         request.setCharacterEncoding("UTF-8");
  40.         response.setCharacterEncoding("UTF-8");
  41.         // 调用核心业务类接收消息、处理消息
  42.         String respMessage = wechatPushService.processRequest(request);
  43.         // 响应消息
  44.         PrintWriter out = response.getWriter();
  45.         out.print(respMessage);
  46.         out.close();
  47.     }

 

 

 

腾讯云服务器安全可靠高性能,多种配置供您选择
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: