使用JSP大约有下列三种跳转方式:
1. response.sendRedirect();
2. response.setHeader("Location","");
3. <jsp:forward page="" />
经过试验得到下面的一些规则:
一. response.sendRedirect()
此语句前不允许有out.flush(),如果有,会有异常:
java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.
at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)
...
跳转后浏览器地址栏变化
如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了;
如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;
二. response.setHeader("Location","")
此语句前不允许有out.flush(),如果有,页面不会跳转。
跳转后浏览器地址栏变化
此语句后面的语句执行完成后才会跳转
三. <jsp:forward page="" />
此语句前不允许有out.flush(),如果有,会有异常:
java.lang.IllegalStateException: forward() not allowed after buffer has committed.
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:134)
at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:101)
at com.caucho.jsp.PageContextImpl.forward(PageContextImpl.java:836)
...
跳转后浏览器地址栏不变,但是只能跳到当前主机下
此语句后面的语句执行完成后才会跳转
注意上面红笔标出的三句话,代码之前不能有out.flush语句,可是我的代码之前并没有加那句语句,细想一下,应该是页面内容太大,服务器自动flush导致代码执行到页面跳转时不正常,于是在jsp页首加入红色代码,正常显示!
<%@ page contentType="text/html;charset=GBK" autoFlush="false" buffer="64kb %>
并且设置 buffer="64kb 的大小 ,这个大小决定着页面显示多少的问题
还有在使用<jsp:include>标签时候保险起见加入如下代码:
<jsp:include page="page-include/headlink.jsp" flush="false"/>
分享到:
相关推荐
在开发Java Web应用程序时,JSP(JavaServer Pages)页面经常遇到字符编码问题,导致页面显示乱码。本文将深入探讨“JSP乱码”的多种解决方案,并提供实用的解决策略。 1. **理解字符编码的基本概念** - 字符编码...
1. JSP页面显示乱码 这通常是由于字符编码设置不正确造成的。JSP默认使用ISO-8859-1字符集,不支持中文字符。解决办法是在JSP文件的开头添加`<%@ page>`指令,指定页面的字符集,例如: ```jsp ; charset=GBK" ...
本主题聚焦于“jsp页面显示中文乱码解决”,这是一个典型的问题,许多开发者在处理包含中文字符的JSP页面时可能会遇到。让我们深入探讨这个问题,并提供一系列解决方案。 1. **字符编码基础** - **字符集与编码**...
JSP乱码通常发生在字符编码不一致或者处理不当的情况下,这会影响用户界面的显示,导致文字显示为不可读的方块或者特殊字符。本文将深入探讨JSP乱码的原因及其解决方案,帮助开发者有效地处理这类问题。 ### 1. JSP...
通过上述两种解决方案,我们可以有效解决Struts2资源文件在JSP页面中显示乱码的问题。虽然第一种方法可以达到目的,但其带来的维护不便使其不被推荐;相比之下,安装PropertiesEditor插件不仅操作简便,还能彻底解决...
本文将针对JSP页面显示乱码、表单提交中文时出现乱码以及数据库连接时出现乱码这三个方面,提供详细的解决方案。 #### JSP页面显示乱码 **问题描述** 当在JSP页面中尝试显示中文时,可能会遇到乱码问题。例如,在...
在网页开发中,JSP(JavaServer Pages)是一种常见的技术,用于生成动态网页内容。在处理大量数据时,分页...在实际项目中,开发者还需要考虑更多的因素,如错误处理、用户交互优化等,以提供更加完善的分页解决方案。
这个问题可能由多种因素导致,下面我们将详细探讨这些可能的原因及其解决方案。 1. **页面内容过多**:如果JSP页面包含大量的静态内容(如图片、视频、CSS和JavaScript文件),这可能导致页面加载时间延长。优化...
jsp 页面显示中文乱码是由于编码方式设置不正确导致的。解决方法是设置 pageEncoding 和 contentType 的其中一个或者两个为支持中文的编码格式,如 utf-8、gbk、gb2312 等。 在 jsp 页面中,pageEncoding 指的是 ...
本文将详细探讨如何有效地解决JSP页面中的中文问题,确保用户界面能够正确地显示中文内容。 #### JSP页面中文问题的根本原因 在JSP页面中出现中文乱码的原因主要有以下几个方面: 1. **文件存储编码不一致**:JSP...
### jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法 #### 背景介绍 在Java Web开发中,JSP(JavaServer Pages)是一种广泛使用的服务器端技术,用于创建动态网页。EL(Expression Language)是JSP 2.0...
- **设置JSP页面编码**:在JSP页面头部添加`; charset=UTF-8" pageEncoding="UTF-8"%>`,确保页面使用统一的编码格式。 - **设置Tomcat服务器编码**:修改Tomcat配置文件中的`URIEncoding`属性为“UTF-8”,以确保...
"基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案" 本文介绍了一种基于JSP访问ORACLE数据库BLOB字段并显示图形的解决方案。该方案使用JSP技术读取ORACLE数据库中的BLOB字段存储的坐标点,然后将坐标传递到...
在提交页面表单元素给对应的 JSP页面或者Servlet时,如果接收方出现表单数据中文值乱码,可能是由于接收参数的编码方式不正确所致。解决方案是,在接收 POST 提交的参数之前,使用 request.setCharacterEncoding(...
本文将详细介绍如何解决JSP页面间传递变量时出现的乱码问题。 首先,我们来看方案(一),这是通过在JSP脚本中设置字符编码来解决局部乱码的方法。在JSP页面中插入以下代码: ```jsp ("GBK"); %> ("GBK"); %> ``` ...
了解问题出现的位置,如控制台输出、JSP页面显示等。这有助于定位问题的源头。 2. 确定关键信息: - 操作系统:Windows、Linux或Mac OS等,它们的默认编码可能不同。 - J2EE容器:Tomcat、Jetty或WebLogic等,每...
综上所述,当遇到JSP页面图片上传成功但不刷新的情况,通过添加随机参数来避免浏览器缓存问题,是一种常见且有效的解决方案。开发者需要在实际操作过程中,注意细节的准确性,以保证程序的正确执行。
本文将针对“Myeclipse中jsp无法正常显示”这一问题进行深入分析,并提供有效的解决方案。 ### 常见原因及解决思路 #### 1. **文件关联设置不正确** 在MyEclipse中,JSP文件默认应与MyEclipse JSP Editor关联。...
#### 二、JSP页面显示乱码解决方案 ##### 2.1 设置JSP页面编码格式 为了解决JSP页面的显示乱码问题,首先要确保JSP页面本身的编码设置正确。通常,在JSP页面头部添加以下代码: ```jsp ;charset=gb2312" %> ``` ...