学习笔记,转自:http://blog.csdn.net/huang_hws/article/details/6689213
实现是前台:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script> <title>Insert title here</title> </head> <body> <input id='fileName' type="text" name="fileName"/> <a href="download.do" target="blank"><button>下载</button></a> </body> <script type="text/javascript"> $(function(){ $('a').click(function(){ var link=this.href+'?'+'fileName='+$('#fileName').val(); window.open(link); return false; }); }); </script> </html>
前台填写要下载的文件,后台从文件夹里查找,如果没有文件则返回错误文件,否则则提供任意文件类型的下载(填写文件时必须写后缀)
package hope.cs.zhku.controller; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /****************************************************************************** * 名称:UserBasicEditorController.java</br> * 日期:2011-8-15</br> * 功能:</br> * 编写:Willson Huang</br> * 复核:</br> * 其他:</br> * 历史:(说明,修改人,时间)</br> * 1.create ,Willson Huang ,2011-8-15 *****************************************************************************/ @Controller public class DownloadController { @RequestMapping("download.do") public void downloadFile(String fileName,HttpServletResponse response){ response.setCharacterEncoding("utf-8"); response.setContentType("multipart/form-data"); response.setHeader("Content-Disposition", "attachment;fileName="+fileName); try { File file=new File(fileName); System.out.println(file.getAbsolutePath()); InputStream inputStream=new FileInputStream("file/"+file); OutputStream os=response.getOutputStream(); byte[] b=new byte[1024]; int length; while((length=inputStream.read(b))>0){ os.write(b,0,length); } inputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
Spring MVC 配置详解 ...Spring MVC 是一个功能强大且灵活的 Web 框架,它提供了许多可配置的组件,以便我们根据需要进行自定义配置。掌握 Spring MVC 的配置和原理是我们开发高质量 Web 应用程序的关键。
- **基本概念**:Spring MVC提供了一个灵活的MVC实现,包括请求映射、视图解析、模型绑定等功能。它通过DispatcherServlet作为前端控制器,负责接收请求并分发到相应的处理器。 - **组件**:主要包括Model、View、...
Spring MVC是Spring框架的一部分,用于处理Web应用程序的请求-响应模型,而Spring Security则是一个强大的安全管理框架,提供了认证和授权功能,帮助开发者保护应用免受恶意攻击。 1. **Spring MVC**: - **核心...
3. **Spring MVC配置文件**:如`spring-mvc-config.xml`,配置视图解析器、拦截器、处理器映射器等,例如: ```xml <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> ``...
"spring+spring mvc+mybatis框架整合实现超市货物管理系统"是一个涵盖后端开发基础技能的项目,涉及了JavaEE的多个层面,从Web层的路由处理,到业务逻辑的实现,再到数据库操作,以及用户认证和分页显示等实用功能。...
10. **国际化和本地化**:通过消息源和LocaleResolver,Spring MVC可以轻松实现应用的多语言支持。 在实际开发中,我们可以通过Maven或Gradle等构建工具将Spring MVC 4.2.3依赖引入项目。同时,使用IDE如IntelliJ ...
另外,Spring MVC与Spring框架的其他组件无缝集成,如Spring AOP(面向切面编程)用于实现日志、事务管理等功能,Spring JDBC和MyBatis等持久层框架用于数据库操作,以及Spring Data JPA、Hibernate等ORM工具,使得...
1. **依赖注入**:Spring MVC 4.0继续支持Spring框架的核心功能,依赖注入(DI),允许开发者通过配置来管理对象及其依赖关系,降低了代码耦合度,提高了可测试性。 2. **ModelAndView对象**:在处理完请求后,控制...
在本示例中,我们将深入探讨如何使用Spring MVC框架与Hibernate ORM工具来实现一个基本的添加功能。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Hibernate则是一个流行的Java对象关系映射(ORM)...
- `Spring MVC + Mybatis+Spring实现的个人博客系统`: 这个可能是博客系统的源代码,包括控制器、服务、DAO、实体类以及配置文件等。 **6. 开发流程** 开发此类系统时,一般会经历以下几个步骤:设计数据库模型,...
5. **配置文件**:项目中的配置文件(可能在`config`目录下)包括Spring的bean配置文件(如`applicationContext.xml`)和Spring MVC的配置文件(如`servlet-context.xml`)。这些文件定义了Bean的实例化、依赖关系...
通过阅读"Spring MVC 文件上传下载 后端 - Java.doc"文档,你可以深入理解如何在实际项目中实现这些功能,包括具体的代码示例、配置细节和最佳实践。这份文档可能会涵盖以上所有知识点,帮助开发者更好地掌握Spring ...
在使用Spring MVC时,依赖包的正确配置至关重要,因为它们包含了框架运行所需的类库和组件。 Spring MVC的依赖主要分为以下几个方面: 1. **Spring Framework核心**:这是Spring MVC的基础,包括Spring Context、...
2. **Spring MVC 模块**:`spring-webmvc.jar` 是 Spring MVC 的核心组件,它实现了 MVC 设计模式,提供请求处理、视图解析等功能。这个 jar 包是构建基于 Spring 的 Web 应用必不可少的。 3. **Spring Web 模块**...
在Spring MVC中,你可能会找到控制器类(Controller)、服务接口和服务实现(Service/ServiceImpl)、模型对象(Model)以及DAO(Data Access Object)等。 6. **.classpath**和`.project`:这两个文件是Eclipse ...
二十、本文中springMVC.xml配置文件是核心:强调了在Spring MVC项目中,springMVC.xml配置文件的重要性,它是整个Spring MVC配置的核心所在。 以上是对所给内容的详细知识点的解析,Spring MVC的教程内容十分丰富,...
Spring MVC 是一个功能强大且灵活的框架,它不仅提供了基础的 MVC 实现,还包含了大量高级特性和工具来支持现代 Web 开发的需求。无论是初学者还是有经验的开发者,都能从中受益,构建高效、健壮的 Web 应用。
10. **Conversion and Validation**: Spring MVC提供了数据转换和验证功能,如使用`@RequestParam`、`@PathVariable`注解自动转换参数,以及使用`@Valid`和`BindingResult`进行表单验证。 11. **Tiles or Layouts**...