目录
response对象的转发和重定向
转发(Forward)
定义
举例说明
代码演示
index.jsp转接页面
login2.jsp登录页面
重定向(Redirect )
定义
举例说明
代码演示
login.jsp登录成功页面
response对象的转发和重定向
Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。
转发(Forward)
定义
直接转发方式( Forward) , 客户端和浏览器只发出一次请求,Servlet、HTML、 JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。
举例说明
举个生活中简单的例子,我,小金,小明三个人。我没钱了,想问小金借钱,小金知道之后问小明要了钱然后借给我了,这个时候我只知道是小金借给我钱了,到还钱的时候我只用还给小金就行了。我也不用管小金的钱怎么来的,是自己的还是问别人借的,我只用知道还钱的时候我还给小金就行了。这就是借钱的时候请求了一次小金,然后别的我就不用管了。在上述代码里面我就是login2.jsp页面,小金就是index.jsp页面
这个就是response的转发,一共发出了一次请求。
代码演示
index.jsp转接页面
body代码:
if ("1".equals(userName) && "1".equals(pwd)) {
// 账号密码正确 跳转到登录成功页面
response.sendRedirect("login.jsp");
} else {
// 账号密码错误,重新跳转到登录页面,并且输出错误提示
// 传递msg错误提示过去
request.setAttribute("msg", "密码错误");
request.getRequestDispatcher("login2.jsp").forward(request,
response);
}
%>
**login2.jsp登录页面
body代码:**
<body>
<%
// 接收传递过来msg的值
String msg = (String) request.getAttribute("msg");
if (msg == null)
msg = "";
%>
<form action="index.jsp" method="post">
// 创建table表格
<table width="250dx" height