本文转载于:http://www.blogjava.net/xcp/archive/2009/10/29/download2.html
最近因项目需要做一个struts2下载功能,但是老是因为在做一些get请求的中文编码困扰,以下是解决方法
1. encodeURI将文本以utf-8的编码,具体参见随笔js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent的区别
例:
encodeURI("download.action?filenames="+filenames+"&filepaths="+filepaths);
2.但后台与用户交互的时候,如弹出下载对话时要想正确的显示中文文件名,我们需要对字端再次编码 也就是对get方法进行编码设置,否则中文名文件将出现乱码,或无法下载的情况
例:
public String getFilename() {
try {
return new String(filename.getBytes(), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return filename;
}
}
3. 配置tomcat/conf/server.xml
如:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
分享到:
相关推荐
struts2+Mysql搭建的服务端 +android 客户端 post,get请求、 一整套完善的代码 sql也在里面导入进去就可以使用了
该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理.如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开. struts.serve.static 该属性设置是否...
NULL 博文链接:https://adrain-work-163-com.iteye.com/blog/1545091
使用说明: ...7、支持GET、POST、UPLOAD三种请求方法,您可以自由选择。(UPLOAD为Multi-Part方式提交) 8、部分漏洞测试支持UTF-8、GB2312、GBK编码转换。 9、每次操作都启用一个线程,防止界面卡死。
该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理。 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 --> <constant name="...
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent() servlet类似! 6、在写action类里,对于要封装的值和对象,除了常数以外,记得SET和GET,不是会出现空指针。
通过过滤器禁止get请求,写了一个小demo,希望对有需要的朋友有帮助。
为了学习AFNetwork,自己搭建整理了一下AFNetwork向后台发送请求和后台返回json数据的整个处理过程。利用Struts2搭建了一个后台,提供Action并返回json数据
import org.apache.struts2.ServletActionContext; import sunyang.functions.domain.Function; import sunyang.functions.service.IFunctionFacade; import sunyang.module.domain.Module; import ...
自定义模仿Struts2的框架,用配置文件配置转向的路径,可配置执行的方法名,自动提取表单的值填充到action,自动把action中的属性设到request的属性中 权限控制 字符编码过滤,对get请求同样有效果 自定义分页标签,...
Struts原理、开发及项目实施 Holen 2002-9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...
服务端基于MyEclipse10环境,使用servelet struts2 tomcat,接收客户端HTTP请求,实现连接数据库,对数据库增删查改等.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Struts+Spring+Hibernate实现上传下载 本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序。SSH各框架的均为当前最新版本: •Struts 1.2 •Spring 1.2.5 •Hibernate 3.0 本文...
这是2个压缩包中的第二个,请一并将第一个下载后,随便解压其中一个即可。 如果只希望下载其中一部分即可阅读,可下载另一个pdf: http://download.csdn.net/detail/oqqsun12345678/5215337 内容简介 出版日期: ...
在struts内部,这个请求交给了getDesc方法来处理,getDesc方法返回来一个XML串。 <?xml version="1.0" encoding="UTF-8"?><nodes>咨询" />建议" />投诉" />预约" />报障" />集团自查工单修改" />明天" />业务支撑...
借鉴struts和struts2的优点,自己写了一个基于MVC的框架,核心控制器为:ActionServlet,自定义的业务控制器可以实现Action接口或者扩展CRUDBaseAction抽象类,代码中有大量的注释,有兴趣的可以下载研究
11、如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置? 12、怎么样在方法里面得到 Request,或者 Session? 13、我想在拦截的方法里面得到从前台传入的参数,怎么得到? 14、如果前台有很多个参数传入,并且...
Head First Servlet JSP(清晰中文版) pdf格式 《Head First Servlets·JSP》(中文版)结合SCWCD考试大纲讲述了关于如何编写servlets和JSP代码,如何使用JSP表达式语言,如何部署Web应用,如何开发定制标记,以及会话...
这是2个压缩包中的第一个,请与第二个一并下载,然后随便解压其中一个即可。如果只想下载其中一部分,可下载pdf: http://download.csdn.net/detail/oqqsun12345678/5215337 这个pdf是665页中的前404页,后面200多页...
\contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...