- 浏览: 201808 次
- 性别:
- 来自: 青岛
最新评论
-
sunysh005:
界面太丑了,功能没有问题
SWFUpload+commons-fileupload 上传文件 -
liwh1989:
liwh1989 写道
SWFUpload+commons-fileupload 上传文件 -
liwh1989:
...
SWFUpload+commons-fileupload 上传文件 -
liwh1989:
SWFUpload+commons-fileupload 上传文件 -
貌似掉线:
已用上。多谢!
native2ascii的 java实现
1. 压缩 Filter
// GZIPFilter.java
package org.demo.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Filter that compress output with gzip. * Code from http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html * @author dycc * */ public class GZIPFilter implements Filter{ @Override public void init(FilterConfig arg0) throws ServletException { // No operation. } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { if (req instanceof HttpServletRequest){ HttpServletRequest request = (HttpServletRequest)req; HttpServletResponse response = (HttpServletResponse)resp; // check for gzip capability String ac = request.getHeader("accept-encoding"); if (ac == null || ac.indexOf("gzip") == -1){ // not support gzip. chain.doFilter(request, response); } else { // support gzip. GZIPResponseWrapper wrappedResp = new GZIPResponseWrapper(response); chain.doFilter(request, wrappedResp); wrappedResp.finish(); } } } @Override public void destroy() { // No operation. } }
// GZIPResponseWrapper.java
package org.demo.filter; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.PrintWriter; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponseWrapper; /** * Wrap for GZIPFilter * @author dycc * */ public class GZIPResponseWrapper extends HttpServletResponseWrapper{ protected HttpServletResponse original_resp = null; protected ServletOutputStream stream = null; protected PrintWriter writer = null; public GZIPResponseWrapper(HttpServletResponse response) { super(response); this.original_resp = response; } @Override public ServletOutputStream getOutputStream() throws IOException { if (writer != null){ throw new IllegalStateException("getWriter() has already been called."); } if (stream == null){ stream = new GZIPResponseStream(original_resp); } return stream; } @Override public PrintWriter getWriter() throws IOException { if (stream != null){ throw new IllegalStateException("getOutputStream() has already been called."); } if (writer == null){ writer = new PrintWriter( new OutputStreamWriter( new GZIPResponseStream(original_resp),"UTF-8")); } return writer; } @Override public void flushBuffer() throws IOException { if (stream != null){ stream.flush(); } else if (writer != null){ writer.flush(); } } public void finish(){ try { if (stream != null){ stream.close(); } else if (writer != null){ writer.close(); } } catch (IOException e){ // Ignore. } } }
// GZIPResponseStream.java
package org.demo.filter; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.zip.GZIPOutputStream; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; /** * Wrap response stream for GZIPFilter * @author dycc * */ public class GZIPResponseStream extends ServletOutputStream{ protected HttpServletResponse response = null; protected ServletOutputStream out = null; protected ByteArrayOutputStream baos = null; protected GZIPOutputStream gzipos = null; protected boolean closed = false; public GZIPResponseStream(HttpServletResponse response)throws IOException{ super(); this.response = response; this.out = response.getOutputStream(); this.baos = new ByteArrayOutputStream(); this.gzipos = new GZIPOutputStream(this.baos); this.closed = false; } @Override public void write(int b) throws IOException { if (closed){ throw new IOException("Cannot write to a closed output stream."); } gzipos.write(b); } @Override public void write(byte[] b) throws IOException { write(b,0,b.length); } @Override public void write(byte[] buf, int off, int len) throws IOException { if (closed){ throw new IOException("Cannot write to a closed output stream."); } gzipos.write(buf, off, len); } @Override public void flush() throws IOException { if (closed){ throw new IOException("Cannot flush a closed output stream."); } gzipos.flush(); } @Override public void close() throws IOException { if (closed){ return; } gzipos.finish(); byte[] buf = this.baos.toByteArray(); response.addHeader("Content-Length", Integer.toString(buf.length)); response.addHeader("Content-Encoding", "gzip"); out.write(buf); out.flush(); out.close(); closed = true; } }
2. END
发表评论
-
ubuntu 里安装 db2
2011-04-11 16:17 5246# 下载 http://www-01.ibm.com ... -
几个小算法题
2011-04-03 13:40 1116/** * 数字三角 * 当 n == 7 时输 ... -
获取 SkyDrive 的文件外链固定地址
2011-04-03 11:47 1437javascript: var id = window.se ... -
常用知识记录
2011-04-02 17:25 1605sql 部分 1. 查询已创建的数据库 // ... -
Java 与 C++ 在表达式运算上的一点异同
2010-12-25 00:24 12581. java public class Main{ ... -
SWFUpload+commons-fileupload 上传文件
2010-12-17 19:20 10964说明:使用SWFUpload 上传文件,可在客户端校验文件大小 ... -
在 ubuntu 下搭建 ftp 服务端 [ vsftpd ]
2010-11-16 20:11 1869vsftpd 1. 安装 ftp 服务端 ... -
Tomcat 常用操作
2010-11-16 13:47 2637tomcat 常用操作 1. 安装 tomcat 1.1 ... -
在 ubuntu 下搭建 svn 服务端
2010-11-13 20:43 2970参考: http://wiki.ubunt ... -
正则表达式常用功能代码
2010-11-02 19:37 12941. 校验 /** * 校验 email * @pa ... -
三种常见的排序方法[选择,冒泡,快速]
2010-10-17 17:51 1090public class Main{ public ... -
log4j 常用配置代码
2010-10-12 14:35 1367Reference library: commons-log ... -
计算组合数并输出
2010-09-14 09:35 5580问题描述:计算一组数据的组合数并输出 例如:输入1,2,3 ... -
native2ascii的 java实现
2010-09-13 13:49 3859描述:简单模拟JDK自带的 native2ascii.exe ... -
计算全排列
2010-09-13 09:04 1576问题描述:计算一组数 ... -
apache commons dbcp 学习与使用
2010-06-18 20:37 1577类结构 org |_demo |_d ... -
Java常用功能代码
2010-06-10 14:33 58751. 屏幕截图 public static ... -
一个关于组合数的问题
2010-05-03 20:09 11561. 题目来源 未解之谜俱 ... -
Java常用功能代码[ 2 ]
2010-04-27 17:35 13851. 加载所有 jar 包中同名的配置文件 /** * ... -
程序员学习之路
2010-04-14 20:59 14621. JavaScript 1.1 全方位、多角度学习Jav ...
相关推荐
华文彩云" size="6" color="#FFFFFF">歌曲或音乐名称</font><br> ...<EMBED style="FILTER: xray()" src=音乐地址 width=250 height=30 type=audio/x-ms-wma autostart="true" loop="-1"> <br>
提供集成开发环境(IDE),如Visual Studio、Eclipse、Android Studio和Sublime Text等,这些工具集成了文本编辑器,支持语法高亮、自动补全、代码片段管理和版本控制等功能,有助于开发者高效编写和维护代码。...
4. 对常用js插件进行二次封装,使js代码变得简洁,更加易维护,具体请见webapp/static/js/common文件夹内js代码。 5. 利用ehcache框架对经常调用的查询进行缓存,提升运行速度,具体请见ConstantFactory类中@...
主要介绍了Spring常用注解及自定义Filter的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
hampel滤波器去除异常值的matlab实现,在信号数据预处理常用。我是用于处理csi数据。输入一个csi矩阵,直接调用即可。
很详细的代码,非常有用,都是开发中常用的几种拦截器!
一些常用的软件滤波方法 1、限副滤波 /* A值可根据实际情况调整 value为有效值,new_value为当前采样值 滤波程序返回有效的实际值 */ #define A 10 char value; char filter() { ...
matlab过滤器代码相干通信 该示例基于Python 3.8,用于相干光通信,支持QPSK,8QAM,16QAM,SP-16QAM,32-SP-QAM和128-SP-QAM信号生成,光纤传输和接收。 下载所有4个.py文件并将它们放置在同一文件夹中,运行main....
常用的一些图像处理Matlab源代码 #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 ...
第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...
3.3.2 基于代码的界面设计 3.4 应用实例:在界面中显示图片 第4章 Android人机界面和常用组件 4.1 用户人机界面元素分类 4.1.1 视图组件(View) 4.1.2 视图容器组件(ViewGroup) 4.1.3 布局组件(Layout) 4.1.4 ...
第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...
数据结构常用算法c++实现,程序目录如下: Array shuffle Prime test(trial division) Prime test(Miller-Rabin's method) 2D Array Arbitary Integer Linear congruential generator Maximum subarray problem Bit...
第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...
第8篇为工具篇,内容包括在Java Web项目中常用的开源工具框架、主要有版本管理工具SVN、日志工具commons-logging与Log4J、报表图形引擎JFreeChart、PDF组件iText等;第9篇为实战篇,内容为两个典型的应用系统:论坛...
mplayer常用命令.mplayer 在slave模式命令测试 测试命令及文件:./mplayer -slave -quiet media_file 1. pause 暂停/取消暂停播放 2. mute mute [value] 切换声音输出静音或将其设置为[value](value>=0) (1 ==...
15.2、Android的常用传感器:方向传感器Orientation; 磁场传感器Magnetic Field; 温度传感器Temperature; 光传感器Light; 压力传感器Pressure; 第16章、GPS应用开发 16.1、支持GPS的核心API: 16.2、获取...
* (1)常用内置过滤器 * number 数字过滤器,可以设置保留数字小数点后几位等 * date 时间格式化过滤器,可自己设置时间格式 * filter 过滤的数据一般是数组,数组中的数据可以是对象,字符串等 * orderBy 排序根据...
matlab代码影响EEG-CSP-Filter-Project 介绍 该实验的目的是根据Mu Waves解码想象的运动。 当身体静止时,Mu Wave出现的频率为7.5 Hz至12 Hz。 通过进行脑电图实验(实验对象想象执行某项任务),验证了运动皮层中Mu...
图片浏览功能,具有放大,缩小功能,循环浏览,一些swing常用控件的使用!