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()进行编码, ...
随机推荐
- MySql_SQLyog+SQL Assistant实现智能提示
相信用过sqlserver+SQL Assistant的同学都知道其智能提示多么方便,但是转到mysql后,无论是使用navicat还是webbench都无法实现较好的智能提示效果, 最终在网上找到使 ...
- python笔记6-%u60A0和\u60a0类似unicode解码
前言 有时候从接口的返回值里面获取到的是类似"%u4E0A%u6D77%u60A0%u60A0"这种格式的编码,不是python里面的unicode编码. python里面的uni ...
- plsql只有注释显示问号,其余中文可以正常显示
在plsql客户端查看表信息,注释均为乱码,使用select 查询字段中中文字符正常,以下为解决方案: 1.使用语句 select * from V$NLS_PARAMETERS 查询 nls_lan ...
- OpenCV和Matlab 通过XML传递数据
因为现在下到的数据集大部分都使用了Matlab的Calibration toolbox 进行标定,其结构大部分是.mat结构的,所以它和opencv中数据传递需要一个中间过程,网上也有直接调用matl ...
- 织梦(Dedecms) 5.1 feedback_js.php 注入漏洞
漏洞版本: DEDECMS 5.1 漏洞描述: 同样是在magic_quotes_gpc=off的情况下可用 此漏洞可拿到后台管理员的帐号和加密HASH,漏洞存在文件plus/feedback_js. ...
- Node.js:常用工具、路由
一.常用工具util util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. 1.util.inherits util.inherit ...
- DG日志不应用,GAP,主备切换解决思路与办法
环境ORACLE 10G OS WINDOWS 对于DG故障解决思路,DG日志切换不进行应用,DG出现GAP解决方法,DG主备库切换, 当DG出现故障时,第一时间检测alert日志,服务器OS日志,网 ...
- (C++)虚函数表解析(转)
(文章出处不详,转自:http://blog.csdn.net/hairetz/article/details/4137000) C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用 ...
- authpuppy 认证服务器搭建
此文仅限于搭建authpuppy认证服务器,不包含认证插件等安装,仅说明步骤以备下次安装忘记步骤.耽误时间. 环境:ubuntu10.04 软件版本:authpuppy-1.0.0-stable.tg ...
- 极客Web开发资源大荟萃
前端开发已经成为当前炙手可热的技术之一.此次我们总结的前端开发包含了相关技术和流行趋势,希望从中大家可以挖掘你们所需要的,并带给你们最有价值的帮助!原文来自:极客标签 使用代码回放来愉快地学习前端知识 ...