/**
* $Id: EncodingFilter.java,v 1.3 2008/08/20 20:02:05 cvs Exp $
*/
package com.cy.tiles.struts;
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.HttpServletRequestWrapper;
public class EncodingFilter implements Filter
{
protected String encoding = null;
class Request extends HttpServletRequestWrapper
{
public Request(HttpServletRequest request) {
super(request);
}
/**
* 转换由表单读取的数据的内码.
* 从 ISO 字符转到 GBK.
*/
public String toChi(String input) {
try {
// System.out.println(input);
byte[] bytes = input.getBytes("ISO8859-1");
return new String(bytes, "UTF-8");
}
catch (Exception ex) {
}
return null;
}
/**
* Return the HttpServletRequest holded by this object.
*/
private HttpServletRequest getHttpServletRequest()
{
return (HttpServletRequest)super.getRequest();
}
/**
* 读取参数 -- 修正了中文问题.
*/
public String getParameter(String name)
{
return toChi(getHttpServletRequest().getParameter(name));
}
/**
* 读取参数列表 - 修正了中文问题.
*/
public String[] getParameterValues(String name)
{
System.out.println(":");
String values[] = getHttpServletRequest().getParameterValues(name);
if(values!=null)
values= values.clone();
if (values != null) {
for (int i = 0; i < values.length; i++) {
values[i] = toChi(values[i]);
}
}
return values==null?null:values;
}
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
{
HttpServletRequest httpreq = (HttpServletRequest)request;
if(httpreq.getMethod()=="POST") {
request.setCharacterEncoding(encoding);
} else {
request = new Request(httpreq);
}
chain.doFilter(request,response);
}
public void init(FilterConfig filterConfig) throws ServletException
{
this.encoding = filterConfig.getInitParameter("encoding");
if (null == encoding){
throw new IllegalArgumentException("Please add encoding parameter");
}
}
public void destroy() {
}
}
<filter>
<filter-name>login</filter-name>
<filter-class>cn.mldn.lxh.filter.LoginFilter</filter-class>
<init-param>
<param-name>par</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>login</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
万能视频解码器的核心优势在于它支持多种编码标准,这意味着用户无需为了播放特定格式的视频而安装多个解码器。这种便利性对于那些经常接触不同来源、不同编码格式的视频内容的用户来说尤其重要。例如,用户可能在...
OpenCV(开源计算机视觉库)是一个广泛应用于图像和视频处理的库,它本身并不包含所有视频编解码器,因此常常需要配合额外的解码器来处理某些不常见的格式。 描述中提到,这个解码器特别适合在OpenCV编程环境中使用...
为您提供绝大多数影音格式的编解码器~这个版是FULL版本,除了包含绝大多数的影音格式,完全版还包括对更多不常用文件格式的支并附带了一个媒体播放器…包括当前最新的: - BSplayer - DivX Pro Decoding - DivX Pro ...
这涉及到的技术范畴广泛,包括视频编码标准、编解码器、多媒体框架以及硬件加速等多个方面。 视频解码,简单来说,就是将视频文件中的数据转换成我们可以在屏幕上看到的连续动态画面。这一过程涉及到了复杂的算法和...
5. **编解码库**:为了实现"万能"解码,这类播放器通常包含了多种编解码库,如FFmpeg,这是一个开源的项目,提供了大量音频和视频处理工具,包括各种编码和解码器。 6. **硬件加速**:现代的万能解码器可能支持硬件...
WMPzqge万能解码器包含了对各种编码格式的支持,例如MPEG-1、MPEG-2、H.264、VC-1、DivX、XviD、AAC、AC3、DTS等,这些都是常见的视频和音频编码格式,广泛应用于电影、电视剧、网络视频和音乐文件中。 使用WMPzqge...
在没有万能解码器的情况下,用户可能需要针对每种不同的编码格式安装相应的播放器,比如VLC Media Player、PotPlayer或KMPlayer等。但安装万能解码器后,一个普通的播放器如Windows Media Player (WMPlayer) 就能...
不同的媒体文件格式需要对应的解码器来解析,因此,一个“万能解码器”就是能够处理多种不同编码方式的媒体文件的工具。 **万能解码器的作用** 1. **兼容性提升**:万能解码器扩展了Windows Media Player的文件...
传输则是将编码后的视频数据发送到接收端,而解码器则负责将接收到的数据还原成可播放的视频流。 RealCodec是一种专为特定视频格式设计的解码器,它能够处理RealNetworks公司开发的RealVideo和RealAudio格式。这些...
Windows Media Player万能解码包,让你只用操作系统自带的Windows Media Player播放器,可以播放除WMP自身支持的格式外,还能播放mp4、3gp、rm、rmvb等等目前流行的几乎所有格式流媒体(包括real流媒体)。 深度WMP...
"windows 视频缩略图万能解码器"就是针对这种情况的一个解决方案。这个解码器能够帮助用户解决无法正常预览视频缩略图的问题,提升Windows系统的多媒体体验。 视频缩略图是系统通过读取视频文件的帧信息来生成的,...
3. **熵解码**:每个MP3帧包含经过熵编码(如 Huffman 编码)的数据,解码器需要解码这些数据,将其转换为小数系数,这些系数代表了原始音频信号的离散余弦变换(DCT)。 4. **逆量化**:解码器将小数系数通过逆离散...
ffdshow是一种强大的DirectShow解码过滤器,它可以处理多种视频和音频编解码器,同时提供了一些额外的功能,如视频后处理、字幕解码等。而LAV Filters则专注于视频和音频的分离与解码,尤其在处理复杂的容器格式(如...
1、字符转16进制 、16进制转字符、base64编码、base64解码、域名转 IP、数字转人民币。 2、MD5_16 、 MD5_ 32 、vbUnicode、vbFormUnicode、简体转繁体、繁体转简体。 3、Unicode转换ASCII,ASCII转换Unicode,UTF8 ...
编程开发人员必备的多功能编码解码辅助计算工具,包含以下转换功能: URL 编码、URL解码、UTF 8_编码、UTF 8_解码、ASCII 码值、MD 5+BASE 64 字符转16进制 、16进制转字符、base64编码、base64解码、域名转 IP、...
这个解码器包,名为"Win7codecs_v310.exe",是一个专为Windows 7设计的万能解码器集合。它包含了多种常见的音频和视频解码器,能够帮助Windows Media Player以及其他基于DirectShow的播放器(如VLC)识别并播放多种...