java servlet 几种页面跳转的方法及传值

摘要:
name=tom传至下个页面,同时它可以重定向至不同的主机sendRedirect()可以重定向至有frame的jsp文件。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:response.sendRedirect;跳转后浏览器地址栏变化。这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttributeJSP:1)response.sendRedirect();和servlet的response.sendRedirect()方式一样。
java servlet 几种页面跳转的方法及传值

java web 页面之间传值有一下这几种方式
1.form 表单传递参数
2.url地址栏传递参数
3.session
4.cookie
5.application

6.通过隐藏域传值

7.通过JavaBean进行传值

8.request.setAttribute("strRequest",strRequest);

9.response.setAttribute("name",name)来传至下一个页面

10.response.sendRedirect():在用户的浏览器端工作,sengRedirect()可以带参数传递,比如servlet?name=tom传至下个页面,同时它可以重定向至不同的主机sendRedirect()可以重定向至有frame的jsp文件。重定向后在浏览器地址栏上会出现重定向页面的URL。

11.

1) redirect 方式

response.sendRedirect("/a.jsp");

页面的路径是相对路径。sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如:

response.sendRedirect("http://www.jb51.net");

跳转后浏览器地址栏变化。

这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。

2) forward方式

RequestDispatcher dispatcher = request.getRequestDispatcher("/a.jsp");

dispatcher .forward(request, response);

页面的路径是相对路径。forward方式只能跳转到本web应用中的页面上。

跳转后浏览器地址栏不会变化。

使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute

JSP:

1) response.sendRedirect();

和servlet的response.sendRedirect()方式一样。

此语句前不允许有out.flush(),如果有,会有异常:

java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.

at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)

...

跳转后浏览器地址栏变化

如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了;

如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;

2) response.setHeader("Location","");

此语句前不允许有out.flush(),如果有,页面不会跳转。

跳转后浏览器地址栏变化

此语句后面的语句执行完成后才会跳转

转:http://www.jb51.net/article/35550.htm

免责声明:文章转载自《java servlet 几种页面跳转的方法及传值》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle EBS R12 XML数据表格的Excel脚本报表Vue简单基础 + 实例 及 组件通信下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Response.AddHeader(,)

Response.AddHeader "P3P”,"CP=CAO PSA OUR” Response.AddHeader "P3P”,"CP=CAO PSA OUR” java code : response.setHeader("P3P", "CP=CAO PSA OUR"); 一段解决IFRAME中SESSION无法保留的代码. 这个是属于HTML...

如何解决找不到方法HttpServletRequest.getServletContext() ---- NoSuchMethodError

报错 java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getServletContext()Ljavax/servlet/ServletContext; 造成问题的原因 ServletRequest的getServletContext方法是Servlet3.0添加的,这个...

HTML5中实现文件上传下载的三种解决方案(推荐)

前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方式来学习文件上传的原理与实践。该博客重在实践。 一. Http协议原理简介      HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于19...

httpClient带一个或多个参数实现

 听课视频:https://www.bilibili.com/video/av68932809?p=5 思路分析:先创建httpClient对象,再通过URIBuilder对象根上网址,最后一步带上一个多个参数。 如何写一个HttpClient[1]——URI的处理   1核心代码分: //1:创建httpClient对象CloseableHttpClie...

8、jeecg 笔记之 自定义word 模板导出(一)

1、前言 jeecg 中已经自带 word 的导出导出功能,其所使用的也是 easypoi,尽管所导出的 word 能满足大部分需求, 但总是有需要用到自定义 word导出模板,下文所用到的皆是 easypoi 提供的,为方便下次翻阅,故记之。 2、代码部分 2.1、controller @RequestMapping("/ftl2word") publi...

jQuery以Post方式发送请求并获取返回的文件供下载!

用ajax请求文件下载当然是可以的,不用有返回值,代码差不多是这样: try { string FileName = ".//doc//[大家网]Beginning.ASP.NET.2.0.E-Commerce.in.C#.2005.From.Novice.to.Professional[www.TopSage.c...