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. cocos2d-x 环境搭建

        刚搬到博客园,第一次在这写博.有点小激动啊~~     闲话不多说,这次想做一个专题,针对最近比较流行的手游开发引擎cocos2d-x,希望大家不吝赐教~     本节主要针对环境搭建方面进行 ...

  2. ARC中的@autoreleasepool还有作用吗?

    ARC中的@autoreleasepool还有作用吗? QUESTION For the most part with ARC (Automatic Reference Counting), we d ...

  3. easyui select 下拉框的取值和赋值

    1.取值 //拍卖管理中示例 function serializeForm(form) { var obj = { auclotType : $('#auclotType').val(), goods ...

  4. sed替换换行符“\n”

    linux sed命令,如何替换换行符“\n” 在一次sed使用中,执行命令: sed "s/\n//g" file 1 发现,没起到任何效果. 后来,经查sed官方用户手册,才得 ...

  5. Python学习(四)数据结构(概要)

    Python 数据结构 本章介绍 Python 主要的 built-type(内建数据类型),包括如下: Numeric types          int float Text Sequence ...

  6. iOS:转载sqlite3

     SQLITE3 使用总结 2012-08-21 13:48:28 分类: SQLite/嵌入式数据库 SQLITE3 使用总结 2009-09-16 07:36 2624人阅读 评论(10) 收藏  ...

  7. 【版本】API NDK 系统 分辨率 统计

    Android版本号 版本  API/NDK版本号  代号                        发布时间 7.1.1          25            Nougat      7 ...

  8. -bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory

    问题的原因是在windows下编辑然后上传到linux系统里执行的..sh文件的格式为dos格式.而linux只能执行格式为unix格式的脚本. 不要使用记事本编辑,使用代码编辑器可以正常执行

  9. 【论文笔记】Leveraging Datasets with Varying Annotations for Face Alignment via Deep Regression Network

    參考文献: Zhang J, Kan M, Shan S, et al. Leveraging Datasets With Varying Annotations for Face Alignment ...

  10. Verilog 基础回顾 (一)

    Verilog 大小写敏感,且所有关键字都是小写 1  寄存器 register = storage,是数据存储单元的抽象,可视为能够存储数值的变量 (variable that can hold v ...