Atitit.404错误解决标准流程and 错误resin4 resin chinese char path 404 err解决

1. #原因解析
1

2. #解决方式
2

3. 输出图片流...
2

4. --code 2

5. 参考 3

1. #原因解析

个%字符,所以,表明是utf8编码的url..

服务端使用d resin4,估计不使用utf decodes..

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

只要在"resin.conf"里面把"static-encoding"设为"false"就一切OK(这样resin服务器好像不为JSP转换什么编码,显示任务仍了给浏览器。)。

"request.setCharacterEncoding("GBK")"和<%@ page language="java" pageEncoding="GBK"%gt;都不用设置,数据库连接也不必加"useUnicode=true,characterEncoding=GBK"这种参数。(如果已经设置了,就应该全部删掉,在Tomcat上跑的时候是需要这些。)

这种方法可能产生的一个问题是:在JavaGUI或者在控制台输出文字的时候因为编码没有转换过而显示乱码。这时候可以对文字做转码,如"new String(myString.getBytes("ISO-8859-1"))"。

不过一个BS系统如果不包括JavaGUI,那就可以省很多中文处理的工作量。

此方法,对字符串的对比和模糊查询都有效。

2. #解决方式

1.更改resin4 cfg ,设置utf8为url参数解析....se,设置lei 不起效果...只好自己解决le ..

2.urlrewrtite>>servlet ,自己解析url参数,输出图片流...

一个filter

思路::filere>>urldecode>>img io》》output  servlet

3. 输出图片流...

String f=pathx.webAppPath()+File.separator+url2;

BufferedImage bi = ImageIO.read(new File(f));

ImageIO.write(bi, "jpg", response.getOutputStream());

如果使用传统jdk的stream太麻烦蓝。。。

4. --code

/vod2/src/com/focusx/util/EncodingFilter.java

public void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

HttpServletRequest req=(HttpServletRequest) request;

String requestURL = req.getRequestURL().toString();

//http://localhost:8080/vdx/static/%E8%9D%99%E8%9D%A0%E4%BE%A0-%E9%BB%91%E6%9A%97%E9%AA%91%E5%A3%AB.jpg

try {

//must in try ..cause youed png d ,ext sh jpgd ,output d siheur .erro...

if(requestURL.endsWith(".jpg"))

{

requestURL=requestURL.replaceAll("http://", "");

int idx=requestURL.indexOf("/");

String s=requestURL.substring(idx+1);

int idx2=s.indexOf("/");

String url2=s.substring(idx2+1);

//%E8%9D%99%E8%9D%A0%E4%BE%A0-%E9%BB%91%E6%9A%97

url2=URLDecoder.decode(url2,"utf-8");

String f=pathx.webAppPath()+File.separator+url2;

BufferedImage bi = ImageIO.read(new File(f));

ImageIO.write(bi, "jpg", response.getOutputStream());

return;

}

} catch (Exception e) {

// TODO: handle exception

}

core.log("--loadorderO9::EncodingFilter");

//用init方法取得的charset覆盖被拦截下来的request对象的charset

request.setCharacterEncoding(this.charset);

//将请求移交给下一下过滤器,如果还有的情况下。

chain.doFilter(request, response);

}

5. 参考

paip.解决中文url路径的问题图片文件不能显示 - attilax的专栏 - 博客频道 - CSDN.NET.html

Resin的中文问题最简单的解决方法 - Thinking In Jdon.html

Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决的更多相关文章

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

    Atitit.url 汉字中文路径  404 resin4 resin  解决  v2 q329 1. Pluginx机制1 2. Code1 3. 参考4 1. 原理 过滤器  ,,拦截jpg  w ...

  2. VS2017编译GDAL(64bit)+解决C#读取Shp数据中文路径的问题

    编译GDAL过程比较繁琐,查阅了网上相关资料,同时通过实践,完成GDAL的编译,同时解决了SHP数据中文路径及中文字段乱码的问题,本文以“gdal-2.3.2”版本为例阐述整个编译过程. 一.编译准备 ...

  3. cocos2dx 中文路径编译错误记录

    '/Q' 不是内部或外部命令,也不是可运行的程序1> 或批处理文件.1> 'y' 不是内部或外部命令,也不是可运行的程序1> 或批处理文件.1>C:\Program Files ...

  4. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  5. Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道

    Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Targe ...

  6. 404 Not Found The requested URL * was not found on this server

    1. 把从SVNcheckout下来的代码搭建起来.CakePHP+mysql.改动数据库配置. 2. 配置虚拟主机,发现訪问不了/user/login这个URL,报这个错误:404 Not Foun ...

  7. 2种方式解决vue路由跳转未匹配相应路由避免出现空白页面或者指定404页面

    https://www.cnblogs.com/goloving/p/9254084.html https://www.cnblogs.com/goloving/p/9254084.html 1.路由 ...

  8. 解决FTP的URL访问不能有中文名称的问题,报java.lang.IllegalArgumentException

    最近一个项目要用到FTP做上传下载,我访问ftp的url中有中文名称,结果每次都报如下错: 1 Exception in thread "main" java.lang.Illeg ...

  9. .NET在IE9中页面间URL传递中文变成乱码的解决办法

     在.Net的项目中,鼠标点击查询按钮,转到查询页面,但URL中包含中文时,传到服务器端后,中文变成了乱码(只有IE9出现该问题).       尝试使用Server.UrlEncode()进行编码, ...

随机推荐

  1. Appium+python自动化11-adb必知必会的几个指令

    前言 学android测试,adb是必学的,有几个常用的指令需要熟练掌握 一.检查设备 1.如何检查手机(或模拟器)是连上电脑的,在cmd输入: >adb devices

  2. 玩转windowbuilder pro

    windowbuilder,也就是原来的SWT Designer.Google收购了Instantiations,把它的工具也重新免费发布了. 下载地址:http://www.eclipse.org/ ...

  3. Andorid之Annotation框架初使用(一)

    1. 设置Activity的布局 @EActivity(R.layout.main) public class MyActivity extends Activity {} 注: 此时在Android ...

  4. arm交叉编译opencv

    问题:undefined reference to `pthread_spin_init'解:修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthre ...

  5. USACO ariprog 暴力枚举+剪枝

    /* ID:kevin_s1 PROG:ariprog LANG:C++ */ #include <iostream> #include <cstdio> #include & ...

  6. 运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy),三大件(bigthree problem)

    一般的我们喜欢这样对对象赋值: Person p1;Person p2=p1; classT object(another_object), or    A a(b); classT object = ...

  7. eclipse启动tomcat, http://localhost:8080无法访问的解决方案

    问题:: tomcat在eclipse里面能正常启动,但在浏览器中访问http://localhost:8080/不能访问tomcat管理页面,且报404错误.同时其他项目页面也不能访问.访问的时候出 ...

  8. PHP防抓取数据curl 解决方法

    1.使用Snoopy或curl传搜索引擎爬虫的USERAGENT值. 查看搜索引擎爬虫的USERAGENT值:http://www.cnblogs.com/grimm/p/5068092.html ( ...

  9. (转)AS3 中,Function.apply、call中第一个参数的作用;与什么时候用

    http://blog.csdn.net/linjf520/article/details/8746064 大家在使用Function.apply或是call时,是否发现,第一个参数不知道怎么用,赋值 ...

  10. [RSpec] LEVEL 2 CONFIGURATION & MATCHERS

    Installing RSpec In this level we'll start by getting you setup on a regular Ruby project, then move ...