JSP 开发之Servlet解决网页缓存问题

JSP 开发之Servlet解决网页缓存问题

(1)我们为什么要防止游览器页面缓存的问题:

所以在不需要缓存的页面中需要实现不缓存页面;

代码如下:

package com.lc.HttpTest; 

import java.io.IOException;
import java.io.PrintWriter; 

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 

public class CacheJiejue extends HttpServlet { 

  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException { 

    response.setContentType("text/html;charset=utf-8");
    //指定该页面不缓存
    response.setDateHeader("Expires",-1); //IE游览器支持的 

    //保证兼容性
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragme", "no-cache"); 

  } 

  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException { 

    this.doGet(request, response);
  } 

}

(2)但是如果要实现特定时间内的页面缓存 则代码如下:

package com.lc.HttpTest; 

import java.io.IOException;
import java.io.PrintWriter; 

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 

public class CacheJiejue extends HttpServlet { 

  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException { 

    response.setContentType("text/html;charset=utf-8");
    //指定该页面不缓存
    //response.setDateHeader("Expires",-1); //IE游览器支持的 

    //缓存一定的时间 缓存 一天的时间
    response.setDateHeader("Expires",System.currentTimeMillis()+3600*1000*24);
    //保证兼容性
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Pragme", "no-cache"); 

  } 

  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException { 

    this.doGet(request, response);
  } 

}

