get && post

get && post

请问老师,为什么启动项目后,在URL:localhost:8080后直接加/g,就可以直接出现getMapping()方法中的字符串内容,而localhost:8080后直接加/p,是错误的,还要经过表单的提交才能实现postMapping()方法。这里的表单提交起什么作用呢?

我是这样理解getMapping的,当URL栏中输入http:8080/g的时候,他先要通过DispatcherServlet,DispatcherServlet去找对应的URL的Controller中的方法,这时找到了getMapping()方法,返回字符串。所以我觉得postMapping也是一样的道理,可是貌似不是这样的,老师能给我解释一下post请求的流程是怎样的吗? 谢谢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕柯南 2020-04-08 15:15:54

同学你好!

  1.  getMapping()只接收get请求,postMapping()只接收post请求。

  2. 你直接在浏览器的地址栏进行访问时get请求,所以getMapping可以访问,postMapping不可以访问

  3. 表单中指定了发送的请求为post,所以可以访问

    http://img1.sycdn.imooc.com//climg/5e8d78e009a9c66706300162.jpg

  4. post,get请求都是先要通过DispatcherServlet,DispatcherServlet去找对应的URL的Controller中的方法。

    get和post请求时http请求的两种形式,而getMapping和postMapping就相当于时约束了这个方法只能接收get或者时post请求。只要按照约定发送请求就可以

祝学习愉快~

  • 提问者 慕神0213025 #1
    谢谢老师的耐心回答
    2020-04-11 05:41:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师