您的位置:首页 > 其它

Atitit.url 汉字中文路径  404 resin4 resin  解决  v2 q329

2016-03-29 20:06 399 查看
Atitit.url 汉字中文路径  404 resin4
resin  解决  v2 q329

 

 

1.
Pluginx机制1

2.
Code1

3.
参考4

 

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://blog.csdn.net/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 IOExceptionServletException {
 
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解决

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: