`
jyangzi5
  • 浏览: 212212 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

jboss不支持中文文件夹和带空格的文件夹

阅读更多

今天遇到昨天遇到这样的,我自己的jboss在我机子上跑一切正常,copy到另一台机子的一个中文目录下就报一大堆异常,截取一小段日志:

 

-------------------------------------------------------------------------------------------------------

08:30:55,581 INFO  [MailService] Mail Service bound to java:/Mail
08:30:55,643 ERROR [MainDeployer] Could not initialise deployment: file:/D:/常用
工具/jboss/server/default/deploy/jboss-ha-local-jdbc.rar
org.jboss.deployment.DeploymentException: Error parsing meta data jar:file:/D:/
常用工具/jboss/server/default/tmp/deploy/tmp6116245049147517060jboss-ha-local-jd
bc.rar!/META-INF/ra.xml; - nested throwable: (org.jboss.xml.binding.JBossXBExcep
tion: Failed to parse source.)

-------------------------------------------------------------------------------------------------------

根据错误提示在网上搜关键字Could not initialise deployment之类的,没有一点收获,一个人折腾到凌晨1点

,第二天把日志发给小胡,他一眼就看出问题的所在了,“晕死了,你吧文件名字改成英文就好了”,神呀,一改就好了,经验太太牛X了,向小胡学习。说到中文文件夹,小胡给我提到了tomcat,在网上找了找,摘录在次,以作备忘。

 

下面一篇博客,在讲如何让Tomcat支持中文路径名和中文文件名。

转自:http://www.iteye.com/topic/107709

 

 

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

   解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码。如果直接从Apache站点中下载Tomcat,无论是安装版的exe文件,还是解压缩的ZIP文件,内置的对于get协议中的URL编码都是ISO-8859-1,这个字符集不能直接支持中文等双字节的信息,而中文文件的下载链接恰恰是通过get协议进行的。以下说明修改Tomcat安装目录中的config文件夹中的server.xml文件的方法。

   打开config/server.xml文件,如果没有修改过这个文件,应该可以在其中找到如下代码:
  
   <Connector port="8080"  protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  
   这段代码规定了Tomcat监听HTTP请求的端口号等信息,可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat不再以ISO-8859-1的编码处理get请求。更改后的代码如下所示(红色部分为新添加的代码):
 
  <Connector port="8080"
             URIEncoding="utf-8"
             protocol="HTTP/1.1"
             connectionTimeout="20000"
             redirectPort="8443" />
 
  下面,我们准备测试一下更改后的效果。

   最为简单的测试方法就是让Tomcat自己列出WEB程序中的目录和文件,默认情况下,Tomcat不会直接列出WEB程序目录中的文件和文件夹,但是,我们可以修改位于安装目录中的config文件夹中的web.xml,使其能够支持自动列出WEB程序中的目录和文件。
   在config/web.xml文件中找到如下代码:
  
    <servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>0</param-value>
    </init-param>
    <init-param>
      <param-name>listings</param-name>
      <param-value>false</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  
   将上面的代码中标为红色的部分改为如下内容:
 
   <init-param>
      <param-name>listings</param-name>
      <param-value>true</param-value>
   </init-param>
  

   即将参数listings的属性改为true,就可让Tomcat自动列出某个WEB程序目录中的文件和文件夹。

   现在,我们的设置已经完成,将修改的文件保存后,就可以启动Tomcat进行测验了,当然,如果Tomcat正在运行,则需要重新启动,以便配置生效。

   现在,可以在Tomcat安装目录中的webapps目录中建立一个名为cntest的文件夹,作为测试的web程序的上下文路径(注意:对于WEB程序的上下文路径,请不要使用中文)。请在cntest中添加一些中文目录和文件,然后在浏览器中打开该WEB程序,如,http://localhost:8080/cntest,测验一下效果吧。当然,也可以在JSP或HTML文件中使用那些包含中文的文件夹或文件名的超级链接。

   说明:以上修改均使用Tomcat5.5做的测试,在5.5以上都应该可以,至于5.0和4.x,我没有实验过,不过对于5.0应该也是可以的,但4.x不能保证(4.x在处理HTTP的get和post方法和5.x不大一样)。

 

分享到:
评论

相关推荐

    JBoss篇:安装与配置

    下载完成后,将其解压缩后即可完成安装,解压缩后将其放置到一个不带空格的目录中,例如 E:\JBoss4.2.1。同时,在“环境变量设置”中设置名为 JBOSS_HOME 的环境变量,值为 JBoss 的安装路径。 二、测试安装 在...

    JBoss下载与JBoss安装.doc

    下载完成后,使用解压缩工具将其解压到一个不含空格的文件夹,例如E:\JBoss\JBOSS5.0 Beta4,避免因路径中含有空格导致的潜在问题。 安装过程中,需要设置系统环境变量。创建一个名为JBOSS_HOME的环境变量,其值应...

    jboss的配置

    这里以4.2.1.GA为例,下载JBoss-4.2.1.GA.zip并解压到无空格的目录,如E:"JBoss4.2.1"。 - 接着,配置系统环境变量,新建名为`JBOSS_HOME`的环境变量,值设置为JBoss的安装路径。 - 启动测试:运行`bin`目录下的`...

    晾晾多年珍藏JBossIDE-Install.pdf

    5. **选择组件**:JBoss IDE通常包含多个插件和组件,如Eclipse基础平台、Java开发工具、JBoss AS或WildFly服务器支持等。根据你的开发需求,可以选择安装全部或部分组件。 6. **配置设置**:在安装过程中,你可能...

    JBOSS使用指南

    注意,解压路径不应包含空格,以避免可能的错误。 **2. JBoss的目录结构** - **bin**: 包含用于启动和关闭JBoss的脚本文件。 - **client**: 存储客户端与JBoss交互所需的Java库(JAR文件)。 - **docs**: 包括配置...

    jboss安装与jndi配置.doc

    在安装过程中需要注意,JBoss的解压目录不应包含空格,否则可能会导致配置问题。同样,确保安装的是完整的JDK而非仅JRE,以便MyEclipse能识别到。在MyEclipse中配置服务器路径和JDK路径,启用服务器并选择正确的JDK...

    jboss下载及版本问题.docx

    确保避免在路径中使用带有空格的文件夹名,因为这可能会导致后续的运行错误。 安装步骤非常简单,只需将解压后的文件夹放置到指定位置,并在系统的环境变量中创建一个新的变量名为JBOSS_HOME,其值设定为JBoss的...

    JBoss安装配置.doc

    2. **安装**:解压下载的JBoss-4.2.1.GA.zip文件,建议将其放在不含空格的目录下,例如E:\JBoss4.2.1。为了确保环境的正确运行,还需设置系统环境变量JBOSS_HOME,其值应指向JBoss的安装路径。 3. **启动与测试**:...

    JBOSS5.0配置详解.docx

    2. **安装**:下载后的zip文件解压缩到不含空格的目录,例如E:\JBoss\JBOSS5.0 Beta4。设置环境变量`JBOSS_HOME`,值指向JBoss的安装路径。 3. **启动测试**:通过执行`bin`目录下的`run.bat`文件启动JBoss。如果...

    将现有的 Web 应用程序导入到 NetBeans

    注意,项目名称将决定上下文路径,上下文路径不能包含空格,如果存在空格,IDE会将其替换为下划线。项目文件夹不应包含名为 'nbproject' 的子文件夹,因为这是IDE用来存放项目级别文件的默认位置。 2. **包含现有 ...

    linux常用部署文档

    ### Linux常用部署文档知识点 ...这些步骤详细地介绍了如何在Linux服务器上部署JDK、Tomcat、JBoss和Nginx,并对NFS共享文件夹进行了简单的介绍。对于IT从业者来说,这些都是非常实用且重要的知识点。

    javaweb开发相关知识

    - **安装与启动**:安装时避免中文路径和空格,确保先安装JDK 1.5及以上版本。启动Tomcat,可以通过命令行执行`startup.bat`,然后通过浏览器访问`http://localhost:8080`检查是否成功。若遇到问题,可能需要设置`...

    Google minify使用指南

    它通过去除空格、注释和不必要的字符来减小文件大小,从而减少网络传输的数据量,加快页面渲染时间。本指南将详细介绍如何下载、安装、配置Google Minify以及与Apache和JBoss服务器的集成。 首先,确保你具备以下...

    smallworld安装

    2. **复制必要文件夹**:将 `sias412-jboss-4.0.3SP1` 和 `google_earth_server` 文件夹复制到 `D:\sw410`。 3. **修改 `save_open.script` 文件**:使用文本编辑器打开 `D:\sw410\pni410\scripts` 下的 `save_open....

Global site tag (gtag.js) - Google Analytics