页面调转有如下几种方式
1 RequestDispatcher.forward()
2 response.sendRedirect()
3 <jsp:forward page="" />
4 修改HTTP header的Location属性来重定向
5 pageContext.forward()
我把检验用户是否登录的代码写在一个JSP文件中
代码如下
logincheck.jsp
<%
if (session.getAttribute("flag") == null
|| !"ok".equals(session.getAttribute("flag"))) {
//1 跳转方式1
response.sendRedirect("login.jsp");
return;
//2跳转方式2
//pageContext.forward("login.jsp");
}
%>
//success.jsp
<%@ page contentType="text/html;charset=Shift_JIS" session="true"
isErrorPage="false" errorPage="err.jsp" %>
//a 包含方法a
<!-- jsp:include page="logincheck.jsp" flush="true"/---->
//b 包含方法b
<%@ include file="logincheck.jsp"%>
<html>
<head>
<title>Success.jsp</title>
</head>
<body>
This is my JSP page. Success! <br>
Welcome
<%
out.print("SCHOOL : "+request.getAttribute("school")+"<br>");
out.print("AGE : "+session.getAttribute("age")+"<br>");
out.print("CITY : "+application.getAttribute("city")+"<br>");
%>
</body>
<A href="logout.jsp">ログ アウト</A>
</html>
我将文件的包含方式和文件的调转方式作了组合测试。
结果如下
--------------------------------------------------
包含方法 | 跳转方法 | 结果
-------------------------------------------------
a | 1 | 注1
------------------------------------------------
b | 1 | ok
------------------------------------------------
a | 2 | 注2
------------------------------------------------
b | 2 | ok
------------------------------------------------
注1
不做任何调转
注2
只有将
<jsp:include page="logincheck.jsp" flush="true"/>
放在代码的第一行才可以。
否则
java.lang.IllegalStateException: Cannot forward after response has been committed at org.apache.catalina.core.ApplicationDispatcher.doForward
相关推荐
### JSP页面跳转方法详解 #### 一、概述 JSP(Java Server Pages)是一种动态网页技术标准,被广泛应用于构建动态网站和Web应用程序。在JSP开发中,页面跳转是一项非常基础且重要的功能,它使得用户能够在不同的...
在本节中,我们将详细介绍 JSP 登录跳转页面的实现细节,包括首页登录页面、判断 check 页面和最后的成功登录显示页面。 首页登录页面 首页登录页面是用户登录系统的入口点。该页面是使用 JSP 语言编写的,名称为 ...
### JSP页面跳转的五种方法详解 #### 一、引言 在Web开发中,页面间的跳转是一项基本且重要的功能。JSP作为Java Web开发中的一个重要组成部分,提供了多种方式来实现页面间的跳转。本文将详细介绍五种常用的JSP页面...
根据给定的文件信息,我们可以深入探讨页面自动跳转、超链接跳转以及JSP页面跳转的相关知识点,尤其关注于HTML、JavaScript以及浏览器兼容性处理。 ### 页面自定义跳转与超链接跳转 页面自定义跳转指的是在网页...
在本示例中,我们探讨的是如何使用SpringBoot框架整合MyBatis,连接MySQL数据库,并通过JSP页面展示数据及实现页面跳转。首先,我们需要理解SpringBoot的核心特性,它是一个简化Spring应用初始搭建以及开发过程的...
本文将详细介绍 JSP 中五种常用的页面跳转方式及其应用场景。 #### 1. RequestDispatcher.forward() **概念**:`RequestDispatcher.forward()` 是一种服务器端内部转发机制,用于将当前请求转发到同一个 Web 应用...
### JSP页面跳转方法详解 #### 一、RequestDispatcher.forward() **定义与用途:** `RequestDispatcher.forward()` 是一种服务器端的跳转方法,它主要用于在同一个Web应用内部进行页面之间的跳转。该方法的主要...
JSP 和 Servlet 中实现页面跳转的方式实例总结 在 web 开发中,页面跳转是一个非常常见的需求,JSP 和 Servlet 是 Java Web 开发中两个最基本的组件,了解它们如何实现页面跳转是非常必要的。本文将根据 JSP 和 ...
### 五种JSP页面跳转方法详解 在Web开发中,页面间的跳转是非常常见的需求之一。JSP(JavaServer Pages)作为一种广泛使用的服务器端技术,在实现页面跳转方面提供了多种方式。本文将详细介绍五种JSP页面跳转的方法...
通过本文档,我们将深入探讨几种常用的JSP页面跳转方式:`response.sendRedirect()`、`response.setHeader()`以及`<jsp:forward>`指令,并通过具体的示例代码来解析这些方法的工作原理及注意事项。 #### 一、`...
在探讨JSP页面跳转这一主题时,我们深入解析其概念、实现方式以及在实际开发中的应用,以此来全面理解JSP技术中的页面跳转机制。 ### JSP页面跳转的概念 页面跳转,通常指的是从一个网页转移到另一个网页的过程。...
### JSP 页面的跳转方式汇总 在Java Server Pages (JSP) 技术中,页面...以上总结了七种JSP页面跳转的方法,每种方法都有其适用场景。开发者应根据实际需求选择最合适的跳转方式,以确保应用程序的高效性和用户体验。
在Web开发中,JavaServer Pages (JSP) ...总结,HTML页面跳转和JSP与HTML之间的跳转有多种方式,开发者可以根据需求选择合适的方法。在实际应用中,通常会结合使用这些技术,提供流畅的用户体验并处理复杂的业务逻辑。
一、JSP页面跳转 1. **隐式转发(Internal Forward)**:在同一个应用内部,可以通过`RequestDispatcher`的`forward()`方法进行页面跳转。这种方式不会生成新的HTTP请求,而是服务器端将请求数据传递到目标页面,...
JSP 跳转方式是指在 JSP 页面中实现跳转到其他页面或资源的技术。下面我们对 JSP 中的三种跳转方式进行总结和分析。 1. response.sendRedirect() response.sendRedirect() 方法是通过在 HTTP 响应头中设置 ...
在JavaServer Pages (JSP) 开发中,页面跳转是一种常见的操作,它允许用户从一个页面导航到另一个页面。本文将重点讨论两种主要的JSP跳转方式:`RequestDispatcher.forward()` 和 `response.sendRedirect()`,以及...
本文将详细介绍JSP中五种常用的页面跳转方法,并深入探讨它们的特点及应用场景。 ### 1. RequestDispatcher.forward() #### 原理与特点 `RequestDispatcher.forward()` 方法主要用于将请求转发到另一个资源(可以...
- 在Java Web应用中,页面跳转通常有两种方式:重定向(Redirect)和转发(Forward)。 - **重定向**:客户端(浏览器)会收到一个新的HTTP响应,并被指示去访问新的URL。这意味着客户端会发送一个新的请求到...
在IT领域,特别是前端开发中,JavaScript(简称JS)被广泛用于实现网页的动态功能,包括页面跳转和对...需要注意的是,在进行页面跳转和刷新操作时,应考虑到用户体验和浏览器的兼容性问题,确保代码的健壮性和可靠性。