让Tomcat支持中文文件名

--参考链接:http://blog.chinaunix.net/uid-26284395-id-3044132.html

解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码。Tomcat内置的对于get协议中的URL编码是ISO-8859-1,这个字符集不能直接支持中文等双字节的信息,而中文文件的下载链接恰恰是通过get协议进行的。

打开$tomcat安装目录$/config/server.xml文件,在其中找到如下代码:

  1. <Connector
    port="8080" protocol="HTTP/1.1"

  2. connectionTimeout="20000"

  3. redirectPort="8443" />

这段代码规定了Tomcat监听HTTP请求的端口号等信息,在这里添加一个属性:URIEncoding,值为UTF-8,即可让Tomcat以UTF-8的编码处理get请求:

  1. <Connector
    port="8080" protocol="HTTP/1.1"

  2. URIEncoding="utf-8"

  3. connectionTimeout="20000"

  4. redirectPort="8443" />

在Web应用程序中
如果调用response.sendRedirect()方法重定向到中文文件名的页面 需要如下的方式调用

    1. response.secdRedirect(java.net.URLEncoder.encode("员工信息.html","UTF-8"));

让Tomcat支持中文文件名,布布扣,bubuko.com

时间: 2024-08-09 06:24:11

让Tomcat支持中文文件名的相关文章

tomcat支持中文文件名下载

Tomcat是Java开发者使用得较多的一个Web服务器,因为它占用资源小,运行速度快等特点,深受Java Web程序员的喜爱.不过,在使用中,由于Java中的中文问题的存在,如果不经过配置,在WEB程序中,不能直接支持具有中文文件名的文件的下载,这为Java Web程序的开发带来一定的不便.本文拟介绍一种手段,解决这个问题. 解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码.

struts2 实现文件上传下载 (下载支持中文文件名)代码

struts2 实现文件上传: Action 代码: package com.action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import org.apache.struts2.ServletActionContext; import com.o

让Tomcat支持中文路径名和中文文件名

http://hdwangyi.iteye.com/blog/107709 Tomcat是Java开发者使用得较多的一个Web服务器,因为它占用资源小,运行速度快等特点,深受Java Web程序员的喜爱.不过,在使用中,由于Java中的中文问题的存在,如果不经过配置,在WEB程序中,不能直接支持具有中文文件名的文件的下载,这为Java Web程序的开发带来一定的不便.本文拟介绍一种手段,解决这个问题. 解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEnc

tomcat处理中文文件名的访问(乱码)

解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码.Tomcat内置的对于get协议中的URL编码是ISO-8859-1,这个字符集不能直接支持中文等双字节的信息,而中文文件的下载链接恰恰是通过get协议进行的. 打开$tomcat安装目录$/config/server.xml文件,在其中找到如下代码: <Connector port="8080" protoco

让tomcat支持中文cookie

这的确是一个不正常的需求,按照规范,开发者需要将cookie进行编码,因为tomcat不支持中文cookie. 但有时候,你不得不面对这样的情况,比如请求是由他人开发的软件,比如,浏览器控件发出的. 这个时候就需要修改tomcat源码来支持了. 直接上源码 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE

CentOS 7 支持中文文件名显示(未实现)

版本:CentOS 7 1908 参考文档: https://jingyan.baidu.com/article/aa6a2c14a00ec00d4d19c446.html https://www.cnblogs.com/sxdcgaq8080/p/10076459.html#commentform https://www.cnblogs.com/ToBeExpert/p/9716917.html 根据以上文档,总结出以下几点是必须要满足的设置. 1.确认是否安装中文语言包 执行命令:local

文件下载-支持中文文件名

function getTmp(){ $file_name = 'orderTemp.xlsx'; $file_path = dirname(__FILE__); #判断一下文件是否存在 if(! file_exists($file_path. '/' .$file_name)){ echo "file not exists"; return; } #存在的话,只读方式打开 $fp = fopen($file_name,"r"); #获取文件大小 $file_siz

关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat只会启动一个JVM,所有webapps公用一个JVM进程,所以System.exit()会导致影响同个Tomcat中的其他应用.Tomcat通过调用配置的JDK或JRE来启动JVM. 体系结构: Server:A Server element represents the entire Catalina ser

(转)关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

转自:http://itfish.net/article/41668.html 总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat只会启动一个JVM,所有webapps公用一个JVM进程,所以System.exit()会导致影响同个Tomcat中的其他应用.Tomcat通过调用配置的JDK或JRE来启动JVM. 体系结构: Server:A Server el