response.setHeader("expires", String.valueOf(System.currentTimeMillis() + 1000 * 3600));
String dataString = "aaaaa";
response.getWriter().write(dataString);

如上代码,加上 expires 有效时间后,等同于给资源加了缓存。

// 实现请求重定向 方法一
response.setStatus(302);
response.setHeader("location", "/day06"); // 实现请求重定向 方法二
response.sendRedirect("/day06");

以上两方法都是发送请求重定向到 /day06 页面。服务器会收到两次请求,浏览器地址栏会发生变化。

每次浏览器刷新时,会将上次动作重新提交,用重定向可以避开此问题。

HTTP Status 500 - getOutputStream() has already been called for this response

type Exception report

message getOutputStream() has already been called for this response

description The server encountered an internal error that prevented it from fulfilling this request.

exception

java.lang.IllegalStateException: getOutputStream() has already been called for this response
org.apache.catalina.connector.Response.getWriter(Response.java:662)
org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:213)
cn.itcast.response.ResponseDemo8.doGet(ResponseDemo8.java:27)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.77 logs.
这是一个常见异常,原因是代码段里同时使用了 response.getOutputStream(); 和 response.getWriter();

[Java][Web]Response学习.缓存的更多相关文章

  1. [Java][Web]Response学习

    // 在 http 中,meta 标签可以模拟响应头 response.setHeader("Content-type", "text/html;charset=UTF- ...

  2. 【Java Web开发学习】跨域请求

    [Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ...

  3. 【Java Web开发学习】Spring MVC添加自定义Servlet、Filter、Listener

    [Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968 ...

  4. 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor

    [Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...

  5. 【Java Web开发学习】Servlet、Filter、Listener

    [Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...

  6. 【Java Web开发学习】Spring MVC异常统一处理

    [Java Web开发学习]Spring MVC异常统一处理 文采有限,若有错误,欢迎留言指正. 转载:https://www.cnblogs.com/yangchongxing/p/9271900. ...

  7. 【Java Web开发学习】Spring MVC 使用HTTP信息转换器

    [Java Web开发学习]Spring MVC 使用HTTP信息转换器 转载:https://www.cnblogs.com/yangchongxing/p/10186429.html @Respo ...

  8. 【Java Web开发学习】Spring JPA

    [Java Web开发学习]Spring JPA 转载:https://www.cnblogs.com/yangchongxing/p/10082864.html 1.使用容器管理类型的JPA JND ...

  9. 【Java Web开发学习】Spring MVC文件上传

    [Java Web开发学习]Spring MVC文件上传 转载:https://www.cnblogs.com/yangchongxing/p/9290489.html 文件上传有两种实现方式,都比较 ...

随机推荐

  1. 学会使用Fidder抓取app的http请求(转)

    fidder可以抓取http请求,抓取手机app上面的,自己pc的请求也可以截取,通过这样达到类似浏览器调试的效果,更容易找到问题. 使用原文链接:http://www.cnblogs.com/syf ...

  2. volatile关键字解析(一)

    引起线程并发问题,可以简单的总结为以下三条: 原子性问题 可见性问题 有序性问题(重排序问题) 原子性问题 什么是原子性? 原子性,即一个操作或者多个操作,要么全部执行并且执行过程中不会被任何因素打断 ...

  3. 使用kibana来进行ElasticSearch的信息查询检索

    大家经常会听到使用ELK搭建日志管理平台.完成日志聚合检索的功能,那么这个平台到底是个什么概念,怎么搭建,怎么使用呢? ELK包括ElasticSearch(数据存储.快速查询).logstash(日 ...

  4. Swift 菊花、UIPageControl和UIProgressView

    // Make: 加载 菊花 func _initUIActivityIndicatorView() { let activity = UIActivityIndicatorView(activity ...

  5. 【排序】插入排序,C++实现

    # 基本思想 每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止. # C++代码 #include<iostream> #include<vecto ...

  6. 在 Visual Studio中 使用Apache Cordova 开发安卓、iOS程序(自定义图标和闪屏)

    方法1 1台安装有linux的电脑,虚拟机也行,并安装imagemagick软件包.我用的是linux mint,直接在软件管理器中安装即可 把https://github.com/shamork/c ...

  7. RUAL1519 Formula 1 【插头DP】

    RUAL1519 Formula 1 Background Regardless of the fact, that Vologda could not get rights to hold the ...

  8. 利用 ReSharper 自定义代码中的错误模式,在代码审查之前就发现并修改错误

    多人协作开发的项目总会遇到代码编写风格上的差异.一般工具都能帮我们将常见的差异统一起来——例如 if 的换行:但也有一些不那么通用,但项目中却经常会出现的写法也需要统一. 例如将单元测试中的 Asse ...

  9. 【sqlite】VS2013中C#读取SQLite数据

    从“火车采集器”(免费版)中获取的网页数据,本地只能自动保存为SQLite数据,(在工具-数据转换中切换).收费版还可以用MySql.SqlServer 今天就记录一下C#读取Sqlite数据 创建一 ...

  10. SVN增加文件后,文件无法自动包括在项目中的原因

    当增加文件后,不仅要提交所增加的文件,而且要把项目文件一并提交.不然就会出现其他人虽然能够获取新文件,但是文件不能自动加载到项目中的情况.