JSP中的跳转: (1). forward()方法 使用到javax.servlet.RequestDispatcher类 RequestDispatcher rd = getServletContext().getRequestDispatcher("url"); rd.forward(requestVar,requestVar); //传递servlet的入口参数 /*forward函数已经把原页面的request,response对象传入新的页面,因此这新旧页面拥有相同的request,response对象。request.getparameter("var")就可以得到相应的值.*/ /*forward()是直接在server做的,浏览器并不知道,也不和浏览器打交道,浏览器的地址不变化。*/ 即: getServletContext().getRequestDispatcher("url").forward(requestVar,responseVar); 服务器端Servlet进行转向的4种方法: 1.ServletContext的getRequestDispatcher() 2.ServletContext的getNamedDispatcher() 3.ServletRequest的getRequestDispatcher() 4.ServletResponse的sendredirect()进行转向。 forward方法,因为这些这样比较高效。只有在forward方法不能使用时,再使用servletresponse的sendredirect()方法。 (2).response.sendRedirect(url); 其实是向浏览器发送一个特殊的Header,然后由浏览器来做转向,转到指定的页面,所以用sendRedirect时,浏览器的地址栏上可以看到地址的变化。新页面不能处理旧页面的pagecontext(request,response,...)对象. 在response.sendRedirect之后,应该紧跟一句return; (3).HTML语言的自动跳转 0是等待时间,如果设置为5表示等待5s后开始跳转 ………… (4).JavaScript跳转 A: <script><!-- window.location.replace("http://www.baidu.com"); // --></script> B: 也可以直接给window.location属性赋值,window.location="url",与A不同的是有历史记录 C: <script><!-- document.location.href("http://www.google.com"); // --></script> 对于document,location不是不是对象,document.location=document.url D: history对象的forward(),back(),go()方法.go()方法需要一个整形入口参数 返回上一步 等价于返回上一步 E: document.formName.action="test.jsp"; document.formName.submit(); //使用JS提交的方式 第一种: <script type="text/javascript"> </script> 第二种: <script> </script> 第三种: <script> </script> 第四种: <script> </script> 第五种: <script> </script> (5). 如: 标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象.标签以下的代码,将不能执行. 可使用了标签的话向目标文件传送参数和值,目标文件必须是一个动态的文件,能够处理参数. 如果你使用了非缓冲输出的话,那么使用时就要小心。如果在你使用之前,jsp文件已经有了数据,那么文件执行就会出错. JSP页面跳转方法荟萃 1. response.sendRedirct("跳转到页面"); 该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去. 执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变. 可以跳转到其他服务器上的页面response.sendRedirct(http://www.sun.com). 2.response.setHeader(); 该方法和response.sendRedirect一样,通过修改HTTP协议的HEADER部分. 有以下3种方法可以做到输出重定向: RESPONSE.SETREDERECT("URL") 该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. response.sendRedirect("http://localhost:7001/index.html"); 下面的方法也能改变HTTP HEADER属性,它的原理和 1 是一样的 . 这种方法只能实现静态页面的加载,最常用是在一个项目中实现通用页头header.jsp和footer.jsp的加载。 2、通过 这种做法可以实现动态页面的加载,但其需要向页面传递参数; 3、通过
JSP页面跳转
最新推荐文章于 2022-06-29 10:02:50 发布
本文详细介绍了JSP页面中的多种跳转方式,包括forward()和sendRedirect()的区别及应用场景,以及HTML和JavaScript实现的跳转方法。同时,还探讨了如何在JSP页面间传递数据和对象。
摘要由CSDN通过智能技术生成