易截截图软件、单文件、免安装、纯绿色、仅160KB

Jsp实现文件下载功能的方法

 
1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。
 
2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。(示例如下)
 
 
<%
response.setContentType(fileminitype);
response.setHeader("Location",filename);
response.setHeader("Cache-Control", "max-age=" + cacheTime);
//filename应该是编码后的(utf-8)
response.setHeader("Content-Disposition", "attachment; filename=" + filename);

response.setContentLength(filelength);
OutputStream outputStream = response.getOutputStream();
InputStream inputStream = new FileInputStream(filepath);
byte[] buffer = new byte[1024];
int i = -1;
while ((i = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, i);
}
outputStream.flush();
outputStream.close();
inputStream.close();
outputStream = null;
%>
 
3.既然是JSP的话,还有一种方式就是用Applet来实现文件的下载。不过客户首先得信任你的这个Applet小程序,由这个程序来接受由servlet发送来的数据流,并写入到本地。
servlet端示例
 
 
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType(" text/plain ");
OutputStream outputStream = null;
try {
outputStream = res.getOutputStream();
//把文件路径为srcFile的文件写入outputStream中
popFile(srcFile, outputStream)) ;

} catch (IOException e) {
e.printStackTrace();
}
}
 
JApplet端示例
 
 
URLConnection con;
try {
//url是被调用的SERVLET的网址 如 *.do
con = url.openConnection();
con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestProper


相关文档:

JSP STRUTS ECLIPSE 编码问题

jsp的pageEncoding="UTF-8",struts的encoding="UTF-8",eclipse 的工作区间的编码方式是GBK,但是在struts的action中获得的jsp传来的中文中有乱码,使用new String(sysgkForm.getContent().getBytes("UTF-8"),"GBK")转码也不行,最后发现问题出在了jsp里面。加上contentType="text/html; charset=GBK" 就好了。
pageEncodi ......

JSP与Sevlet的相互通信方式(二)

Servlet:
在Servlet中,跳转在doGet或者doPost方法中实现。
<1>redirect实现页面跳转:
 response.sendRedirect("/login.jsp");
 方法的参数是相对路径,设定这个参数可以使页面跳转到任何页面,包括www.baidu.com等网络页面。
 跳转后你可以发现地址栏发生了变化。
 底层原理:使用redir ......

JSP问答集

1、如何混合使用Jsp和SSI #include?
在JSP中可以使用如下方式包含纯HTML:
但是如果data.inc中包含JSP CODE ,我们可以使用:
2、如何执行一个线程安全的JSP?
只需增加如下指令
3、JSP如何处理HTML FORM中的数据?
通过内置的request对象即可,如下:
String item = request.getParameter("item");
int howM ......

jsp中的中文参数的传递

在项目中,我们经常遇到需要在jsp页面切换中传递中文字符。这主要有两种方式。
  URL方式,例如:http://website/test1.jsp?act=add&type=苹果&param=%20D%20B
  FORM方式,例如:
  <form name=test mehtod="post">
  <input type=hidden name=text2 value="中文">
  <input type=t ......

mysql 中新闻类自动换行显示在jsp页面

只需从数据库查出来后在显示的地方用<pre></pre>标签修饰,如下:
<!--
     <div style="font-size:12px;color:green;text-align:left">
     <pre>
      <%=
        &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号