CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

第一次散分!JSP/Servlet页面重定向的问题

楼主xdop(鸿飞处)2005-09-15 11:15:16 在 Java / Web 开发 提问

今天用<jsp:forward   标签对页面重定向,request好像没有传递过来...    
  想弄明白那些重定向可以传递请求参数?  
  请问页面重定向的语句应用上区别在哪里?  
  <jsp:forward   page=""   />  
  response.sendRedirect()  
  RequestDispatcher.forward()  
  pageContext.forward()  
  ...                                                                           //   还有没有其他实现重定向的方式?  
   
  能不能用session和application重定向 问题点数:100、回复次数:16Top

1 楼dachun(达达)回复于 2005-09-15 11:23:23 得分 5

response.sendRedirect("http://");  
   return;Top

2 楼majy()Oo.冲天剑.oO()(为这个国家做点什么吧)回复于 2005-09-15 11:28:30 得分 0

session和application是服务器的东东,重定向个什么劲啊  
  Top

3 楼xiaofei7569(夏雁)回复于 2005-09-15 11:33:06 得分 0

同意楼上的。Top

4 楼caimaohua(杨白劳)回复于 2005-09-15 11:38:06 得分 10

session和application是服务器的东东,是设置变量,session是单独的,application是全局的,创建了就存在,除非消毁,否则一直存在的  
  Top

5 楼soulcounter(风精灵)回复于 2005-09-15 11:46:44 得分 10

重定向不影响SESSION   的,如果你想保留一些数据的话,可以把变量存在SESSION里面,然后重定向出去,再在新页面里面取出来。如果不是很严格的话,可以把SESSION理解为一个浏览器的全局变量,虽然数据是存在服务器上的。Top

6 楼xdop(鸿飞处)回复于 2005-09-15 11:52:11 得分 0

谢谢  
  我的问题可能问片面了,其实困惑的是页面间参数传递和共享的问题  
  比如,页面A根据一个动态参数,做选择,把处理交给页面B、页面C、页面D...  
  页面B需要原始请求的所有参数;  
  页面C需要某个被页面A加工过的参数;  
  页面D可能是个静态的,不要参数;  
  那么这些跳转,应该选择那一种比较合适。  
  值得指出的是,有时候我想用setAttribute()保存参数  
  而事实上pageContext、request、session、application都可以用setAttribute()又如何选用?Top

7 楼xdop(鸿飞处)回复于 2005-09-15 13:05:15 得分 0

ding   一下Top

8 楼zdsdiablo(十分钟年华老去)回复于 2005-09-15 13:08:28 得分 0

同上  
   
   
   
  =================================================================  
                  角落里的理想  
                                  http://blog.csdn.net/zdsdiablo/  
                                                                    --------十分钟年华老去  
  =================================================================  
  Top

9 楼xinxiakk(特亚)回复于 2005-09-15 13:16:43 得分 5

jsp:forward   page  
  response.sendRedirect  
  两种页面跳转Top

10 楼atttongmu(atttongmu)回复于 2005-09-15 13:22:15 得分 5

pageContext、request、session、application都可以用  
  但是它们生命周期不一样吧  
  懂得不多,等待高手出现。Top

11 楼LuckyBall(LuckyBall)回复于 2005-09-15 13:37:49 得分 25

response.sendRedirect()就是重定向,传递参数用“?”的方式  
  getServletContext().getRequestDispatcher("aaa.jsp").forward(req,res)是请求转发  
  传递参数request.setAttribute("aa",aa)  
  session,application是生命周期和作用范围的东西,与转发没什么关系Top

12 楼xdop(鸿飞处)回复于 2005-09-15 13:43:49 得分 0

to   LuckyBall(LuckyBall)    
   
        getServletContext().getRequestDispatcher("aaa.jsp").forward(req,res)转发后  
  接收页面得到的request是不是仍然携带来自客户端的请求数据?  
   
  也就是说,不需要在第一个jsp页面中一一设置setAttribute(k,v),是吗Top

13 楼mh81_1981(梦海)回复于 2005-09-15 13:45:05 得分 40

<jsp:forward   page=""   />,用于jsp页面请求转发,只限于一个web应用,共享request  
  RequestDispatcher.forward(),用于servlet请求转发,只限于一个web应用,共享request  
   
  response.sendRedirect(),用于jsp/servlet,请求重定向,可以是不同的web应用(任意url),不共享  
                                                  request  
   
   
  "页面A根据一个动态参数,做选择,把处理交给页面B、页面C、页面D...  
  页面B需要原始请求的所有参数;  
  页面C需要某个被页面A加工过的参数;  
  页面D可能是个静态的,不要参数;  
  那么这些跳转,应该选择那一种比较合适"=================="选择session.setAttribute吧"  
   
  pageContext、request、session、application这四者区别,网上多的是,就不说了(也是java面试常考题)  
  Top

14 楼xdop(鸿飞处)回复于 2005-09-15 14:22:04 得分 0

今天写个模块,传入一系列的查询参数,其中一个查询主题决定了需要选择不同的表  
  参考以上各位高手的意见,我使用了下列几种写法,但请求参数在后续页面中似乎没  
  了,难道必须把request参数一个一个setAttribute()才行?!  
  ================================写法1======================================  
  <%@   page   contentType="text/xml;   charset=GBK"   %>  
  <%  
  String   pa_querysubject   =   xmlForm.getValue("querysubject");//取参 pageContext.forward("subject"+pa_querysubject+".jsp");  
  %>  
   
  ================================写法2======================================  
   
  <%@   page   contentType="text/xml;   charset=GBK"   %>  
  <%  
  String   pa_querysubject   =   xmlForm.getValue("querysubject");  
  request.sendRedirect("subject"+pa_querysubject+".jsp");  
  %>  
   
  ================================写法3======================================  
   
  <%@   page   contentType="text/xml;   charset=GBK"   %>  
  <%  
  String   pa_querysubject   =   xmlForm.getValue("querysubject");  
  %>  
  <jsp:forward   page="<%=pa_querysubject%>">  
   
  ================================写法4======================================  
  <%@   page   contentType="text/xml;   charset=GBK"   %>  
  <%  
  String   pa_querysubject   =   xmlForm.getValue("querysubject");  
  getServletContext().getRequestDispatcher("subject"+pa_querysubject+".jsp").forward(request,response);   //   这个还没调试  
  %>  
  Top

15 楼xdy3008(IT难民营执行主席)回复于 2005-09-15 15:18:39 得分 0

servlet   用的少     帮顶     学习!!!!!!!!Top

16 楼zeq258(周二强)回复于 2005-09-15 16:57:47 得分 0

支持上边所有的~Top

相关问题

  • servlet重定向jsp
  • 在jsp页面(或servlet)中可不可以重定向到自己本身?
  • 如何在由servlet重定向到jsp时也能显示页面使用的css样式?
  • jsp页面重定向时中文乱码的问题
  • 在JSP中如何实现页面重定向功能?
  • 在servlet里用RequestDispatcher重定向到jsp出现乱码!!!
  • 页面重定向问题。
  • 在jsp中response.sendRedirect如何重定向到一个新窗口的新页面??
  • 在jsp中response.sendRedirect如何重定向到一个新窗口的新页面???
  • servlet重定向问题

关键词

  • 页面
  • web应用
  • 服务器
  • 选择
  • 数据
  • application
  • jsp
  • servlet
  • 重定向
  • 参数

得分解答快速导航

  • 帖主:xdop
  • dachun
  • caimaohua
  • soulcounter
  • xinxiakk
  • atttongmu
  • LuckyBall
  • mh81_1981

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo