Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决
Atitit.404错误解决标准流程and 错误resin4 resin chinese char path 404 err解决
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解决的更多相关文章
- Atitit.url 汉字中文路径 404 resin4 resin 解决 v2 q329
Atitit.url 汉字中文路径 404 resin4 resin 解决 v2 q329 1. Pluginx机制1 2. Code1 3. 参考4 1. 原理 过滤器 ,,拦截jpg w ...
- VS2017编译GDAL(64bit)+解决C#读取Shp数据中文路径的问题
编译GDAL过程比较繁琐,查阅了网上相关资料,同时通过实践,完成GDAL的编译,同时解决了SHP数据中文路径及中文字段乱码的问题,本文以“gdal-2.3.2”版本为例阐述整个编译过程. 一.编译准备 ...
- cocos2dx 中文路径编译错误记录
'/Q' 不是内部或外部命令,也不是可运行的程序1> 或批处理文件.1> 'y' 不是内部或外部命令,也不是可运行的程序1> 或批处理文件.1>C:\Program Files ...
- C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路
C#不用union,而是有更好的方式实现 用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...
- Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道
Atitit.软件GUIbutton与仪表盘--db数据库区--导入mysql sql错误的解决之道 Keyword::截取文本文件后部分 查看提示max_allowed_packet限制 Targe ...
- 404 Not Found The requested URL * was not found on this server
1. 把从SVNcheckout下来的代码搭建起来.CakePHP+mysql.改动数据库配置. 2. 配置虚拟主机,发现訪问不了/user/login这个URL,报这个错误:404 Not Foun ...
- 2种方式解决vue路由跳转未匹配相应路由避免出现空白页面或者指定404页面
https://www.cnblogs.com/goloving/p/9254084.html https://www.cnblogs.com/goloving/p/9254084.html 1.路由 ...
- 解决FTP的URL访问不能有中文名称的问题,报java.lang.IllegalArgumentException
最近一个项目要用到FTP做上传下载,我访问ftp的url中有中文名称,结果每次都报如下错: 1 Exception in thread "main" java.lang.Illeg ...
- .NET在IE9中页面间URL传递中文变成乱码的解决办法
在.Net的项目中,鼠标点击查询按钮,转到查询页面,但URL中包含中文时,传到服务器端后,中文变成了乱码(只有IE9出现该问题). 尝试使用Server.UrlEncode()进行编码, ...
随机推荐
- 关于Gson在强转时的ClassCastException
关于Gson的坑人指出: 将list转化为json String beanListToJson = gson.toJson(list, type); 将json还原为list List<T &g ...
- JMeter压力测试和性能测试工具
Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测 试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件 ...
- iOS: FFmpeg的使用一
现状:现在视频直播非常的火,所以在视频直播开发中,使用的对视频进行遍解码的框架显得尤为重要了,其实,这种框架蛮多的,这次主要介绍一下FFmpeg视频播放器的集成和使用,FFmpeg是视频编解码的利器. ...
- STL iterator和reverse_iterator
先看一段代码: #include <iostream> #include <deque> #include <algorithm> #include <ite ...
- 使用Springboot Email实现邮件发送
在springboot配置文件增加emai配置(此种方式不支持QQ邮箱): spring.datasource.type=com.alibaba.druid.pool.DruidDataSource ...
- zedboard--基于zedboard的demo系统的boa服务器搭建(二十一)
zedboard提供的demo系统很迷你,但是也能移植嵌入式Web服务器的.这里就移植boa服务器. 1.下载Boa服务器源代码(安装好了交叉编译器) http://www.boa.org/,选择最后 ...
- [Python爬虫] 之一 : Selenium+Phantomjs动态获取网站数据信息
本人刚才开始学习爬虫,从网上查询资料,写了一个利用Selenium+Phantomjs动态获取网站数据信息的例子,当然首先要安装Selenium+Phantomjs,具体的看 http://www.c ...
- 努力让java学习系统化
这段日子接手一社区系统的开发.开发过程中感觉到自己接触到的和所作的多是业务逻辑性开发,对java开发到如今还没有一个清晰明白的路线,我越来越感觉到问题的重要性. 问题一:代码仅仅注重了功能实现,对代码 ...
- [Node.js] 4. Modules
4.2 Missing Exports Notice the two different files: high_five.js on the left side andapp.js on the r ...
- Java中equals和==的解析
java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(== ...