http header传值

bridinsky 2012-06-15 03:30:03
jsp 如何用http 的header 传值呢? 比如说在a页面传如歌参数 跳到b页 里 接受这个参数。
...全文
606 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiceRice 2012-06-15
  • 打赏
  • 举报
回复
情况是:
1、可以直接用Java代码用HttpClient之类的组件,向B发起请求,并构造各种Header参数;即便是JSP内页可以这么执行;
2、可以用Ajax构造向B发起的请求,并增加各种Header参数,可以直接在HTML中执行。


但是!!
1、是服务器端执行的,意味着请求结果还要由A回写到浏览器端,而用户其实根本不知道访问过B页面这回事(透明),这本质上就是个 反向代理。
2、Ajax请求,直接以字符串的形式得到页面结果,并不会表现出页面发生切换之类的过程;最终用户如果要看到页面,还需要另外处理,比如替换当前页面内容之类的。


而<FORM>的POST或<A>超链接,我记得都没有指定Header的能力。


所以单纯用某招,都比较麻烦。最好是跟B页面协商其它机制。
bridinsky 2012-06-15
  • 打赏
  • 举报
回复
对 就是这个意思不一定非是重定向可以提交或超链,是非同应用。不过应该是可以实现的。以前接过别人header传得数据,只是不知道怎么传得。
MiceRice 2012-06-15
  • 打赏
  • 举报
回复
Soga:用户访问你的A页面,然后A页面处理完毕后,在将请求重定向到B页面(同时传递header参数)?


那么请问:对方页面跟你的页面是同应用还是非同应用?

如果是同应用,则可以用我前面说的RequestDispatcher.forward()

如果是非同应用,这事就比较悬了。
bridinsky 2012-06-15
  • 打赏
  • 举报
回复
确实是jsp-jsp 因为a还有其他参数要传得。是这样的我要调一个接口,对方要求用header把其中一个安全码的参数通过header传过去,其他参数无所谓。
MiceRice 2012-06-15
  • 打赏
  • 举报
回复
要用Header在JSP之间直接传递参数的话,不能用 sendRedirect(),更不能是超链接跳转;因为必须保证是在一次请求之内完成。

所以只能是用RequestDispatcher.forward()到B页面。


但是,你的需求感觉上其实是A页面上有个超链接或者按钮,用户点击后跳转到B页面。
所以我理解根本不是 JSP->JSP ;而是 HTML->JSP。是这样么?
bridinsky 2012-06-15
  • 打赏
  • 举报
回复
这俩个都不行的 ,2楼注意要放header里面,3楼的虽然放了但是只是本页,一提交就没了。早已试过
renzhenduo 2012-06-15
  • 打赏
  • 举报
回复
用request.setHeader();
WinterFall 2012-06-15
  • 打赏
  • 举报
回复
你直接在a界面写个<input type="hidden" name="a" value="${???}">
后台取到了在给b的request或者session呗,建议request,效率高。

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