以上就是Servlet解决网页缓存的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Jsp+Servlet实现购物车功能

    本文实例为大家分享了Servlet实现购物车功能的具体代码,供大家参考,具体内容如下 (1)用servlet实现简单的购物车系统,项目结构例如以下:(新建web Project项目  仅仅须要AddItemServlet , ListItemServlet.exam403.jsp三个文件就可以.其它的不用管) (2)exam403.jsp代码例如以下: <%@ page contentType="text/html; charset=gb2312" language="

  • JSP 开发之servlet中调用注入spring管理的dao

    JSP 开发之servlet中调用注入spring管理的dao 我们用spring的依赖注入可以将dao注入到action中,然后我们就可以直接调用了dao中的方法了,可是servlet不是由spring容器管理,所以在servlet中不能注入dao类,也就不能用dao中的方法. 下面是实现方法: private UserDao userDao; public void init() throws ServletException { super.init(); ServletContext s

  • JSP 开发之THE SERVLET NAME ALREADY EXISTS.解决方法

    The servlet name already exists.解决方法 当我们建立过同名的servlet文件,然后又将其删掉后再用同类名字建一个servlet时就会报错. 解决办法:web.xml里面存有servlet的映射关系,需要自己手动删除web.xml里面的映射关系. 删除,保存刷新即可 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • JSP中通过Servlet 将服务器硬盘图片并展示到浏览器

    JSP中通过Servlet 将服务器硬盘图片并展示到浏览器 其实这个实例非常简单,但是今天有人问我了,而且我也写了个小例子,就顺便发上来吧! 在浏览器显示一张图片,使用标签 <img src=""> img 元素向网页中嵌入一幅图像. 请注意,从技术上讲,<img> 标签并不会在网页中插入图像,而是从网页上链接图像.<img> 标签创建的是被引用图像的占位空间. <img> 标签有两个必需的属性:src 属性 和 alt 属性. HTML

  • 浅谈Servlet转发到JSP页面的路径问题(必看)

    一.现象与概念 1. 问题 在Servlet转发到JSP页面时,此时浏览器地址栏上显示的是Servlet的路径,而若JSP页面的超链接还是相对于该JSP页面的地址且该Servlet和该JSP页面不在同一个文件夹下时,则会出现路径混乱问题. 2. 绝对路径概念 相对于contextPath(当前Web应用的上下文)的路径. 解决方案:超链接用绝对路径而不是相对路径.若/代表的是站点的根目录,在其前面加上contextPath. <a href="<%= request.getConte

  • Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析

    在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径. 另:在Jsp,Servlet,Java中详细获得路径的方法! 1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp

  • JSP 中Servlet的自己实现

    JSP 中Servlet的自己实现 一 步骤 1.继承HttpServlet 2.重写doGet()或者doPost()方法 3.在web.xml中注册Servlet 二 HttpServlet类继承图 三 实例 1.创建MyFirstServletDemo web project. 2.编辑index.jsp <%@ page language="java" import="java.util.*" contentType="text/html;

  • JSP开发Servlet重写init()方法实例详解

    JSP开发Servlet重写init()方法实例详解 写一个Servlet时,有时需要我们重写该Servlet的初始化方法,然后,究竟是重写init(ServletConfig config),还是重写init(),这是个问题.要明了这一点,首先要知道Servlet的几个类和接口的联系: ServletConfig接口:其中有getServletName();getServletContext();getInitParameter(String name);getInitParameterNam

  • JSP 开发之Servlet解决网页缓存问题

    JSP 开发之Servlet解决网页缓存问题 (1)我们为什么要防止游览器页面缓存的问题: 所以在不需要缓存的页面中需要实现不缓存页面: 代码如下: package com.lc.HttpTest; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.ser

  • JSP 开发之hibernate配置二级缓存的方法

    JSP 开发之hibernate配置二级缓存的方法 hibernate二级缓存也称为进程级的缓存或SessionFactory级的缓存. 二级缓存是全局缓存,它可以被所有的session共享. 二级缓存的生命周期和SessionFactory的生命周期一致,SessionFactory可以管理二级缓存. 常用的缓存插件 Hibernater二级缓存是一个插件,下面是几种常用的缓存插件: EhCache:可作为进程范围的缓存,存放数据的物理介质可以是内存或硬盘,对Hibernate的查询缓存提供了

  • JSP 开发之Spring Security详解

    JSP 开发之Spring Security详解 前言: spring Security是一个能够为基于Spring的企业应用系统提供描述性安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(依赖注入,也称控制反转)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作. Spring Security 的前身是 Acegi Security ,是 Spring 项

  • JSP开发之hibernate之单向多对一关联的实例

    JSP开发之hibernate之单向多对一关联的实例 一对多的基础上来测试单向多对一的关联 hibernate多对一的关联关系定义: 和单向一对多不同的是:一对多是在意的一方的一方定义set集合,在映射文件中 <set name="" table=""> <key name="" /> <one to many class=" 多的一方的包加类名"/> </set> :单向多对一

  • JSP 开发之Spring BeanUtils组件使用

    JSP 开发之Spring BeanUtils组件使用 用于演示的javabean import java.util.Date; public class People { private String name; private int age; private Date birth; public People(String name, int age, Date birth) { super(); this.name = name; this.age = age; this.birth =

  • JSP 开发之Struts2内建自定义拦截器

    JSP 开发之Struts2内建自定义拦截器 Struts2的自定义拦截器主要用于解析请求参数,将请求参数赋值给Action属性,执行数据校验,文件上传等等操作.当需要扩展Struts2的功能时,我们只需要提供相应的拦截器并将它配置到Struts2容器中即可:当我们不需要使用的时候,只需要取消它在Struts2容器中的配置就行了. 1>配置拦截器主要使用四个配置元素: :用于配置自定义拦截器 :用于引用拦截器或者拦截器栈 :用于配置自定义拦截器栈,一个拦截器栈由多个拦截器构成,也可以包含其他的拦

  • java JSP开发之Spring中Bean的使用

    java JSP开发之Spring中Bean的使用 在传统的Java应用中,bean的生命周期很简单.使用Java关键字new进行bean实例化,然后bean就可以被使用了,一旦该bean不再使用,Java就自动进行垃圾回收.然而,在Spring中,bean的生命周期就比较复杂了.下面是一个bean装载到Spring应用上下文的过程: 如图所示:在你准备调用bean之前,bean工厂执行了若干启动步骤: 1.Spring对bean进行实例化: 2.Spring将值和bean的引用注入到bean对

  • JSP 开发之hibernate的hql查询多对多查询

    JSP 开发之hibernate的hql查询多对多查询 在hibernate的hql查询中,假如说分组信息与试题是多对多关系,那么我们要在hql查询中对含有多个分组信息的试题都要查询出来.并同时查询出相应试题的分组信息.那么此时hql要这样写: String[] groupIds = ojbects[1].toString().split(","); String hql = "SELECT distinct a.id FROM TmEduExamContent a"

  • jsp 开发之struts2中s:select标签的使用

    jsp 开发之struts2中s:select标签的使用 1.第一个例子: <s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select> 2.第二个例子: <s:select list="#{1:'aa',2:'bb',3:'cc'}" label=&qu

随机推荐