JSP中实现文件下载E1.jsp
因为jsp转译成servlet时,当有输出就会使用getWriter()。
它是 rvlet。jsp。JspWriter类型(extends 。Writer)。
而getOutputStream()。
它是 rvlet。ServletOutputStream类型(extends 。OutputStream)。
而对客户端的输出只能使用一种类别输出。
当它在jsp里使用了getOutputStream()。
就会产生了两种类别输出,所以就会形成冲突。program根本不知道你要使用那一个作为输出。
一般在下载档案时都要使用getOutputStream()。对客户端串流输出。
使...全部
因为jsp转译成servlet时,当有输出就会使用getWriter()。
它是 rvlet。jsp。JspWriter类型(extends 。Writer)。
而getOutputStream()。
它是 rvlet。ServletOutputStream类型(extends 。OutputStream)。
而对客户端的输出只能使用一种类别输出。
当它在jsp里使用了getOutputStream()。
就会产生了两种类别输出,所以就会形成冲突。program根本不知道你要使用那一个作为输出。
一般在下载档案时都要使用getOutputStream()。对客户端串流输出。
使用jsp作为下载档案时,
在jsp档案里,不能有任何的输出。
包括空格或 intln("xxx");
因为会使用了jspWriter()。
所以使用jsp作为下载档案时。
检查一下{Tomcat_home}/work/xxx/xxx_jsp。java
看它到底在那里使用了JspWriter。
把它修正,就能解决问题。
loadFile。jsp里面内容
不要在这个jsp里面包含多余的字符,否则都会被自动调用out。write进行实现,你下载就会出错了。我上传一个编译产生的java文件给你看看。
index_jsp。java
有问题,留言告诉我。收起