我对JSF不是很熟悉,但是从我所了解的这些,您可以使用也适用于JSP页面的技术:

>创建自己的HttpServletResponseWrapper(容器使用的类,允许您修改响应)

>使用它来覆盖默认的Writer(将渲染的页面写入输出),并提供一个将输出写入一个String或一个临时文件,该文件将提供压缩代码.

然后

>如gyan所示,从你的servlet中获取一个ServletRequestDispatcher,让你调用JSF的渲染

>转发servlet调用,以提供自己的HttpServletResponseWrapper

>使用您的HttpServletResponseWrapper获取渲染的HTML并将其提供给压缩代码.

所以压缩Servlet就像:

TempFileRespWrapper respWrapper = new TempFileRespWrapper();

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher( "/report.jsf");

dispatcher.forward(request,respWrapper);

File f = respWrapper.getOutputPath();

addFileToZip(f);

如何编写java请求_如何避免将Java请求从Java Web服务器发送到自身?相关推荐

  1. git拉取请求_创建有效拉取请求的技巧

    git拉取请求 Pull Requests (PR) are crucial to almost all software development these days. They have beca ...

  2. 和java通信_[源码和文档分享]基于JAVA的即时通信软件

    一.设计任务书 1.1 设计任务 本文设计的是一个简单的即时通信软件,利用 Java Socket 进行点到点通信,其工作机制模仿即时通信软件的基本功能,已实现的功能有:客户端登录 客户端退出 群组成 ...

  3. java 分析java死锁_有益的CountDownLatch和棘手的Java死锁

    java 分析java死锁 您是否曾经使用过java.util.concurrent.CountDownLatch ? 这是在两个或多个线程之间实现同步的非常方便的类,在该类中,一个或多个线程可以等待 ...

  4. aix系统java堆_浅谈AIX环境下的Java性能调优

    1.什么是Java Java 是一种面向对象的编程语言.它以 C++ 为模型,被设计成小的.简单的.在源和二进制级别跨平台的可移植的语言,Java 程序(applets 和应用程序)可以运行于任何已经 ...

  5. cmd编译java命令_使用CMD命令编译和运行Java程序

    对于初学者来说,使用CMD命令(Unix以及类Unix系统采用Termial)来编译和运行Java的好处是让初学者直观地体会到编译(Compile)这一步骤,加深记忆.所谓编译就是将文本文件xxx.j ...

  6. 安装java环境_(一)环境安装之Java

    安装java 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. 小知识: Java环境分JDK和JRE ,JDK就是Java Development Kit.简单的说JDK是面向开发人员使 ...

  7. 如何在虚拟主机上部署java项目_如何在虚拟主机上部署java项目

    如何在虚拟主机上部署java项目?在虚拟主机上部署 JavaWeb 项目也离不开Web项目部署的基础三要素:基础的 JDK 环境:一个 Web服务器,如 Tomcat.JBoss:一款数据库,如:my ...

  8. 数据结构和算法 java实现_数据结构与算法——常用数据结构及其Java实现

    前言 仿佛一下子,2017年就快过去一半了,研一马上就要成为过去式了,我打算抓住研一的尾巴,好好梳理一下数据结构与算法,毕竟这些基础知识是很重要的嘛.所以准备在这里搞一个系列的文章,以期透彻. 本系列 ...

  9. Java服务端向客户端写文件_java实现客户端向服务器发送文件

    本文实例为大家分享了java实现客户端向服务器发送文件的具体代码,供大家参考,具体内容如下 服务器源代码: import java.io.BufferedReader; import java.io. ...

  10. 服务器怎么控制忽略样式_看问题要看到本质:从Web服务器说起

    这是个很长的故事, 让我们从Web服务器来开始. Web服务器是个挺简单的东西,工作很简单,在80端口上监听,解析客户端发过来的HTTP的请求, 然后把相对应的HTML文件.Image等返回给客户端就 ...

最新文章

  1. java实现鼠标宏编程_我應該如何編程高級java遊戲中的鼠標/鍵輸入?
  2. JVM 参数含义:-Xms和-Xmx
  3. IOS 自定义NIB视图
  4. Linux的实际操作:文件目录类的实用指令(重定向“>“和追加“>>“)
  5. php 新建 mysql用户_php为什么选mysql作为数据库? Mysql 创建用户方法
  6. 入门机器学习(十七)--编程作业-K-means和PCA(Python实现)
  7. linux 游戏 黑白,黑白迭代官方版游戏-黑白迭代下载v0.5-Linux公社
  8. java中list、set和map 的区别(转)
  9. [bzoj2816][ZJOI2012]网络(LCT,splay)
  10. 管理感悟:软件的特性
  11. MacOS怎么设置动态桌面,heic动态桌面壁纸怎么用
  12. RPLIDAR最强参数详解
  13. C语言 找数字,用(折半查找法或二分查找法)
  14. AXI4 Increase burst / wrap burst/ fix burst 和 narrow transfer
  15. 如何在Windows系统上设置Tor
  16. linux系统安装(Ubuntu 16.04.5)
  17. EasyExcel删除模版Sheet页
  18. 赵雅智_名片夹(5)_Android中listview可折叠伸缩仿手风琴效果(动态)
  19. kuka机器人焊接编程入门教程_焊接机器人操作编程与应用教学.pptx
  20. APIO2014 连珠线

热门文章

  1. 为了追求极致的性能,Kafka掌控这11项要领
  2. OS- -I/O之I/O设备
  3. 【公开课预告】:超低延迟下的实时合唱体验升级
  4. 【线上分享】华为云RTC服务架构及应用实践
  5. 音视频技术开发周刊 | 166
  6. 从编解码、传输到基础架构 详解Bigo多媒体技术栈
  7. 当SRS遇到K8s:如何构建海量推流源站?
  8. 探索多媒体开发最新最佳实践(内附资料下载)
  9. 腾讯大数据星火计划--Angel技术沙龙 对外报名正式启动!
  10. 官方首次披露,TDSQL十年自主可控之路(附PDF)