html页面跳转大全
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如: <jsp:forward page="/servlet/login" /> <jsp:forward page="/servlet/login"> <jsp:param name="username" value="jsmith" /> </jsp:forward>
<jsp:forward>标签从一个 JSP 文件向另一个文件传递一个包含用户请求的 request 对 象.<jsp:forward>标签以下的代码,将不能执行. 可使用了<jsp:param>标签的话向目标文件传送参数和值,目标文件必须是一个动态的文件, 能够处理参数. 如 果 你 使 用 了 非 缓 冲 输 出 的 话 , 那 么 使 用 <jsp:forward> 时 就 要 小 心 。 如 果 在 你 使 用 <jsp:forward>之前,jsp 文件已经有了数据,那么文件执行就会出错.
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 做的,浏览器并不知道,也不和浏览器打交道,浏览器的地 址不变化。*/ 即:
String
newLocn="/index.html"; response.setHeader("Location",newLocn); % >
采用<JSP:FORWORD>
该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户
端之前,原来的不发送,改为发送该页面的内容,如果在<JSP:
FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该
语句将不起作用,这一点应该特别注意.
自己现在知道的在一个 jsp 页面中嵌套另外一个 jsp 页面,有三种方法: 1、通过<%@ include
Байду номын сангаас
file="header.jsp"%>这种方法只能实现静态页面的加载,最常用是在一个项目中实现通
HEADER 部分.
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String
newLocn="/index.html"; response.setHeader("Location",newLocn); % >
3.<jsp:forward page="跳转页面"/>
</jsp:forward>
该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户
端之前,原来的不发送,改为发送该页面的内容,如果
在<jsp:forward>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么
该语句将不起作用,这一点应该特别注意.
request 可以传值过去. 直接跳转到页面,后面的代码不执行. 跳转后地址栏不变. 无
用页头 header.jsp 和 footer.jsp 的加载。
2、通过<%@ include page="tt.jsp"%>这种做法可以实现动态页面的加载,但其需要向
页面传递参数; 3、通过<iframe
src="jsp 的路径">来向页面加载另一个 jsp 页面,是一个内联框架。
用 forward 传参数的, 要这样写: <%String str="你已经登陆!"; %> <jsp:forward page="index.jsp> <jsp:param name="name" value= <%=str%>/>
JSP 页面跳转方法荟萃 1. response.sendRedirct("跳转到页面"); 该方法通过修改 HTTP 协议的 HEADER 部分,对浏览器下达重定向指令的,使浏览器显示
重定向网页的内容. request 无法传值过去. 执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变. 可以跳转到其他服务器上的页面 response.sendRedirct(http://www.sun.com). 2.response.setHeader(); 该方法和 response.sendRedirect 一样,通过修改 HTTP 协议的
<meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 是等待时间,如果设置为 5 表示等待 5s 后开始跳转 </head> ………… (4).JavaScript 跳转 A: <script languate="javascript">
重定向网页的内容.
response.sendRedirect("http://localhost:7001/index.html");
下面的方法也能改变 HTTP
HEADER 属性,它的原理和 1 是一样的
.
<%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
</script> 对于 document,location 不是不是对象,document.location=document.url D: history 对象的 forward(),back(),go()方法.go()方法需要一个整形入口参数 <a href="javascript:history.go(-1)">返回上一步</a> 等价于<a href="javascript:history.back()">返回上一步</a> E: document.formName.action="test.jsp";
window.location.replace("http://www.baidu.com"); </script> B: 也可以直接给 window.location 属性赋值,window.location="url",与 A 不同的是有历史 记录
C: <script languate="javascript"> document.location.href("http://www.google.com");
request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %>
有以下 3 种方法可以做到输出重定向: RESPONSE.SETREDERECT("URL")
该方法通过修改 HTTP 协议的 HEADER 部分,对浏览器下达重定向指令的,使浏览器显示
document.formName.submit(); //使用 JS 提交的方式 第一种: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> 第二种: <script language="javascript"> alert("返回"); window.history.back(-1); </script> 第三种: <script language="javascript"> window.navigate("top.jsp"); </script> 第四种: <script language="JavaScript"> self.location='top.htm'; </script> 第五种: <script language="javascript"> alert("非法访问!"); top.location='xx.jsp'; </script> (5).<jsp:forward page="nextpage.jsp"/>
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 语言的自动跳转 <html> <head>
法跳转到其他服务器上的页面. 图片不是绝对路径无法显示.
4.request.getRequestDispatcher("跳转页面"); request 可以传值过去. 执行完该页所有
代码,然后再跳转到页面.
跳转地址栏不变. 不可以跳转到其他服务器上的页面 <% RequestDispatcher rd =
<jsp:forward>标签从一个 JSP 文件向另一个文件传递一个包含用户请求的 request 对 象.<jsp:forward>标签以下的代码,将不能执行. 可使用了<jsp:param>标签的话向目标文件传送参数和值,目标文件必须是一个动态的文件, 能够处理参数. 如 果 你 使 用 了 非 缓 冲 输 出 的 话 , 那 么 使 用 <jsp:forward> 时 就 要 小 心 。 如 果 在 你 使 用 <jsp:forward>之前,jsp 文件已经有了数据,那么文件执行就会出错.
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 做的,浏览器并不知道,也不和浏览器打交道,浏览器的地 址不变化。*/ 即:
String
newLocn="/index.html"; response.setHeader("Location",newLocn); % >
采用<JSP:FORWORD>
该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户
端之前,原来的不发送,改为发送该页面的内容,如果在<JSP:
FORWORD>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该
语句将不起作用,这一点应该特别注意.
自己现在知道的在一个 jsp 页面中嵌套另外一个 jsp 页面,有三种方法: 1、通过<%@ include
Байду номын сангаас
file="header.jsp"%>这种方法只能实现静态页面的加载,最常用是在一个项目中实现通
HEADER 部分.
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); String
newLocn="/index.html"; response.setHeader("Location",newLocn); % >
3.<jsp:forward page="跳转页面"/>
</jsp:forward>
该方法是利用服务器端先将数据输出到缓冲区的机制,在把缓冲区的内容发送到客户
端之前,原来的不发送,改为发送该页面的内容,如果
在<jsp:forward>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么
该语句将不起作用,这一点应该特别注意.
request 可以传值过去. 直接跳转到页面,后面的代码不执行. 跳转后地址栏不变. 无
用页头 header.jsp 和 footer.jsp 的加载。
2、通过<%@ include page="tt.jsp"%>这种做法可以实现动态页面的加载,但其需要向
页面传递参数; 3、通过<iframe
src="jsp 的路径">来向页面加载另一个 jsp 页面,是一个内联框架。
用 forward 传参数的, 要这样写: <%String str="你已经登陆!"; %> <jsp:forward page="index.jsp> <jsp:param name="name" value= <%=str%>/>
JSP 页面跳转方法荟萃 1. response.sendRedirct("跳转到页面"); 该方法通过修改 HTTP 协议的 HEADER 部分,对浏览器下达重定向指令的,使浏览器显示
重定向网页的内容. request 无法传值过去. 执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变. 可以跳转到其他服务器上的页面 response.sendRedirct(http://www.sun.com). 2.response.setHeader(); 该方法和 response.sendRedirect 一样,通过修改 HTTP 协议的
<meta http-equiv="refresh" content="0;url="http://www.baidu.com"> 0 是等待时间,如果设置为 5 表示等待 5s 后开始跳转 </head> ………… (4).JavaScript 跳转 A: <script languate="javascript">
重定向网页的内容.
response.sendRedirect("http://localhost:7001/index.html");
下面的方法也能改变 HTTP
HEADER 属性,它的原理和 1 是一样的
.
<%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
</script> 对于 document,location 不是不是对象,document.location=document.url D: history 对象的 forward(),back(),go()方法.go()方法需要一个整形入口参数 <a href="javascript:history.go(-1)">返回上一步</a> 等价于<a href="javascript:history.back()">返回上一步</a> E: document.formName.action="test.jsp";
window.location.replace("http://www.baidu.com"); </script> B: 也可以直接给 window.location 属性赋值,window.location="url",与 A 不同的是有历史 记录
C: <script languate="javascript"> document.location.href("http://www.google.com");
request.getRequestDispatcher("to.jsp"); rd.forward(request,response); %>
有以下 3 种方法可以做到输出重定向: RESPONSE.SETREDERECT("URL")
该方法通过修改 HTTP 协议的 HEADER 部分,对浏览器下达重定向指令的,使浏览器显示
document.formName.submit(); //使用 JS 提交的方式 第一种: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script> 第二种: <script language="javascript"> alert("返回"); window.history.back(-1); </script> 第三种: <script language="javascript"> window.navigate("top.jsp"); </script> 第四种: <script language="JavaScript"> self.location='top.htm'; </script> 第五种: <script language="javascript"> alert("非法访问!"); top.location='xx.jsp'; </script> (5).<jsp:forward page="nextpage.jsp"/>
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 语言的自动跳转 <html> <head>
法跳转到其他服务器上的页面. 图片不是绝对路径无法显示.
4.request.getRequestDispatcher("跳转页面"); request 可以传值过去. 执行完该页所有
代码,然后再跳转到页面.
跳转地址栏不变. 不可以跳转到其他服务器上的页面 <% RequestDispatcher rd =