spring mvc不像struts2:
- <action name="TwoDimensionalCodeAction" class="com.wsg.action.TwoDimensionalCodeAction">
- <result type="stream">
- <param name="inputName">inputStream</param>
- </result>
- <result name="testForm">/form_success.jsp</result>
- </action>
直接设置结果既可实现跳转,显示页面。
在spring mvc的action中需要设置response,具体如下:
@RequestMapping(value="/getpic", method = RequestMethod.GET) public String getpic(Model model, HttpServletResponse response) throws IOException { response.setContentType("image/jpeg"); // 设置返回内容格式 File file = new File("d:/a.jpg"); //括号里参数为文件图片路径 if(file.exists()){ /如果文件存在 InputStream in = new FileInputStream("d:/a.jpg"); //用该文件创建一个输入流 OutputStream os = response.getOutputStream(); //创建输出流 byte[] b = new byte[1024]; while( in.read(b)!= -1){ os.write(b); } in.close(); os.flush(); os.close(); } return null; }
这里选择相应的跳转,return null即可!
如果这样在把二进制流发送到页面时,response的流会出现一个问题:
- threw exception [java.lang.IllegalStateException: getOutputStream() has already been called for this response] with root cause
- java.lang.IllegalStateException: getOutputStream() has already been called for this response
这个时候页面加上以下代码即可解决
- <%
- out.clear();
- out=pageContext.pushBody();
- %>
相关推荐
这通常包括安装Java Development Kit (JDK)、配置IDE(如IntelliJ IDEA或Eclipse)、添加Spring MVC的相关依赖到构建工具(如Maven或Gradle)的pom.xml或build.gradle文件中。还需要配置Web应用服务器,比如Tomcat,...
对于下载,Controller会返回一个`HttpServletResponse`对象,通过设置相应头信息和输出流,将文件内容写入响应,从而实现文件的下载。 ### 使用xheditor发布消息功能 xheditor是一个流行的JavaScript富文本编辑器...
`DispatcherServlet`是Spring MVC的核心,它负责调度请求到相应的处理器。在配置中,我们通过`init-param`指定了Spring MVC的配置文件位置,例如`contextConfigLocation`参数设置为`/WEB-INF/Config.xml`。 2. **...
- JSP,FreeMarker,Thymeleaf等视图技术可与Spring MVC集成,用于生成动态HTML页面。 - 使用ModelAndView或Model对象传递数据到视图。 6. **异常处理**: - `@ExceptionHandler` 注解可以在Controller中处理...
这个入门教程将涵盖XML配置和注解配置两种方式,帮助初学者理解如何在Spring MVC中搭建基本的"Hello, World!"应用。 首先,我们从XML配置开始。在Spring MVC中,`DispatcherServlet`是入口点,它负责分发HTTP请求到...
- `transferTo(File dest)`:将文件内容写入到指定的目标文件。 下面是一个简单的文件上传控制器方法示例: ```java @RequestMapping("upload") public String fileUpload(@RequestParam("file") MultipartFile ...
Spring MVC是一种基于Java语言的轻量级Web应用框架,它是Spring框架的一个模块,遵循MVC设计模式,将Web层进行分离,提供了清晰的角色定义以及开发的各个组件之间的耦合关系。 **知识点一:Spring MVC架构概述** 1...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建RESTful应用程序提供了强大的支持。...实践这些示例将有助于理解和掌握Spring MVC的注解驱动开发方式,为进一步深入学习和开发复杂的Web应用奠定基础。
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,专为构建可维护、高性能的 MVC(Model-View-Controller)应用程序而设计。本入门案例将带你逐步了解如何使用 Spring MVC 创建一个...
通过分析这个简单的 Spring MVC Demo,你可以学习到如何创建一个基本的 MVC 请求处理流程,包括请求的接收、业务处理、数据返回以及视图渲染。这将为后续深入学习和使用 Spring MVC 打下坚实的基础。
它基于Spring框架,提供了模型-视图-控制器(MVC)架构模式的实现,使得开发者可以将业务逻辑、数据处理和用户界面分离开来,提高代码的可读性和可测试性。 在搭建Spring MVC框架的过程中,我们需要遵循以下步骤: ...
- 存储文件:接收到文件后,开发者需要将文件内容写入到服务器的某个位置,可能使用`CommonsMultipartFile`进行转换并保存。 - 错误处理:考虑文件大小限制、文件类型限制等,确保上传安全。 3. **Android 客户端...
在本文中,我们将深入探讨如何使用Spring 3.0 MVC框架通过注解方式实现一个简单的“Hello, World!”输出。Spring MVC是Spring框架的一部分,它为构建基于模型-视图-控制器(MVC)架构的Web应用程序提供了一个强大的...
在本教程中,我们将详细讲解如何编写第一个 Spring MVC 程序,涵盖其核心概念、配置以及实现过程。 1. **Spring MVC 概述** Spring MVC 为 Web 开发提供了模型-视图-控制器(MVC)架构模式,它简化了业务逻辑与...
接下来,我们将讨论如何集成Jxls到Spring MVC项目中。首先,需要在项目的类路径下添加Jxls和Apache POI的依赖。接着,在Spring的配置文件中,定义一个视图解析器,如`InternalResourceViewResolver`,并配置对应的...
这个例子通常会涵盖基本的Spring MVC项目结构,包括`web.xml`配置文件、`DispatcherServlet`的设置以及Spring MVC的配置文件(`servlet-context.xml`)。在`web.xml`中,你需要配置`DispatcherServlet`作为请求的前端...
在拦截请求中,如何拦截GET方式提交的方法,可以使用Spring MVC提供的Interceptor机制来实现。 如何在方法里面得到Request或者Session,可以使用HttpServletRequest和HttpSession对象来实现。 如果想在拦截的方法...
在本学习资料中,我们将深入探讨Spring MVC 3,这是一个广泛使用的版本,提供了许多改进和新特性。 首先,Spring MVC 3 提供了增强的注解支持,这使得开发者可以更方便地配置控制器和方法。`@Controller` 注解用于...
最后,我们设置响应头以指示浏览器这是一个Excel文件,并将其写入到HTTP响应流中。 为了使导出功能更加健壮,我们还可以考虑以下几点: 1. 错误处理:添加异常处理代码,以应对数据准备或模板渲染过程中的错误。 2....
* @ResponseBody:注解在控制器方法上,表明该方法的返回值将被写入到响应体中。 * @PathVariable:注解在控制器方法的参数上,表明该参数来自于URL的路径变量。 * @RequestParam:注解在控制器方法的参数上,表明该...