`
javaeye_hua
  • 浏览: 80584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

forward redirect 理解

阅读更多

1. forward:

   1.1 request.getRequestDispatcher("newUrl").forward(request,response).

   1.2 forward操作,是request请求指向新的地址,但并没有使IE重新改写URL,IE仍旧采用request的url

   1.3 servlet中,forward不能带参数指向新地址,只能以request.setAttribute(key,value)方式传递给新的url中。

在新url中,使用request.getAttribute(key)获取参数值。

   1.4 整个forward跳转过程中,没有结束一次request→response过程,request一直有效,所以可以使用1.3中所述的request.getAttribute(key)方式获取参数值。

   1.5 不能指向另一个context的地址

2. redirect

   2.1 response.sendRedirect("newUrl")

   2.2 redirect重定向操作,重写IE的url,结束当前request请求,使得当前request在新的url中失效

   2.3 新的url中,IE新建request

   2.4 可以以url?p1=p1v&p2=p2v方式传递参数给新的url

   2.5 可以指向自己、其他context范围中的url

 

 

 3. 由上述1 、2中总结,想实现避免重复提交操作(struts、servlet中):

   3.1 使用redirect重定向IE的url,避免刷新重复访问servlet、action的url

   3.2 在3.1中,会导致request失效,request.setAttribute(key,value)无法传递参数,为解决此问题,需要以forward方式指向一个临时url(eg. redirect.jsp),获得request的attribute后,使用3.1的redirect方式,以参数传递方式访问最终url,获取参数。同时改写IE 的url,避免刷新后重复执行上次的url操作。

 

 

0
1
分享到:
评论

相关推荐

    forward与redirect区别

    在开发Web应用时,我们经常会遇到“forward”和“redirect”的概念,它们是两种不同的页面跳转方式。理解和掌握它们的区别对于优化用户交互和处理请求流至关重要。 **forward(转发)**: - 转发是由服务器端完成的...

    jsp forward与redirect实探

    在Java Web开发中,JSP(Java...总之,理解并熟练掌握`jsp forward`和`redirect`对于开发高效、安全的Java Web应用至关重要。它们是构建动态网站结构的重要工具,合理运用可以优化用户体验并提高应用程序的灵活性。

    forward转发与redirect重定向的区别.zip

    在Web开发中,"转发"(Forward)和"重定向"(Redirect)是两种常见的请求处理方式,它们在实现客户端和服务器之间的交互时起到至关重要的作用。了解它们的区别对于优化用户体验和提高应用性能至关重要。 首先,让...

    struts_actionforward.rar_ActionForward_redirect

    ActionForward的使用 1、理解全局和局部ActionForward的概念 2、redirect的使用 3、struts-config.xml文件不允许动态修改 4、理解动态ActionForward,动态的ActionForward是可以运行期修改的

    转发和重定向的区别 forward和redirect的区别

    2. 重定向(Redirect): - 使用`Response.sendRedirect()`方法实现。 - 重定向会导致浏览器发起一个新的HTTP请求,所以URL会显示为新的目标地址,客户端浏览器能够感知到这个变化。 - 重定向路径必须是绝对路径...

    java中dispcter和forward的区别

    3. 效率:`forward()`通常比`redirect()`更高效,因为它不需要浏览器再次发起请求。 4. 范围:`forward()`通常用于转发到应用程序内部的资源,而`redirect()`可以重定向到任何URL,包括外部站点。 5. 使用场景:`...

    structs in action中文完全版\6. 连线 ActionForward.pdf

    - **理解ActionForward的最佳实践**:为了确保应用的健壮性和可维护性,开发者应当遵循一套关于ActionForward使用的最佳实践。例如,合理设计ActionForward的逻辑名称(name),这有助于提高代码的可读性和可维护性;...

    Ext做的例子右键菜单设置forward跳转b/s版

    首先,让我们理解一下“forward”跳转的概念。在Web开发中,"forward"不同于"redirect"。重定向(Redirect)会发送一个新的HTTP响应到客户端,让浏览器加载不同的URL;而转发(Forward)则是在服务器端内部完成的,...

    Struts2中实现页面的跳转

    通过深入理解和正确配置上述元素,你可以有效地在Struts2框架中利用`<jsp:forward/>`标签实现页面的跳转,避免遇到“no found”的问题。同时,也要注意,在现代Web开发中,更多地使用`<s:redirect/>`标签进行重定向...

    ActionForward和国际化

    ### ActionForward的理解与使用 #### 默认行为:转发 `ActionForward`是Struts2框架中用于控制程序流程的重要对象之一。当一个Action执行完毕后,可以通过返回一个`ActionForward`实例来告诉Struts2下一步应该做...

    redirect--and-forword.rar_redirect

    在Java Web开发中,"重定向"(Redirect)和"转发"(Forward)是两种常见的处理请求的方法,它们用于在服务器端控制用户浏览器的行为。理解并熟练掌握这两者对于Java初学者至关重要,因为它们在构建动态网站时起着...

    struts入门,最适合新手上路

    总的来说,掌握ActionForward是理解Struts工作原理的关键一步,对于新手来说,理解这一机制可以帮助他们更好地构建和控制Web应用的流程。学习如何配置和使用ActionForward,以及了解其与Action、ActionMapping之间的...

    [新版]JavaWeb口试题.doc

    【JavaWeb面试题】—— `forward` 和 `redirect` 的区别 在JavaWeb开发中,`forward` 和 `redirect` 是两种常用的请求处理方式,它们主要用于控制请求的流向。了解它们的区别对于理解Web应用程序的工作原理至关重要...

    大厂面试题知识点讲解汇总

    怎么启动线程怎么区分线程、bat面试题之forward和redirect的区别、bat面试题之内置对象和四大作用域和页面传值、bat面试题之设计模式和常用的设计模式、bat面试题之实现一个拷贝文件的类使用字节流还是字符串、bat...

    spring-post-forward-static:Spring MVCboot 在 POST 上转发到静态资源

    3. 视图名以"forward:"或"redirect:"开头,分别表示内部转发和重定向。 4. 配置静态资源路径,让Spring MVC知道如何找到静态文件。 5. 如果需要自定义静态资源处理,可以实现WebMvcConfigurer接口。 理解并掌握这些...

    JSP中绝对路径与相对路径

    与forward不同的是,redirect会触发浏览器重新发起请求,因此在计算绝对路径时,会以服务器的根路径(例如`http://localhost:8080/`)为基础,而无需考虑项目级别的隔离。 #### 四、Forward与图片加载问题 在某些...

    js宝方法方法法笑嘻嘻典

    【JS宝典:深入理解ActionForward与ActionMapping在Struts2框架中的作用】 在Web开发领域,Struts2框架以其强大的MVC模型而备受推崇,它源于Webwork2框架,后者是一个基于命令模式的Web框架XWork。Webwork的核心...

    ASP.NET页面跳转方法研究

    本篇文章将深入探讨ASP.NET中常见的页面跳转方法,分析其适用场景、优缺点,帮助开发者更好地理解和运用。 1. **Response.Redirect()** - **定义**:这是ASP.NET中最常用的页面跳转方法,通过Http响应对象的...

    servlet跳转页面的几种方法

    本篇文章将详细讲解Servlet中跳转页面的两种主要方法:redirect(重定向)和forward(转发),以及在JSP中如何实现类似操作。 1. **Servlet中的跳转** - **Redirect(重定向)** 重定向是通过`response....

Global site tag (gtag.js) - Google Analytics