Atitit.url 汉字中文路径 404 resin4 resin 解决 v2 q329
Atitit.url 汉字中文路径 404 resin4 resin 解决 v2 q329
1. 原理
过滤器 ,,拦截jpg with %的url...read img ,直接输出..
2. Pluginx机制
//if()
if(inied==false || new File("c:\\chinese_filename_hook_ini_pertime").exists()) {
new Pluginx().remove_all_filters("chinese_filename_hook");
new Pluginx().add_action("chinese_filename_hook", new JpgFilerProcesser());
new Pluginx().add_action("chinese_filename_hook", new TxtFilerProcesser());
inied=true;
}
}
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
3. Code
package com.attilax.corePkg;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.IIOException;
import javax.imageio.ImageIO;
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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import aaaCfg.IocX;
import com.attilax.core;
import com.attilax.jsonX;
import com.attilax.io.filex;
import com.attilax.io.pathx;
import com.attilax.lang.Global;
import com.attilax.lang.Pluginx;
import com.attilax.net.JpgFilerProcesser;
import com.google.common.collect.Maps;
import com.sun.image.codec.jpeg.JPEGCodec;
/**
* com.focusx.util
* EncodingFilter.java
* author:vincente 2013-8-19
*/
@WebFilter(filterName = "ChineseCharFileUrlFilterName", urlPatterns = "/*")
public class ChineseCharFileUrlFilter implements Filter {
private String charset;
public void destroy() {
// TODO Auto-generated method stub
}
@SuppressWarnings("all")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
try {
if(Global.map.get()==null)
Global.map.set(new HashMap());
Global.map.get().put("FileSeverDir", "Z:\\动作类");
new Pluginx().remove_all_filters("chinese_filename_hook");
new Pluginx().add_action("chinese_filename_hook", new JpgFilerProcesser(),0,null,null);
//new Pluginx().add_action("chinese_filename_hook", new TxtFilerProcesser());
Map m=new HashMap ();
m.put("req", request);
m.put("res", response);
new Pluginx().do_action("chinese_filename_hook",m,null);
} catch (Exception e) {
e.printStackTrace();
}
core.log("--loadorderO9::EncodingFilter");
//用init方法取得的charset覆盖被拦截下来的request对象的charset
request.setCharacterEncoding(this.charset);
//将请求移交给下一下过滤器,如果还有的情况下。
chain.doFilter(request, response);
}
//private String getImgPath(String url2) {
//String str;
//try {
//str = new String(url2.toString().getBytes("iso8859_1"), "GB2312");
//} catch (UnsupportedEncodingException e) {
//e.printStackTrace();
//throw new RuntimeException(e);
//}
//String f = pathx.webAppPath() + File.separator + str;
//File file = new File(f);
//return f;
//}
public void init(FilterConfig config) throws ServletException {
//从web.xml中的filter的配制信息中取得字符集
this.charset = config.getInitParameter("charset");
}
}
4. 参考
url汉字中文路径404异常resin4 resin chinese char path 404 err解决
Atitit.url 汉字中文路径 404 resin4 resin 解决 v2 q329的更多相关文章
- Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决
Atitit.404错误解决标准流程and 错误resin4 resin chinese char path 404 err解决 1. #原因解析 1 2. #解决方式 2 3. 输出图片流... 2 ...
- GDAL打开HDF格式时遇到的中文路径问题(未解决)
众所周知,中文环境下(VS2010 C++工程编码为多字节编码),在使用1.8.0版本以后的GDAL打开中文路径下的影像文件(如GeoTiff文件)时, 需对中文文件路径做特殊处理,有2种方法:(我使 ...
- iOS url带中文下载时 报错解决方法
问题描述:下载文件时, 请求带中文的URL的资源时,比如:http://s237.sznews.com/pic/2010/11/23/e4fa5794926548ac953a8a525a23b6f2/ ...
- url中含有中文路径时访问出现404问题
/** * URL中文字符编码转换 * @param url 含中文字符的URL * @return */ public static String getChineseURICode(String ...
- Nginx 使用中文URL,中文目录路径
Nginx 使用中文URL,中文目录路径 分类: linux2012-05-03 11:04 2672人阅读 评论(0) 收藏 举报 nginxurl服务器translationcentosserve ...
- IE浏览器URL中的查询条件中包含中文时报404的解决办法
情况是比如我输入如下URL到IE浏览器: http://localhost:8090/RPT_TYSH_JL_ZD_DETAIL.html?pageIndex=1&year=2018& ...
- atitit 英文与中文与阿拉伯文的简化解决方案.docx
atitit 英文与中文与阿拉伯文的简化解决方案.docx 1. 英文与中文与阿拉伯文的简化意义1 2. 简化的主要方法分类2 2.1. 同音替代法(比如o2o)2 2.2. 符号法(比如英文i18n ...
- url传递中文的解决方案
本文转载:http://www.cnblogs.com/ghd258/archive/2005/10/23/260241.html url传递中文的解决方案 1.设置web.config文件. < ...
- ifstream中文路径问题分析
最近维护一个项目,遇到了ifstream在中文路径下打开文件失败的bug,我搜索了一下,最后整理成下文以后日后查阅. 一.问题重现 vs2008下创建一个简单win32工程. 使用ANSI编码方式:项 ...
随机推荐
- Nutch源码阅读进程5---updatedb
看nutch的源码仿佛就是一场谍战片,而构成这精彩绝伦的谍战剧情的就是nutch的每一个从inject->generate->fetch->parse->update的环节,首 ...
- ibatis轻松入门
近日,由于公司项目应用开发的逻辑层使用的是iBatis.上网查了些资料,自己写了点demo入门.感觉良好.iBatis实在是比Hibernate很容易入门,贡献出来与各路菜鸟分享(后文附源码),希望得 ...
- java Class对象
目录 1Class对象 普通的Class对象 泛化的Class对象 2类型转换前先做检查 instanceof 运算符的陷阱 Class.isInstance() 3反射 动态代理 1.Cla ...
- 大话PHP缓存头
304的请求机制和200有什么不一样呢?在fiddler中查看304请求的时候突然想到这个问题,就想到研究下这个304请求机制了. 我们自己在nginx上放一个文件,test.png.可以使用下面的地 ...
- Load Audio or Vedio files
//Load Audio or Vedio files private void btnLoadFile_Click(object sender, EventArgs e) { Startindex ...
- [Asp.net 5] DependencyInjection项目代码分析3-Ninject
Microsoft.Framework.DependencyInjection.Ninject 该工程内部共包含5个类文件,底层使用Ninject实现依赖注入,工程截图如下: 从文件命名可以看出,Ni ...
- 在Gridview如何进行每行单元格比较
有在论坛上看到一个问题,就是在Gridview控件中,需要对几个列的数值进行比较,原问题如下: 先在数据库中准备数据: CREATE TABLE [dbo].[RecordTime] ( Id ,) ...
- asp.net应用程序生命周期
asp.net应用程序生命周期(流程文字描述版) 请求——>IIS——>ISAPI映射——>交给asp.net(即为IIS的扩展)——>通知Application类创建一个应用 ...
- 新学C++的for,switch和随机数
通过一个小程序学习: #include<iostream> #include<cstdlib> #include<ctime> using namespace st ...
- 【UWP】FlipView绑定ItemsSource,Selectedindex的问题
最近在做列表头部的Carousel展示,Carousel使用的是FlipView展示,另外使用ListBox显示当前页,如下图 我们先设置一个绑定的数据源 public class GlobalRes ...