`
375809600
  • 浏览: 153180 次
  • 来自: 湖北
社区版块
存档分类
最新评论

javaweb中的文件下载

阅读更多

package cn.itcast.day06.web.servlet;

 

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.URLEncoder;

 

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

public class DownloadServlet extends HttpServlet {

 

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

// 实现防盗链功能

// 获得 referer 头  用于说明来访者来自哪里

String referer = request.getHeader("referer");

if(referer==null || !referer.startsWith("http://localhost")) {

// 是盗链者

response.sendRedirect("/day06/index.jsp");

return ;

}

// 解决response中文乱码问题

response.setContentType("text/html;charset=utf-8"); // 设置消息体的编码

// 通过 http 协议  发送的http响应消息头  不能出现中文  中文必须要经过url编码

String filename = URLEncoder.encode("美女.jpg", "utf-8");

// 通知浏览器以下载的方式读取资源

response.setHeader("content-disposition", "attachment;filename="+filename);

// 读取图片数据  发给ie浏览器

String webPath = "/download/美女.jpg"; // 相当于当前web应用的path

ServletContext servletContext = super.getServletContext();

InputStream in = servletContext.getResourceAsStream(webPath);

OutputStream out = response.getOutputStream();

int len;

byte[] buffer = new byte[1024];

while((len=in.read(buffer))!=-1)

out.write(buffer, 0, len);

}

 

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

 

}


分享到:
评论

相关推荐

    javaweb文件上传与下载

    javaweb文件上传与下载

    javaweb文件上传与下载模块源代码

    这个"javaweb文件上传与下载模块源代码"提供了一个实现这些功能的基础框架,对于初学者和Java程序员来说,这是一个很好的学习资源。下面将详细讲解其中涉及的关键知识点。 1. **Servlet和HTTP协议**: - 在Java ...

    JAVAWEB批量文件下载器

    在JavaWeb批量文件下载器的设计和实现中,主要涉及到以下几个核心知识点: 1. **Servlet与JSP**:JavaWeb应用的基础框架,Servlet用于处理HTTP请求,JSP则用于动态生成HTML响应。在这个下载器中,Servlet接收用户的...

    javaweb简单实现文件上传与下载源代码

    在JavaWeb开发中,文件上传和下载是常见的功能需求,特别是在构建交互性强的Web应用时。本源代码示例提供了一个简单的实现,帮助开发者理解如何处理这些操作。下面将详细解释涉及的技术点。 1. **文件上传** - **...

    JavaWeb中文件上传最强工具类

    在JavaWeb开发中,文件上传是一项常见的功能,用于接收用户通过网页上传的文件,例如图片、文档等。这里我们关注的是一个自定义的Util工具类,它特别针对Excel2007格式进行了优化,同时也兼容其他版本的Excel处理。...

    JavaWeb帮助文档【完整帮助文档包含三层框架】

    本帮助文档全面介绍了JavaWeb开发中的核心概念和实践技巧,特别是强调了采用三层架构的设计模式。 首先,JavaWeb的核心技术包括Servlet、JSP(JavaServer Pages)和JavaBean。Servlet是Java语言编写的应用程序,它...

    javaWeb实现文件的上传和下载(可以返回上一级目录)server.zip

    在JavaWeb开发中,文件的上传和下载是常见的功能需求,尤其在构建企业级应用时。这个"javaWeb实现文件的上传和下载(可以返回上一级目录)"项目,旨在提供一个用户友好的交互式文件管理系统,允许用户不仅能够上传和...

    JavaWeb开发文档集合

    在IT行业中,JavaWeb开发是构建企业级应用的重要技术栈,涵盖了从前端界面到后端服务的全方位开发工作。这份"JavaWeb开发文档集合"显然是一份宝贵的资源,包含了多种核心技术的指南,可以帮助开发者深入理解和掌握...

    JavaWeb帮助文档Api

    了解如何配置Tomcat服务器、部署WAR文件、管理应用以及日志查看,对于JavaWeb开发者来说是基础技能。 这些技术的综合运用使得JavaWeb开发者能够创建功能丰富、交互性强的Web应用。在阅读提供的“JavaWeb帮助文档Api...

    javaweb学习文档

    第三步,JavaWeb项目部署:部署JavaWeb应用通常涉及将项目打包成WAR(Web ARchive)文件,然后将其放在应用服务器的webapps目录下。Tomcat会自动解压并启动应用。部署过程还包括配置服务器端的环境变量、虚拟主机和...

    javaWeb总结,最后附带自己写的word文档下载

    附件中的"web.doc"文件可能是作者自己编写的关于JavaWeb的详细文档,包含了可能的实战经验、代码示例或者对上述概念的深入解释。下载并阅读该文档,将有助于进一步理解和掌握JavaWeb开发的关键技术。 总之,JavaWeb...

    javaweb 程序填空题

    javaweb 程序填空题

    JavaWeb12-文件上传.rar

    JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar ...JavaWeb12-文件上传.rar JavaWeb13-过滤器与监听器.rar

    JavaWeb常用帮助文档

    Spring formwork.chm是Spring框架的帮助文档,Spring是JavaWeb中最受欢迎的框架之一,它提供了依赖注入、AOP(面向切面编程)、MVC等特性,有助于简化企业级应用的开发。 JSTL中文帮助文档CHM.chm介绍了JavaServer ...

    JavaWeb学习教程文档

    JavaWeb学习教程文档是一套全面且深入的教育资源,旨在引导初学者逐步掌握Web开发的核心技术。这个教程首先从最基础的前端技术讲起,包括HTML5、CSS和JavaScript,然后过渡到后端的XML和Servlet等内容,使得学习者...

    JavaWeb中上传和下载文件实例代码

    文件上传和下载是 Web 应用程序中非常常见的功能,它们广泛应用于各个领域,例如文件共享、图片上传、文档下载等。 标题中的“JavaWeb中上传和下载文件实例代码”介绍了 JavaWeb 中文件上传和下载的实例代码,供...

    JavaWeb中对Excel上传下载学习

    在JavaWeb应用中,处理Excel文件的上传与下载是一项常见的需求。这主要涉及到客户端与服务器之间的数据交互,以及对Excel文件的读写操作。这里,我们重点探讨如何使用Java技术来实现这一功能。 首先,Excel文件的...

    javaweb书籍

    JavaWeb技术是构建互联网应用程序的重要框架,它将Java语言与Web技术相结合,为开发者提供了强大的..."javaweb书籍.pdf"这个文件可能包含了黄勇老师关于JavaWeb架构的详细讲解,对于初学者和进阶者都是宝贵的参考资料。

    javaweb文件域包

    总的来说,"javaweb文件域包"是JavaWeb开发中的重要组成部分,它简化了文件上传这一复杂任务,使开发者能够更专注于业务逻辑,而不用过多关心底层的实现细节。正确理解和使用这两个库,能极大地提高开发效率,同时...

Global site tag (gtag.js) - Google Analytics