A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马亚冲 黑马帝   /  2011-8-25 10:27  /  2169 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

reques的保存范围是服务器端的跳转,即地址栏不变的跳转,这个相信大家都知道

但是通过表单的提交,地址栏改变了,为什么还能通过request接收到表单提交的数据???

4 个回复

倒序浏览
黑马网友  发表于 2011-8-25 10:39:57
沙发
页面跳转分为2种,
1,请求转发  
2.请求重定向

地址栏不变的属于请求转发,不管你页面跳转几次,你也只涉及到一次请求,和一次响应所以request里面保存的
数据得以保存,这与地址栏变不变无关.
并且地址栏不发生改变,是出现在第一次请求到达服务端后,服务端将请求转发出去这时候地址栏不会变,地址栏指向第一次请求的位置.
回复 使用道具 举报
黑马网友  发表于 2011-8-25 13:48:55
藤椅

回复 沙发 的帖子

你能举几个例子说明下各种情况吗?简写就可以
回复 使用道具 举报
黑马网友  发表于 2011-8-25 20:16:43
板凳
很简单的例子
就直接看
request.getRequestDispatcher("detail.jsp").forward(request,response);
这就是你说的转发,很明显,就是把request,response做参数继续.

这个执行流程可以是 List.jsp(商品列表)页面把请求提交到
--->
servlet :通过 页面传来的商品ID在servlet中获取单个商品详细信息,将信息保存在request中,在通过请求转发回去
----->
detail.jsp在页面可以通过requestScope获取request里面的信息,怎么取值就要涉及到EL表达式了


你有需要QQ  M我  我可以把我做过的小项目传给你  做个参考

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2 回答的不错!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-8-25 22:57:42
报纸

回复 板凳 的帖子

我的QQ:   563952634              网名:水不多

我看看你的项目

先谢了!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马