在JSP中下载文本文档
通常,我们需要提供一个文件下载的时候,仅需要一个超链接就可以解决。
比如exe文件,鼠标左键点击链接就会提示你直接执行还是保存,右键则可以直接另存为。。。
但是有一部分文件,比如txt等可以在浏览器中直接打开的文件,你只能用鼠标右键点击链接然后另存为的方式去保存该文件,如果直接点击左键,该文件就在浏览器中被打开了。
在一些需求中,我们需要让txt拥有exe文件类似的动作,即左键点击时也让它提示保存还是打开。
网上很多文章都提到用jspsmartupload去做这件事情,smartupload当然是个好东西,可以用的时候尽管用,但是它并不是必须的,我们在jsp中可以直接设置response的Header (Content-Disposition) 来达到目的。下面是整个过程:
1)首先你要提供一个下载的链接,或者button,如:
<a href="download.jsp">文件下载</a>
<button type="submit" onClick="window.open('download.jsp')">文件下载</button>
总之,需要有一个方法跳转到实现文件下载的jsp或者servlet中。
2)在download.jsp(或者实现同样功能的servlet)中,代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%
/* 前半部分是获得server上webcontent的真实路径,
* 因为获得一个FileInputStream必须使用"E:/webcontent/filename.txt"这种类型的真实路径,
* 而不是"http://www.xxx.com/xxx/filename.txt"这种URL的形式。
* dataname 是具体的文件相对于webcontent的路径 */
String fullname = request.getSession().getServletContext().getRealPath("/") + dataname;
// filename是保存时的默认文件名,经实验,在Firefox2和IE7中,这个文件名是有用的,在IE6中似乎没什么用,有兴趣的人再去研究研究吧
String filename = fullname.substring(fullname.lastIndexOf('/'));
int i = 0;
response.setContentType("text/plain");
// 关键是设置这个Hea
相关文档:
前几天,湖南SEO在用jsp写一个企业站程序的时候,因为要参加项目答辩竞选,所以就想为自己写的程序搞几个亮点,因为搞SEO久了,不自觉就会想到伪静态,但是在百度查了一个下午,只查到了urlrewrite架包的下载地方,和架设方面的文章,并没有jsp(JAVA)伪静态的具体操作示范,有的也只是,单页面的伪静态的写法,这里我就重头 ......
以前有提到过乱码问题,最近在使用window.open时又出现此类问题,现解决如下:
1:使用encodeURIComponent函数对参数进行处理,例如:window.open("html.jsp?name=" + encodeUrlComponent(value)));
2:修改tomcat服务器的server.xml文件添加:useBodyEncodingForURI="true"或者
URIEncoding=" ......
最近在自己做的项目中需要用到在线编辑器,在网上搜了下,发现了ckeditor,当然网上有好几种在线编辑器,不知道为什么选择了ckeditor,本来打算用Fckeditor的,但是看到网上还需要导入好几个JAR包,还要进行一堆配置,有点麻烦,本来项目中也就用一下,还要那么麻烦地去配置。
于是去ckeditor网站下载了最新版本的ckeditor, ......
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
1.request 用户端请求,此请求会包含来自GET/POST请求的参数。
2. response 网页传回用户端的回应 。
3.pageContext 网页的属性是在这里管理 。
4.session 与请求有关的会话期。
5.ap ......