关于html src中文路径解决方法
来源:互联网 发布:易语言手机版远控源码 编辑:程序博客网 时间:2024/04/30 15:14
其实谁都知道路径最好是用英文的,但是很多时候我们却不得不使用中文做路径,比如在做项目的时候,甲方给了一堆的数据,不出意外这些数据多数的中文的。所以我们就不得不忍受这样的事情,把中文路径改成英文的并不太现实,还好我们可以再程序里面解决它。
我的环境是java+html运行在Tomcat下,遇到这个问题时,在网上看了很多文章,遗憾的是这些文章基本上都是以更改Tomcat配置来解决这个问题,虽然可行,但是Tomcat上运行的项目可能不止一个,更改配置文件可能出现不可预期的错误或问题。
我的方法是添加过滤器(当然,这个方法并不是我原创),该过滤器是URL级别的:
package com.test;import java.io.IOException;import java.net.URLDecoder; 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.http.HttpServletRequest; public class UrlFilter implements Filter { public final static String DEFAULT_URI_ENCODE = "UTF-8"; private FilterConfig config = null; private String encode = null; @Override public void init(FilterConfig config) throws ServletException { this.config = config; this.encode = config.getInitParameter("DEFAULT_URI_ENCODE"); if(this.encode == null) { this.encode = DEFAULT_URI_ENCODE; } } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; String uri = request.getRequestURI(); String ch = URLDecoder.decode(uri, encode); if(uri.equals(ch)) { chain.doFilter(req, res); return; } ch = ch.substring(request.getContextPath().length()); config.getServletContext().getRequestDispatcher(ch).forward(req, res); } @Override public void destroy() { config = null; }}
在web.xml中添加以下内容:
<filter> <filter-name>urlFilter</filter-name> <filter-class>com.test.UrlFilter</filter-class> <init-param> <param-name>DEFAULT_URI_ENCODE</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>urlFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
经过试验,可以解决上述问题
//------------------------------------------------------------------------------------------
不过实际上遇到中文路径问题还是在后台做路径映射比较靠谱 2014/9/27
0 0
- 关于html src中文路径解决方法
- 关于Audio标签的src路径包含中文时音频无法的问题
- HTML中提取图片的SRC路径
- html img src 相对路径和绝对路径
- img src 中文路径显示问题
- img中 src 中文路径解决办法
- src 引入中文路径报错404
- 关于CppSqlite中数据库文件中文路径识别问题的解决方法
- tomcat中文路径解决方法
- POCO中文路径解决方法
- vs2005不支持中文路径解决方法
- Django 中文路径不支持解决方法
- html <img>标签 src=""内的图片路径问题
- HTML中IMG标签的SRC属性路径问题
- HTML:img标签--src属性:相对路径和绝对路径
- html img src 图片路径不存在或无效
- html中img图片路径src不对的问题
- 关于滤镜AlphaImageLoader src属性的相对路径问题
- linux C复习:进程空间组成
- StringBuilder有多消耗性能?
- Linux Page Cache机制
- OCP 1Z0 053 243
- Reverse Words in a String
- 关于html src中文路径解决方法
- Android程序运行过程
- poj3393
- Hive join操作小结
- 关于xml的错误经验
- 失业在家的学习笔记-第一天
- 输入输出流
- fstream和ifstream详细用法
- C#调用WebServers用法