`
ykyfendou
  • 浏览: 408014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP页面的a标签直接链接文件不能含中文的解决办法

    博客分类:
  • jsp
阅读更多

 

jsp中直接用a标签去链接一个文件,点击即可下载这个文件。

但是这个文件的名字如果含有中文的话,tomcat就会报错。

 

如:我们正常在a标签中写上文件地址,点击这个链接后,就可以下载或者打开这个文件了:

<a href="docFile/1394774033813.docx">下载论文</font></a>

 

但是如果我们的文件地址或者文件的名称中含有中文的话,如下:

<a href="docFile/基于GIS的水电规划陆生生态环.docx">下载论文</a>

 

或者使用struts2标签,得到这个文件的路径,但是这个路径中是含有中文的:

<a href="<s:property value='#reviewCon.docPath'/>">下载论文</a>

 

这两种情况下,再去点击这个链接,tomcat就会报404的错误:

 

错误内容:

type Status report

 

message /hydroElectric/docFile/%E5%93%88%E5%93%88_%E5%9F%BA%E4%BA%8EGIS%E7%9A%84%E6%B0%B4%E7%94%B5%E8%A7%84%E5%88%92%E9%99%86%E7%94%9F%E7%94%9F%E6%80%81%E7%8E%AF_201432016827.docx

 

description The requested resource is not available.

 

 

但是,此时这个页面的地址栏上的地址却是正确的:

 

我们的页面使用的所有编码都设置了,而且都是UTF-8的编码。

 

我们看到报错找不到文件的原因是,直接把中文解析成了16位的汉字内码了,所以再去找这个一堆%组成的文件肯定就找不到了。

 

解决办法:

 

tomcat中指定url编码即可。

找到tomcat目录中的conf下的server.xml,然后打开,找到端口的配置的标签位置:

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="60000" 
               redirectPort="8443"/>

 

然后加上URIEncoding="UTF-8"这个配置,重新启动tomcat即可:

 

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="60000" 
               redirectPort="8443" URIEncoding="UTF-8"/>

 

 

 

其他办法参考(未验证):

http://bbs.csdn.net/topics/40159181

分享到:
评论

相关推荐

    jsp页面下载文件

    2. **JSP页面设计**:在JSP页面中,可以使用HTML的`&lt;a&gt;`标签创建一个链接,链接的目标是一个Servlet或者另一个JSP页面,该页面负责处理文件下载逻辑。例如: ```html &lt;a href="downloadFile.jsp?fileName=example....

    jsp页面实现文件的下载功能

    首先,为了创建一个下载链接,你需要在JSP页面中插入HTML元素,如`&lt;a&gt;`标签。在提供的代码中,可以看到这样的链接: ```html &lt;a href="&lt;%=webapp %&gt;/syoa/index/subordinate/public/do_download.jsp" target="_...

    jsp页面 链接中文文件名 找不到页面

    当我们在JSP页面中创建一个链接指向一个包含中文名称的文件时,如果服务器不支持正确的字符编码,就可能出现"找不到页面"的错误。 在描述中提到的情况中,开发者发现英文文件名的链接可以正常工作,而中文文件名的...

    jsp自定义标签例子,能在Tomcat下直接运行

    当JSP页面解析到自定义标签时,会调用这些类中的方法来执行相应的逻辑。 3. **在JSP页面中使用自定义标签** 在JSP页面中,可以像使用HTML标签一样使用自定义标签,只需在开始和结束位置加上定义好的标签名称,并...

    jpager分页标签(用于jsp页面中数据分页)

    总结,`jpager` 是一个实用的 JSP 分页解决方案,它简化了页面分页的实现,提供了丰富的自定义选项,并能与多种Web开发框架无缝集成。通过熟练掌握 `jpager`,可以提升 JSP 页面的数据展示效率和用户体验。

    jsp自定义分页标签

    这些自定义标签可以封装复杂的Java代码,使JSP页面更加清晰,易于理解和维护。自定义标签由两部分组成:标签处理类(Tag Handler)和标签库描述文件(TLD, Tag Library Descriptor)。 二、创建自定义分页标签 1. *...

    非常好用的jsp分页标签

    1. **JSP分页标签**:JSP分页标签是一种预定义的、可重用的组件,可以直接在JSP页面中嵌入,用于实现页面的分页展示。它们通常由一个或多个标签库(Tag Library)提供,这些库包含了一系列与分页相关的标签,如`...

    jsp页面人力资源管理系统静态页面

    【标签】"jsp页面"提示我们这个系统是基于JSP技术构建的,这意味着开发者可以利用JSP的内置对象(如request、response、session、application等)、指令(如、等)以及EL(Expression Language)和JSTL(JavaServer ...

    jsp文件的上传和下载

    另一个Servlet或JSP页面,根据用户请求生成文件下载链接。 总的来说,这个项目展示了如何在Java和JSP环境中实现文件上传和下载功能,特别是在处理中文文件名时的注意事项。理解并实践这些技术对于任何Java Web...

    JSP分页标签(最新)

    通常,开发者会在这个文件中找到如何将`.jar`文件添加到项目的类路径(Classpath)、如何在JSP页面中引入标签库、以及如何在后台代码中配置和调用分页的方法等信息。阅读并理解`readme.txt`是成功使用这个库的关键。...

    jsp 自定义标签的使用

    3. **在JSP页面中使用**:在JSP页面中,通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,然后就可以像使用内置标签一样使用自定义标签了。 二、分页封装 分页是网页应用中常见的需求,通过自定义标签可以方便地实现。...

    jsp页面中插入css样式的三种方法总结.docx

    这种方法的优点是可以将样式统一管理,修改样式只需要修改该文件,所有链接到该文件的jsp页面将自动更新。其缺点是需要额外的HTTP请求,可能会增加页面加载时间。 在jsp页面中使用外部样式表需要在head标签中添加...

    JSP页面与JSP标记.ppt

    **JSP页面与JSP标记**是Web开发中的核心概念,它们构成了动态网页的基础。本章将深入探讨JSP语法,包括HTML语法、JSP页面结构、变量与方法的声明,以及Java程序片、Java表达式、JSP指令和动作标记的使用。 ### 2.1 ...

    基于jsp的文件上传下载

    JSP页面通常不直接处理表单提交,而是通过一个关联的Servlet来接收并处理这些数据。 在Servlet中,我们可以使用Apache Commons FileUpload库来解析多部分请求。该库提供API来提取文件内容并保存到服务器的指定位置...

    JSP页面音乐

    **JSP页面音乐实现详解** 在网页开发中,有时候我们需要为用户提供背景音乐或者播放特定的音频内容,以增强用户体验。... ... HTML5引入了`&lt;audio&gt;`标签,用于在...希望这个教程能帮助你理解和实现JSP页面上的音乐播放。

    简单的JSP页面布局

    "简单的JSP页面布局"是一个关键的话题,因为它涉及到如何有效地组织和展示网页内容,以提供良好的用户体验。 JSP页面布局通常包括头部、主体和底部等部分,每个部分可能包含多个元素,如导航栏、内容区域和页脚。...

    jsp页面内实现批量上传下载.rar

    本实例"jsp页面内实现批量上传下载"就是专门针对这一需求提供的一种解决方案。 首先,我们需要理解JSP的基本概念。JSP是一种动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码,从而在服务器端生成动态内容...

    jspHTML标签库

    要在JSP页面中使用HTML标签库,首先需要导入对应的库。这通常通过`&lt;%@ taglib %&gt;`指令完成,例如: ```jsp &lt;%@ taglib prefix="html" uri="http://java.sun.com/jsp/jstl/html" %&gt; ``` 这里的`prefix`是我们在页面...

    jsp的页面静态化技术,很实用

    **JSP页面静态化技术详解** 在Web开发中,JavaServer Pages(JSP)是一种常见的动态网页技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。然而,在高流量的网站中,为了提高性能和降低...

Global site tag (gtag.js) - Google Analytics