一 点睛
1 客户端跳转:跳转之后地址发生改变,不能够传递request属性,有以下技术:
JSP:response.sendRedirct(String path)
HTTP头信息:response.setHeader("refresh","时间间隔;URL=路径")
HTML超链接:<a herf="跳转地址">
JavaScript跳转:window.location="路径"
2 服务器跳转:跳转之后地址不发生变化,能够传递request属性,有以下技术:
JSP:
<jsp:forward page="路径">
<jsp:param name="参数名称" value="参数内容"/>
</jsp:forward>
3 JSP跳转将一个用户的请求从一个页面传递到另一个页面中即完成跳转,与包含类似,也可以完成参数的传递。
两种跳转格式:
1.不传递参数的跳转:
<jsp:forward page="包含的路径">
2.包含参数的跳转:
<jsp:forward page="包含的路径">
<jsp:param name="参数名称" value="参数内容"/>
</jsp:forward>
跳转后的地址栏地址是不变的,利用forward的这种跳转是服务器端跳转。
二 实战
1 跳转前的页面mainForward.jsp
<%@ page pageEncoding="UTF-8" contentType="text/html" %>
<html>
<head>
<title>JSP跳转指令演示</title>
<meta charset="UTF-8">
</head>
<body>
<h1>*******************************</h1>
<jsp:forward page="forward_para.jsp">
<jsp:param name="vara" value="Hello"/>
<jsp:param name="varb" value="World"/>
</jsp:forward>
</body>
</html>
2 跳转后的页面orward_para.jsp
<%@ page pageEncoding="UTF-8" contentType="text/html" %>
<html>
<head>
<title>JSP跳转指令演示</title>
<meta charset="UTF-8">
</head>
<body>
<h1>这是跳转后的页面</h1>
<h1>参数一:<%=request.getParameter("vara")%></h1>
<h1>参数二:<%=request.getParameter("varb")%></h1>
</body>
</html>
3 运行
4 说明
利用forward的这种跳转是服务器端跳转。地址栏没发生变化。