何谓页面缓存?简单的说就是,试试IE或者firefox工具栏的前进\后退按钮,就知道了.也就是说,浏览器会先将页面缓存,待下次使用时,就直接从缓存里面取数据,而不重web server重新获取数据.从而减少了server的压力. 但凡事就利就有弊。比如web页面的登陆,如何退出呢?当然在servlet可以用 session.removeAttribute("LogName"); session.invalidate(); 但,仅这样是不完善的。如果用户没有及时将浏览器关闭的话,那么按“后退”按钮,就有可能造成不安全因素了(因为用户并没有真正的退出)。 好在http协议可以自定义缓存页面。示例如下: 一般来说,web页面都有一个登陆按钮。登陆按钮映射servlet或struts action等等。也就是说,登陆动作后,一般都是跳转至主页。所以在sendRedirect或forward动作之前加入清除缓存代码:
servlet session.setAttribute("logName", logName);//用户写入session
//清除页面
response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Expires", 0);
//跳转页面
RequestDispatcher requestDispatcher = null; requestDispatcher = request.getRequestDispatcher("index.jsp"); requestDispatcher.forward(request,response); struts2 HttpServletResponse response = ServletActionContext.getResponse();
//清除登陆页面缓存
response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Expires", 0);
//页面重定位,倒计时。
String URL = "index.jsp"; String content=3+";URL="+URL;//3秒后进入主页
response.setHeader("REFRESH",content);
这样在调用session.invalidate()后,再按IE或firefox退出按钮时,就会出现页面已过期的提示了。 response.setHeader("REFRESH",content); 是实现倒计时跳转页面。
分享到:
相关推荐
#### 一、JSP页面缓存的重要性与应用场景 JSP(Java Server Pages)技术是一种结合了HTML、XML和Java编程的技术,用于创建动态网页。在JSP开发中,页面缓存是一种常用的技术手段,能够显著提升用户的访问速度并减轻...
在IT行业中,尤其是在Web开发领域,页面缓存是一种优化网站性能的重要技术。当我们谈论"jsp 页面缓存"时,我们指的是在JSP(JavaServer Pages)应用中利用缓存策略来提升网页加载速度和减少服务器负载。JSP是Java...
本资源"JSP页面缓存的简单实现 (可用于 content-type 为字符类型的JSP页面).zip"提供了一个针对字符类型内容的JSP页面缓存实现。 JSP页面的生命周期包括以下阶段:解析、编译、加载、实例化、初始化、服务和销毁...
在Web开发过程中,页面缓存问题一直是开发者们关注的重点之一。合理的页面缓存管理不仅可以提升用户体验,还可以减轻服务器压力。然而,在某些情况下,如模态窗口中的POSTBACK操作时,缓存的存在可能会导致一系列...
#### 二、JSP页面缓存时间设定 在JSP页面中,可以通过以下几种方式来控制缓存时间: 1. **使用JSP指令**:在JSP页面顶部添加`<%@ page %>`指令,设置`cache`属性值来控制页面的缓存时间。例如: ```jsp ``` ...
在探讨IE页面缓存问题及其在JSP、Servlet与HTML中的设置时,我们首先需要理解网页缓存的基本概念。网页缓存是浏览器为了提高加载速度和减少网络流量,将访问过的网页或其部分元素(如图片、脚本等)保存在本地的一个...
一、概述 缓存的思想可以应用在软件分层的各个层面。它是一种内部机制,对外界而言,是不可感知的。 数据库本身有缓存,持久层也可以缓存...二、缓存实现(浏览器缓存当前访问的JSP动态页面) (一)、服务端方法: 代
除了通过Servlet设置HTTP头部之外,还可以在JSP页面中使用HTML元标签来控制缓存行为。 示例代码: ```html ``` 这些元标签的效果与通过Servlet设置HTTP头部相同。它们会覆盖任何通过HTTP响应头设置的缓存控制...
在JSP环境下,同样需要关注缓存问题,尤其是对于动态生成的内容。以下是一些常用的JSP缓存清除策略: 1. **设置响应头**:通过设置`response.setHeader()`方法,可以控制HTTP响应头,从而控制浏览器的缓存行为。...
5. **缓存问题**:浏览器缓存有时候会导致旧版本的页面被加载,从而影响新功能的正常显示。设置正确的HTTP头部信息,如Cache-Control和Pragma,可以控制页面的缓存策略。 6. **Tomcat配置**:作为常用的JSP应用...
这时可以考虑使用过滤器(Filter)来统一管理所有JSP页面的缓存控制。创建一个简单的过滤器如下: ```java public class NoCacheFilter implements Filter { @Override public void init(FilterConfig filterConfig...
在JSP页面中,可以通过设置HTTP响应头来禁止浏览器缓存页面。以下代码片段展示了如何在JSP中实现这一目标: ```jsp response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache...
### jsp清除各种缓存知识点详解 #### 一、前言 在Web开发中,缓存是一项非常重要的技术,它可以显著提高网站的响应速度和用户体验。然而,在某些情况下,我们需要清除缓存以确保用户获取到最新的数据。本文将详细...
提升 JSP 页面响应速度的七大秘籍绝招 本文将介绍七大秘籍绝招,以提升 JSP 页面响应速度,提高系统性能。这些秘籍绝招涵盖了 JSP 页面的生命周期、Servlet 的 init() 方法、自动重载功能、HttpSession 的使用、...
在Web开发中,JSP页面缓存是提升应用程序性能的重要手段。通过缓存,可以避免重复计算或从数据库中频繁读取数据,从而提高响应速度,减轻服务器负担。本篇文章将深入探讨JSP页面缓存的原理、实现方式以及如何清除...
3. **JSP自身缓存**:JSP有内置的缓存机制,当JSP页面第一次被请求时,会被编译成Servlet。默认情况下,JSP不会每次都重新编译,除非修改了JSP文件。如果想强制JSP重新编译,可以在服务器的`web.xml`中配置`jsp-...
<br> 如果您有不清楚的问题或者建议,请您通过以下方式联系我,我随时在线为您解答难题,再次谢谢您光临www.web-java.com。 <br>【JAVA/JSP/DB高手】QQ群:17398054 【Linux高手群】QQ群:26976792 ...
综上所述,当遇到JSP页面图片上传成功但不刷新的情况,通过添加随机参数来避免浏览器缓存问题,是一种常见且有效的解决方案。开发者需要在实际操作过程中,注意细节的准确性,以保证程序的正确执行。
在这个系统中,Struts负责控制层的工作,通过Action类处理用户的请求,然后转发到相应的JSP页面进行展示。Struts的配置文件定义了请求到Action的映射,使得整个应用的结构清晰明了,易于维护。 缓存技术的应用是...
1. 请求处理:用户请求一个动态JSP页面,服务器上的Servlet捕获该请求。 2. 页面解析:Servlet读取JSP文件,解析并执行其中的Java代码,生成HTML字符串。 3. 文件保存:Servlet将生成的HTML字符串写入到一个新的HTML...