请问:forward()方法怎么使用?

请问:forward()方法怎么使用?,第1张

<jsp:forward>的作用是重定向一个html,jsp或者是一个程序段。

比如:<jsp:forward page="/servlet/login" />

<jsp:forward page="/servlet/login">

<jsp:param name="username" value="jsmith" />

</jsp:forward>

1.首页(填写姓名)(可选,表单post到time.jsp即可):

2.判断时间forward到不同页面:

time.jsp:

<%--

Document : index

Created on : 2009-10-3, 15:48:00

Author : lucifer

--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.util.Date" %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<%

Date dat =

new Date()

if(dat.getHours() <= 12){

%>

<jsp:forward page="AmGreeting.jsp"/>

<%}

else{

%>

<jsp:forward page="PmGreeting.jsp"/>

<%}

%>

</body>

</html>

3.如果是早上:

AmGreeting.jsp:

<%--

Document : AmGreeting

Created on : 2009-10-3, 16:00:10

Author : lucifer

--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<h1>Good Morning! </h1>

<%

String name = request.getParameter("userName")

out.PRintln(name)

%>

!!!

</body>

</html>

如果是下午:

PmGreeting.jsp:

<%--

Document : AmGreeting

Created on : 2009-10-3, 16:00:10

Author : lucifer

--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8">

<title>JSP Page</title>

</head>

<body>

<h1>Good Afternoon! </h1>

<%

String name = request.getParameter("userName")

out.println(name)

%>

!!!

</body>

</html>

1、请求方不同

redirect:客户端发起的请求

forward:服务端发起的请求

2、浏览器地址表现不同

redirect:浏览器地址显示被请求的

urlforward:浏览器地址不显示被请求的url

3、参数传递不同

redirect:重新开始一个request,原页面的request生命周期结束。

forward:forward另一个连接的时候。request变量是在其生命周期内的。另一个页面也可以使用,其实质是把目标地址include。

4、底层运作不同

redirect:发送的请求信息又回送给客户机,让客户机再转发到另一个资源上,需要在服务器和客户机之间增加一次通信。

forward:服务器端直接找到目标,并include过来。

5、定义不同

直接转发方式(Forward):客户端和浏览器只发出一次请求,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。

间接转发方式(Redirect)实际是两次HTTP请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。

参考资料来源:百度百科-forward

参考资料来源:百度百科-redirect


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6261312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存