在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
相关文档:
一、安装JDK 首先下载JDK 5.0(JDK 5.0的下载页面为:http://java.sun.com/j2se/1.5.0/download.jsp); 然后运行JDK 5.0安装程序jdk-1_5_0_06-windows-i586-p.exe,安装过程中所有选项保持默认;最后配置JDK的环境变量:在“我的电脑”上点右键—>“属性”—>“高级”& ......
用了commons-fileupload-1.2.jar和commons-io-1.3.2.jar这两个包。
save.jsp
<%@ page language="java" contentType="text/html;charset=utf-8"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.regex.*"%>
<%@ page import="org.apache.co ......
树节点组合模型
package cn.com.jsnh.model.catalog;
public class TreeModel {
private String node;
private CatalogModel model;
public String getNode() {
return node;
}
public void setNode(String node) {
this.node = node;
}
public CatalogModel getModel() {
return model;
}
public void setMo ......
也许很多高手都不削解决这个问题,但是我觉得对初学者来说这个问题还是要研究一会的,所以就记录下来了。
问题描述:
当你在Eclipse的程序中加入一个JSP文件后,整个Project 会报一个这样的Error.
问题原因:
默认Eclipse的编译环境是JRE,而JRE是不带编译器的,只有JDK才带编译器。所以必须把JDK作为你项目的Installe ......
JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):
1.request 用户端请求,此请求会包含来自GET/POST请求的参数。
2. response 网页传回用户端的回应 。
3.pageContext 网页的属性是在这里管理 。
4.session 与请求有关的会话期。
5.ap ......