doget,dopost和service的关系
servlet为啥不用service方法 而要用dopost和doget?
form提交有两种方式比较常见,一个是get一个post
追问:知道啊
追问:正因为service接受到数据之后会智能的选择是post请求还是get请求也调用相应的doPost方法和doGet方法 那我们就写一个service方法 不是很简单么 为什么很多时候还要在doGet方法里写了代码之后 再在doPost方法里调用doGet方法都要得 这不是给自己找麻烦吗?
==========================================================================================
doPost的提交地址栏是看不到提交信息的,是安全的提交方式 doGet的提交地址栏是可以看到明文信息的 现在如果有一张登陆页面,你用service这样不是密码就失去意义了么?
-
追问
-
怎么会呢? 你在表单里用method=“post” 然后在servlet用service方法处理一样的啊
-
回答
-
那现在有如下需求,要你在post的提交的时候坐一些事情,在get提交的时候做另外一些事情,你怎么办?还有,表单一般的提交方式都设置为post,,,get是给超级链接用的,一般来说。。。。
-
追问
-
一个表单只可能提交给一个servlet吧 那这个表单的method肯定是固定了的 要么是post 要么是get 你说需要在post的提交的时候坐一些事情,在get提交的时候做另外一些事情 那我就用两个servlet来接受两个不同的表单就OK了 而且每个servlet实现各自的功能 降低耦合 也需要分开写啊 你的第二个一般来说省略了 看不明白
-
回答
-
难道只有表单可以提交么,我不可以直接在地址栏输入内容?你去看一下百度的搜索,你直接在地址栏是可以输入内容的,这就是get提交的方便之处,有一张网页,里面或许有敏感信息,不便于用get 方式提交,而有一些参数又是不敏感的,就直接用get方式提交了(比如搜索商品),你说同一张网页我一个请求过去,还要分两个servlet处理? 这样吧,想一个最简单的例子,比如有一个登陆界面,你用post提交可以进入页面,但是你如果直接在地址栏输入地址(就是get方式)直接不给你访问页面,你说是不是应该分开两个方法?
-
追问
-
要是直接在地址栏输入内容 然后提交 那就全都是用的get方式提交的啊 不可能会带有post信息啊 提交一个网页的时候 可能同时以get和post两种方式提交吗?
-
回答
-
楼主,比如有一张银行的用户界面,地址是 现在你比如要在进行登陆操作才可以访问,你登陆的信息是通过post提交没问题,如果对了就跳转到那张页面,是不是?现在如果你用service这个方法,没有把get方式给禁用掉,那么用户是不是可以直接在地址栏里输入访问那张页面呢?只要用户知道网页的地址,是不是所有信息都暴露了?
这是在百度知道看到的两组问答,从对话中就可以理解这三者之间的关系~(≧▽≦)/~啦啦啦。。。。。。。。。