关于Servlet中相关方法的一些理解

Post和Get方法的理解

forward、include 和sendRedirect方法的区别


get和post这是http协议的两种方法,get是用来从服务器上获得数据,而post是用来向服务器上传递数据,在Servlet开发中,用doGet()和doPost()方法分别处理get和post。

这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。 

其次get方法是不安全的,get历史参数会被保留在浏览器历史中,信息可能被第三方看到;而post的所有操作对用户都是不可见,post参数也不会被保存在浏览器历史中。

forward()方法

      浏览器向web服务器发送请求,Servlet容器里Servlet1接受请求当它发现它处理不了这个请求就通过forward方法把请求转给Servlet2处理,Servlet2处理完请求,输出响应给浏览器,整个过程浏览器是不知道Web服务器的内部操作的。

include()方法

      浏览器向web服务器发送请求,Servlet容器里Servlet1接受请求,当它发现它一个人处理不了这个请求就通过include方法请求Servlet2一起处理请求,两者一起处理完请求后,把结果输出响应给浏览器,整个过程浏览器是不知道Web服务器的内部操作的。

           

sendRedirect()方法

      浏览器向web服务器发送请求,Servlet容器里Servlet1接受请求当它发现它处理不了这个请求就通过sendRedirect方法将无法完成此请求,让浏览器去请求Servlet2的信息返回给浏览器,浏览器接收到信息后,重新向Servlet2发送请求,Servlet2处理完请求,输出响应给浏览器,整个过程浏览器是知道Web服务器的内部操作的。

 

   

总而言之,forward()方法、include()方法 ,即转发,是服务器行为;sendRedirect()方法、即重定向,是客户端行为。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值