转发标签forward

当执行到<jsp:forward page="相对路径"></jsp:forward>后,会立即结束当前页面的显示,跳转到另一个页面(JSP、HTML、Servlet类)。

1、不带参数的forward标签:

定义jsp页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>jsp的学习</title>
  </head>
  <body>
  今天是国庆假期的第二天。
  <jsp:forward page="forward.jsp"></jsp:forward>
  今天是国庆假期的第二天。
  </body>
</html>.

定义要跳转到的jsp页面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>forward</title>
</head>
<body>
<h3>我是forward跳转后的页面!</h3>
</body>
</html>

跳转后访问的地址没有改变,与请求转发类似。

注意事项:

2、带参数的forward标签:

设置forward标签的键和值:

<%@ page contentType="text/html;charset=utf-8" language="java" %>
<html>
  <head>
    <title>jsp的学习</title>
  </head>
  <body>
  <jsp:forward page="forward.jsp"><jsp:param name="1" value="123"></jsp:param></jsp:forward>
  </body>
</html>.

由键获取值:

<html>
<head>
    <title>forward</title>
</head>
<body>
<h3>我是forward跳转后的页面!</h3>
<h2>从index.jsp获取到的值为:<%=request.getParameter("1")%></h2>
</body>
</html>

3、forward标签在登录界面的应用:

log.jsp实现对用户信息的收集:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body bgcolor="aqua">
<center>
    <h3>登录</h3>
    <form  method="get" action="check.jsp">
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户名:<input type="text" name="username" size="12"><br>
        密&nbsp;&nbsp;码 :<input type="password" name="password" size="6" ><br><br>
        <input type="reset" value="取消">
        <input type="submit" value="登录">
    </form>
</center>
</body>
</html>

check.jsp对用户提交的信息进行校验:

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>check</title></head><body><%    String name=request.getParameter("username");    String password=request.getParameter("password");    if(name.equals("zhai")&&password.equals("1997")){%><jsp:forward page="success.jsp">    <jsp:param name="username" value="<%=name%>"></jsp:param></jsp:forward><%}else {%><jsp:forward page="log.jsp"></jsp:forward><%    }%></body></html>

此jsp实现了从log.jsp获取用户信息,并将信息封装在forward内,在页面跳转后,能够通过键获取相应的值。

success.jsp:实现登录成功后的信息显示,获取到了forward内部的信息:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>success</title>
</head>
<body>
<h3>登录成功,欢迎你:<%=request.getParameter("username")%></h3>
</body>
</html>

原文地址:https://www.cnblogs.com/zhai1997/p/11617937.html

时间: 2024-10-11 22:41:36

转发标签forward的相关文章

19 jsp——jsp的转发标签

jsp转发标签 格式 <jsp:forward page="jsp相对地址"></jsp:forward> 注意:如果不带参数<jsp:forward></jsp:forward>之间不能有任何内容,空格也不行,否则报错. 带参数的转发 格式 <jsp:forward page="forwardJsp.jsp"> <jsp:param name="age" value="

c++11 标准库函数 std::move 和 完美转发 std::forward

c++11 标准库函数 std::move 和 完美转发 std::forward #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #include <vector> #include <map> // C++中还有一个被广泛认同的说法,那就是可以取地址的.有名字的就是左值,反之,不能取地址的.没有名字的就是右值. // 相对于左值,右值表示字面常量.表达式.函数的非

转发(forward)与重定向(redirect)

转发(forward) 是服务器请求资源,服务器直接访问目标资源地址的URL,读取并发送目标URL返回的内容到浏览器,这个过程浏览器是不知道,浏览器的地址栏还是原来的地址. 转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的也是自己的容器内的request,故转发页面和转发到的页面可以共享request里面的数据. 重定向(redirect) 是服务器根据处理逻辑,返回一个302状态码和新请求地址,告诉浏览器重新去请求这个url,这时浏览器的地址栏就会变成新

转发(forward)和重定向(redirect)

转发和重定向 参考:http://www.2cto.com/kf/201107/97118.html 以前写的一个注册页面: 1 package com.ifly.bbs.controller; 2 3 import java.io.IOException; 4 5 import javax.servlet.ServletException; 6 import javax.servlet.annotation.WebServlet; 7 import javax.servlet.http.Htt

转发细节——forward

1)forward()方法之前的输出,如果是输出到缓冲区,再转发到其它Servlet,那么原缓冲区的数据忽略不计:2)forward()方法之前的输出,如果真正输出到浏览器,再转发到其它Servlet,则转发到的Servlet的输出便忽略不计了.3)但是,已经写入到了response对象中的响应头还是保留,因为响应头的内容并不属于流的内容,不需要缓冲.

请求转发(Forward)和重定向(Redirect)的区别

forward(转发): 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在服务器实现的,并不是在客户端实现的所以客户端并不知道这个跳转动作,所以它的地址栏还是原来的地址. redirect(重定向): 是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL. 转发是服务器行为,重定向是客户端行为. 区别: 1. 从地址栏显示来说for

请求转发(forward) 和重定向(redirect)的区别?

   forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取   过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,   所以它的地址栏中还是原来的地址.   redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,地址栏中   是新的地址.    前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址:后者则   是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接.这样,从浏览

转发(forward)和重定向(redirect)的区别

转发与重定向的主要区别 转发 重定向 转发是服务器行为 重定向是客户端行为 转发浏览器url不改变 重定向浏览器url改变 转发request请求数据不丢失 重定向request请求数据丢失 转发效率较高 重定向效率较低 工作流程: 转发:客户浏览器发送http请求--web服务器接受此请求--调用内部的一个方法在容器内部完成请求处理和转发动作--将目标资源发送给客户: 重定向:客户浏览器发送http请求--web服务器接受后发送302状态码响应及对应新的location给客户浏览器--客户浏览

jsp学习(Tomcat服务器+myeclipse)

阅读前提:了解Tomcat服务器和Servlet 在web开发中我们可以通过Servlet的Response对象对浏览器输出我们的网页内容 这样虽然可以进行网页输出,但是代码编写极其繁杂,冗余很多,所以jsp就出现了: 先描述一下现象,首先我们可以在myeclipse新建Manager的web project,在WebRoot下会有index.jsp文件: 1 <%@ page language="java" import="java.util.*" page