JSP jsp:forward:请求转发标签
JSP 中的 <jsp:forward> 动作标签用来将请求转发给另外一个 JSP 或 Servlet 来处理。当执行该标签后,将不再执行当前的页面,而是去执行该标签指定的目标页面或 Servlet。
语法:
The requested resource(/http://localhost:8080/B/logon.jsp)is not available
仔细观察可以看到,错误提示中的路径前自动加入了一个“/”,这是因为 index.jsp 页面在应用 A 的根目录下,当执行 <jsp:forward> 标签时,会在该目录下查找 page 属性指定的目标文件,所以会提示资源不存在的信息。也就是说“<jsp:forward> 动作标签只能用于站内转发”。
注意:<jsp:forward> 标签实现的是请求的转发操作,而不是请求重定向。它们之间的一个区别是:进行请求转发时,存储在 request 对象中的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个 request 请求,然后将该请求重定向到指定的 URL,所以事先存储在 request 对象中的信息都不存在了。
语法:
<jsp:param> 子标签用来向动态的目标文件中传递参数,关键代码如下:
<jsp:forward page="url">
<jsp:param name="name"value="value"/>
<jsp:param name="name"value="value"/>
……
</jsp:forward>
- page:该属性指定了目标文件的路径。如果该值是以“/”开头,表示在当前应用的根目录下查找文件,否则就在当前路径下查找目标文件。请求被转向到的目标文件必须是内部资源,即当前应用中的资源。
示例
若当前应用为 A,在根目录下的 index.jsp 页面中存在下面的代码,用来将请求转发到应用 B 中的 logon.jsp 页面,关键代码如下:<jsp:forward page="http://localhost:8080/B/logon.jsp"/>那么将出现下面的错误提示:
The requested resource(/http://localhost:8080/B/logon.jsp)is not available
仔细观察可以看到,错误提示中的路径前自动加入了一个“/”,这是因为 index.jsp 页面在应用 A 的根目录下,当执行 <jsp:forward> 标签时,会在该目录下查找 page 属性指定的目标文件,所以会提示资源不存在的信息。也就是说“<jsp:forward> 动作标签只能用于站内转发”。
注意:<jsp:forward> 标签实现的是请求的转发操作,而不是请求重定向。它们之间的一个区别是:进行请求转发时,存储在 request 对象中的信息会被保留并被带到目标页面中;而请求重定向是重新生成一个 request 请求,然后将该请求重定向到指定的 URL,所以事先存储在 request 对象中的信息都不存在了。
典型应用
本示例通过 <jsp:forward> 动作标签将请求转发到用户登录页面。在用户运行项目时,首先进入的是 index.jsp 页面,然后通过 <jsp:forward> 标签将请求转发到 login.jsp 页面。代码如下:<body> 您现在位置为index.jsp! <jsp:forward page="login.jsp"></jsp:forward> </body>
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频