java web项目实现文件下载实例代码

2014-09-14  来源:本站原创  分类:Java  人气:0 

现在项目里面有个需求,需要把系统产生的日志文件给下载到本地 先获取所有的日志文件列表,显示到界面,选择一个日志文件,把文件名传到后台

File file = new File(path);// path是根据日志路径和文件名拼接出来的
    String filename = file.getName();// 获取日志文件名称
    InputStream fis = new BufferedInputStream(new FileInputStream(path));
    byte[] buffer = new byte[fis.available()];
    fis.read(buffer);
    fis.close();
    response.reset();
    // 先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,这个文件名称用于浏览器的下载框中自动显示的文件名
    response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.replaceAll(" ", "").getBytes("utf-8"),"iso8859-1"));
    response.addHeader("Content-Length", "" + file.length());
    OutputStream os = new BufferedOutputStream(response.getOutputStream());
    response.setContentType("application/octet-stream");
    os.write(buffer);// 输出文件
    os.flush();
    os.close();

struts2.0中,可以使用public void downloadFile(){}这种方法,返回值类型为void,调用时,直接写downloadFile.do就可以出现下载提示框

相关文章
  • java web项目实现文件下载实例代码 2014-09-14

    现在项目里面有个需求,需要把系统产生的日志文件给下载到本地 先获取所有的日志文件列表,显示到界面,选择一个日志文件,把文件名传到后台 File file = new File(path);// path是根据日志路径和文件名拼接出来的 String filename = file.getName();// 获取日志文件名称 InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = n

  • java web项目上报错但是代码中没报错解决办法 2013-10-15

    开发web项目时,有时候会遇到比较诡异的问题: 就是java web项目上报错但是代码中没报错 问题可能是jar包冲突 解决办法:build path中查看是否有jar包找不到或者冲突,将冲突文件删除即可

  • Java Web项目中连接Access数据库的配置方法 2014-06-15

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.由于在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客发布了,但是后来经过一些验证有点问题,所以今天改了一下重新的发布了 老师决定期末考试采用access数据库实现增删改查,我认为现在的我已经没有问题了,但是以前都是在JSP页面中连接access数据库,无论是以下的那种方式都进行了连接的练习,但是现在我想让我的项目中的访问access数据库的java代码,封装到DAO中,在DAO中连接数据库,没

  • 使用JRebel进行Java Web项目的热部署 2013-01-07

    在日常的Java开发中,如果我们需要调试一个Java Web项目,就需要先将项目编译之后,打包并放入Web容器中运行.如果对Java代码进行了修改,那么必须重新编译并重启Web容器.在改动频繁.或者需要反复调试的项目中,重新编译和重启的过程就显得特别麻烦.那么Java是否能够像动态语言一样,修改即生效呢?JRebel(http://zeroturnaround.com/software/jrebel/)就是这样的一个解决方案.JRebel是一个收费软件,可以申请14天的试用版.也有个免费的版本m

  • 配置eclipse开发Java Web项目 2014-07-11

    1.安装配置jdk,eclipse和Tomcat 1.1 安装jdk,设置环境变量JAVA_HOME和PATH (设置JAVA_HOME的目的是,许多其他软件都以该变量来查找Java的安装路径,例如Tomcat:设置path目的,可以在任意位置下执行jdk相关命令,如javac.java等) 1.2 环境变量中用户变量和系统变量的区别 一个是当前用户使用,你用其它用户登陆,这个环境变量就不起作用了. 系统变量,是对所有用户都可使用的. 1.3 配置Tomcat环境变量 到官网下载即可,zip结尾

  • 实战:在Java Web 项目中使用HBase 2015-04-10

    在此之前我们使用Mysql作为数据源,但发现这数据增长速度太快,并且由于种种原因,因此必须使用HBase,所以我们要把Mysql表里面的数据迁移到HBase中,在这里我就不讲解.不争论为什么要使用HBase,HBase是什么了,喜欢的就认真看下去,总有些地方是有用的 我们要做的3大步骤: 新建HBase表格. 把MYSQL数据迁移到HBase中. 在Java Web项目中读取HBase的数据. 先介绍一下必要的一些环境: HBase的版本:0.98.8-hadoop2 所需的依赖包: commo

  • java web项目里ehcache.xml介绍 2013-11-21

    java web项目里ehcache.xml介绍,需要的朋友可以参考一下 <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="false

  • Java生成PDF文件的实例代码 2014-03-24

    Java生成PDF文件的实例代码,需要的朋友可以参考一下 package com.qhdstar.java.pdf; import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Chapter; import com.lowagie.text.Document; import com.lowagie.text.Font; import com.lowagie.text.FontFactory; i

  • Java使用JDBC连接Oracle_MSSQL实例代码 2014-05-07

    这篇文章主要介绍了Java使用JDBC连接Oracle_MSSQL实例代码,需要的朋友可以参考下 一.Statement import java.sql.*; public class TestJDBC { public static void main(String[] args) { Connection oracle_conn = null; Statement oracle_stmt = null; ResultSet oracle_rs = null; Connection mssql

  • java实现MD5加密算法的实例代码 2014-06-24

    这篇文章主要介绍了java实现MD5加密算法的实例代码,有需要的朋友可以参考一下 package other; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /* * MD5 算法 */ public class MD5 { // 全局数组 private final static String[] strDigits = { "0", "1",

  • java多线程复制文件的实例代码 2014-07-12

    java多线程复制文件的实例代码,需要的朋友可以参考一下 package com.test; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; public class FileCoper { private static final String _ORIGIN_FILE_MODE = "r"; private static final

  • Java Clone(类的复制)实例代码 2015-04-01

    Java Clone(类的复制)实例代码,需要的朋友可以参考一下 自己实现了一遍: public class A implements Cloneable { public String str[]; A() { str = new String[2]; } public Object clone() { A o = null; try { o = (A) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTr

  • Java自动解压文件实例代码 2015-04-20

    Java自动解压文件实例代码,需要的朋友可以参考一下 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.Zi

  • 分享 做java web项目中常用的工具类中的方法! 2013-09-05

    分享 做java web项目中常用的工具类中的方法!之后会不断更新的!大家有什么好的共用方法也可送上,共同学习,学习! 一: 把时间Date类型转换成String类型 /** * 把Date类型转换成String类型 * @param date * @return */ public static String dateToString(Date date){ DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

  • 怎么用maven创建一个Java Web项目? 2014-03-23

    1.用maven模版创建web项目 用maven管理Java Web项目的依赖,最简单的办法就是直接用maven的内置主件来自动生成这个项目了.在命令行中输入: mvn archetype:generate -DgroupId=com.zhi-qingchun.testSpringMVC -DartifactId=testSpringMVC -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false 这样maven就自

  • 解决Linux上的Java Web项目(日志)乱码问题 2014-03-25

    前段时间,公司换了新服务器,但是所有的服务器均出现了乱码,当然这种情况后来也出现在了部署到点上的项目中. 项目经理让我着手解决这个问题,我在网上看了很多资料,说得五花八门的,不过我最后通过其中一种方法完美解决了Linux服务器上JAVA WEB项目乱码的问题,当然,主要是日志乱码. 很简单,如果你的是Tomcat服务器,在Linux服务器上找到你的Tomcat服务器下的bin目录中的Catalina.sh文件,编辑它,在里面的JAVA_OPTS变量中添加"-Dfile.encoding=GBK

  • 使用Maven新建Java Web项目(八) 2014-08-12

    下面来看看如何在Eclipse中使用Maven来新建Java Web项目. 1. 创建一个Maven项目,File --> New --> Other, 在窗口中选择Maven --> Maven Project,点击Next 2. 选择项目路径,默认就行 3. 选择项目骨架,选择maven-archetype-webapp 4. 输入Group Id,Artifact Id, Package填写war 5. 点击Finish之后,项目结构如下 6. 右键项目,点击Properties

  • IntelliJ IDEA使用Application Server开发普通Java Web项目 2014-10-26

    新建一个Java Web项目 开启Application Server的Plugin,这里以Tomcat为例 在Application Server中添加Tomcat 创建一个普通Java Web项目,选中Application Server(选Tomcat作为容器)+Web Application(选择你创建的web的版本,我选3.1) 输入项目名java_web,new window方式打开项目 默认的项目结构是这样的,需要手动修改成常用的结构 首先创建新的包结构 把web文件夹拖拽到src

  • JAVA WEB项目中各种路径的获取 2013-09-17

    1.可以在servlet的init方法里 String path = getServletContext().getRealPath("/"); 这将获取web项目的全路径 例如 :E:\eclipseM9\workspace\tree\ tree是我web项目的根目录 2.你也可以随时在任意的class里调用 this.getClass().getClassLoader().getResource("/").getPath(); 这将获取 到classes目录的全

  • java web项目生成验证码的解决方案 2014-01-09

    一.前言 在表单页面中使用验证码的好处在于有效防止用户恶意提交表单,或者使用外挂非法攻击系统. 二.准备条件 1.一个普通的web项目 webProject: 2.一个web服务器 Tomcat. 三.制作验证码实战 实现思路: <1>自定义一个servlet VerifyCodeServlet 画一个包含验证字符的验证码图片,这里的图片需要使用Graphics2D手动去画: <2>在具体页面使用img标签的src引用这个servlet即可显示servlet: <3>因