原文地址:http://blog.csdn.net/jueblog/article/details/10467407
用户退出后,如果点击浏览器上的后退按钮,Web应用将不能正确保护受保护的页面——在Session销毁后(用户退出)受保护的JSP页重新在浏览器中显示出来。
然而,如果用户点击返回页面上的任何链接,Web应用将会跳转到登陆页面并提示Session has ended.Please log in.
上述问题的根源在于大部分浏览器都有一个后退按钮。
当点击后退按钮时,默认情况下浏览器不是从Web服务器上重新获取页面,而是从浏览器缓存中载入页面。
基于Java的Web应用并未限制这一功能,在基于PHP、ASP和.NET的Web应用中也同样存在这一问题。
幸运的是,HTTP头信息“Expires”和“Cache-Control”为应用程序服务器提供了一个控制浏览器和代理服务器上缓存的机制。
HTTP头信息Expires告诉代理服务器它的缓存页面何时将过期。
HTTP1.1规范中新定义的头信息Cache-Control可以通知浏览器不缓存任何页面。
当点击后退按钮时,浏览器重新访问服务器已获取页面。
如下是使用Cache-Control的基本方法:
1) no-cache:强制缓存从服务器上获取新的页面
2) no-store: 在任何环境下缓存不保存任何页面
保险起见,对html页面和jsp最好都加一些设置
对于HTML网页,加入:
[html] view plaincopy
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">
对于JSP页面,加入:
[javascript] view plaincopy
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
%>
就可以了。
分享到:
相关推荐
例如,Tomcat服务器支持通过`<Valve>`配置项启用JSP缓存功能。 2. **客户端缓存**:主要依靠HTTP响应头中的指令来控制浏览器如何缓存内容。这种方式简单易行,但安全性相对较低,因为缓存信息保存在客户端设备上。 ...
当我们谈论"jsp 页面缓存"时,我们指的是在JSP(JavaServer Pages)应用中利用缓存策略来提升网页加载速度和减少服务器负载。JSP是Java语言用于创建动态网页的一种技术,而缓存则是一种存储机制,它能暂时保存经常被...
通过以上介绍的方法,我们可以有效地解决HTML、JSP页面在模态窗口中的缓存问题。需要注意的是,在实际应用中应根据具体场景选择合适的方法,并且在开发过程中持续测试以确保页面的正确性和性能。此外,还应该考虑到...
文件"jsp_cache.rar"可能是实现JSP缓存的Java源代码,而"JSP页面缓存的简单实现 (可用于 content-type 为字符类型的JSP页面).txt"可能包含了解释和使用该缓存机制的说明。在实际应用中,开发者需要根据具体需求...
3. 解析JSP:使用JSP的`RequestDispatcher.include()`或`JspRuntimeLibrary.include()`方法,将JSP页面包含进来并执行,得到HTML字符串。 4. 生成HTML:将HTML字符串写入到一个新文件中,文件名通常是JSP文件名加上....
JSP禁用缓存常用方法 该方法不错哦!
综上所述,在JSP应用中可以通过多种方式实现去除浏览器缓存的目的,包括使用JSP内置对象`response`、HTML `<meta>`标签以及过滤器(Filter)等方法。开发者可以根据具体的应用场景选择最适合的方式来实现这一功能。...
### jsp缓存方式 在Web开发中,JSP(JavaServer Pages)作为一种常见的服务器端技术,被广泛应用于构建动态网页。为了提高网站性能、减少服务器负担,合理地利用缓存变得尤为重要。本文将深入探讨JSP页面中的缓存...
通过合理利用各种编程语言提供的API和HTML5中的`<meta>`标签,开发者可以有效地控制页面的缓存行为,确保用户能够获取到最新的页面内容。在实际应用过程中,开发者还需要考虑不同浏览器和网络环境下的兼容性问题,以...
除了通过Servlet设置HTTP头部之外,还可以在JSP页面中使用HTML元标签来控制缓存行为。 示例代码: ```html ``` 这些元标签的效果与通过Servlet设置HTTP头部相同。它们会覆盖任何通过HTTP响应头设置的缓存控制...
### jsp清除各种缓存知识点详解 #### 一、前言 在Web开发中,缓存是一项非常重要的技术,它可以显著提高网站的响应速度和用户体验。然而,在某些情况下,我们需要清除缓存以确保用户获取到最新的数据。本文将详细...
以下是一些常用的JSP缓存清除策略: 1. **设置响应头**:通过设置`response.setHeader()`方法,可以控制HTTP响应头,从而控制浏览器的缓存行为。例如,设置`Pragma`、`Cache-Control`和`Expires`头字段可以告诉...
这些秘籍绝招涵盖了 JSP 页面的生命周期、Servlet 的 init() 方法、自动重载功能、HttpSession 的使用、页面输出压缩等方面。 秘籍一:在 Servlet 的 init() 方法中缓存数据 在 Servlet 的 init() 方法中缓存一些...
综上所述,解决"jsp页面加载时提示loading"的问题需要从多方面进行排查和优化,包括页面内容优化、服务器性能提升、网络条件改善、代码错误检查、缓存策略调整、服务器配置优化、数据库性能优化、AJAX请求优化、...
本文将详细介绍几种JSP中清除页面缓存的常见方法。 一、清除页面缓存 在JSP页面中,可以通过设置HTTP响应头来禁止浏览器缓存页面。以下代码片段展示了如何在JSP中实现这一目标: ```jsp response.setHeader(...
本篇将详细讲解如何在JSP中管理和清空缓存。 首先,我们要知道JSP中的缓存主要涉及到两个层面:浏览器缓存和服务器端的缓存。 1. **浏览器缓存**:当用户访问一个网页时,浏览器会自动将页面的静态资源(如图片、...
JSP动态生成HTML静态页面的核心思路是,当一个动态页面被首次访问或者内容更新时,服务器不直接返回JSP生成的HTML,而是先将其转换为一个静态HTML文件,然后将这个静态文件返回给客户端。后续的相同请求就直接返回这...
### 三、JSP缓存清除 - **服务端清除**:可以通过更新JSP页面或者清理服务器上的缓存文件来实现。 - **客户端清除**:用户可以手动清理浏览器缓存,或者开发者通过设置`HTTP Cache-Control`和`Expires`头部指令控制...
本实例是关于如何将JSP(Java Server Pages)页面转换为HTML静态页面的过程,这对于提升用户体验和降低服务器压力具有重要意义。 首先,我们来理解JSP和HTML的区别。JSP是一种动态网页技术,它允许开发者在HTML代码...
综上所述,IE页面缓存问题的解决不仅仅依赖于一种方法,而是需要结合JSP、Servlet以及HTML中的多种策略。通过合理设置响应头和HTML元信息,可以有效地控制页面的缓存行为,确保用户始终能够接收到最新的数据和最准确...