中文路径的问题 tomcat5.5.12写servlet中生成的html代码中有一个地方是显示一张图片,路径通过调用一个方法得到(图片名是中文)运行对网页右键查看源代码路径显示正确但是为什么不能显示图片呢?图片路径确定正确 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.net.URLEncoder.encode("图片路径"); 可以修改tomcat的server.xml属性,好像是URL什么的,就能使用中文名了。否则需要换用英文名 <filter> <filter-name>encoding</filter-name> <filter-class>EncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> <init-param> <param-name>ignore</param-name> <param-value>true</param-value> </init-param> </filter> import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.net.*;public class EncodingFilter implements Filter { protected FilterConfig filterConfig = null; private String encoding=null; public void destroy() { filterConfig = null; encoding=null; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; String s = req.getRequestURI(); String url = URLDecoder.decode(s, "UTF-8");//当IE中Intertnet选项->高级选项->总是以UTF-8发送URL 被选中时。 int k=url.indexOf(" "); String file=(k==-1?url:url.substring(0,k)); File f = new File(filterConfig.getServletContext().getRealPath(file)); if (f.exists() == false) { url = new String(s.getBytes("ISO-8859-1"), encoding);//以UTF-8发送URL 未被选中时 url = URLDecoder.decode(url, encoding); } filterConfig.getServletContext().getRequestDispatcher(url).forward(req, response); } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; encoding = filterConfig.getInitParameter("encoding"); }}上面的放到web.xml文件中 求简单的基于JSP和mysql的协同文档编辑系统啊 谁能提供点好的spring和hibernate的书吗 hibernate3.1 连接池问题 新手请教关于 filterChain.doFilter的一个小问题 我把web.xml中的.do改为.goby就出现这样的问题: 有关c3p0的问题,十万火急。下面的程序还有什么问题呢?老是出空指针异常,急死我了 求助,session问题 基础问题:jsp调用serverlet写法 JSP中String变量存放的字符串有长度限制么?在线给分 JAVA web网上商城 如何让子画面永远浮在父画面上方? 有关URL参数中的#号的问题
<filter-name>encoding</filter-name>
<filter-class>EncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
public class EncodingFilter
implements Filter {
protected FilterConfig filterConfig = null;
private String encoding=null; public void destroy() {
filterConfig = null;
encoding=null;
} public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
String s = req.getRequestURI();
String url = URLDecoder.decode(s, "UTF-8");//当IE中Intertnet选项->高级选项->总是以UTF-8发送URL 被选中时。
int k=url.indexOf(" ");
String file=(k==-1?url:url.substring(0,k));
File f = new File(filterConfig.getServletContext().getRealPath(file));
if (f.exists() == false) {
url = new String(s.getBytes("ISO-8859-1"), encoding);//以UTF-8发送URL 未被选中时
url = URLDecoder.decode(url, encoding);
}
filterConfig.getServletContext().getRequestDispatcher(url).forward(req,
response);
} public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
encoding = filterConfig.getInitParameter("encoding");
}}
上面的放到web.xml文件中