`

SpringMVC的Controller如何重定向非Controller映射地址(外部地址)

阅读更多
引言
  问题的引出,做微信开发,使用SpringMVC内置的文件下载方法,怎么也无法下载文件,总是提示“文件无法下载”。没有办法,只好在服务端生成文件,然后直接重定向到该文件。虽然不好、不安全,但解决了微信中无法下载文件的问题。

方法
  代码很简单,就是一个简单的要了解的知识点。RedirectView类。
@RequestMapping("/download")
public ModelAndView download(){
	String shortName = "下载文件.xls";
	try {
		shortName = URLEncoder.encode(shortName,"UTF-8");
	} catch (UnsupportedEncodingException e) {
		e.printStackTrace();
	}
	String url = "../downloadPath/"+shortName;
	ModelAndView downloadView = new ModelAndView(new RedirectView(url));
	return downloadView;
}


  如果重定向的文件名中有中文,需要使用URLEncoder.encode()函数进行编码,不然会提示无法找到文件。
  RedirectView有个参数:encodingScheme,似乎可以达到同样的效果(我没有试验,大致看了一下源码,觉得似乎可以)。可以使用set方法设置一下,就不用自己转码了。

分享到:
评论

相关推荐

    SpringMVC实现笔记_SpringMVC实现笔记_

    开发步骤①导入SpringMVC相关坐标②配置SpringMVC核心控制器DispathcerServlet③创建Controller类和视图页面④使用注解配置Controller类中业务方法的映射地址⑤配置SpringMVC核心文件 spring-mvc.xml⑥客户端发起...

    springMVC如何将controller中数据传递到jsp页面

    主要介绍了springMVC如何将controller中数据传递到jsp页面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    SpringMVC教程

    第六章 注解式控制器详解2(SpringMVC3强大的请求映射规则详解).pdf 第六章 注解式控制器详解3(生产者、消费者请求限定).pdf 第六章 注解式控制器详解4(SpringMVC强大的数据绑定1).pdf 第六章 注解式控制器详解5...

    Spring SpringMVC 简单整合

    Spring SpringMVC 简单整合(初学者参考) demo项目对应地址说明 :https://blog.csdn.net/tianyu00/article/details/89186404 SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 ...

    跟我学SpringMVC

    第六章 注解式控制器详解 SpringMVC3强大的请求映射规则详解 第六章 注解式控制器详解 Spring MVC 3.1新特性 生产者、消费者请求限定 第六章 注解式控制器详解 SpringMVC强大的数据绑定(1) 第六章 注解式控制器...

    跟我学SpringMVC 教程

    第六章 注解式控制器详解 SpringMVC3强大的请求映射规则详解 第六章 注解式控制器详解 Spring MVC 3.1新特性 生产者、消费者请求限定 第六章 注解式控制器详解 SpringMVC强大的数据绑定(1) 第六章 注解式控制器...

    Springmvc开发实例和规范

    springmvc基于方法开发...springmvc将url和controller里的方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。方法执行结束,形参数据销毁。springmvc的controller开发类似web service开发

    springmvc开发资料

    SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成...

    springmvc常用注解标签详解

    springmvc常用注解标签详解,@Controller控制器Controller 负责处理由DispatcherServlet 分发的请求,@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有...

    初识SpringMVC以及springmvc基本应用入门案例彩色PPT版本.pptx

    1、SpringMVC概述 请求响应模式演进过程 SpringMVC概念 2、入门案例 使用Servlet技术开发web程序流程 创建web工程(Maven结构) 设置tomcat服务器,加载web工程(tomcat插件) 导入坐标(Servlet) 定义处理请求的...

    springmvc-RequestMapping:根据映射的 URL 定位具有 @RequestMapping 注释的整个类或特定处理程序方法

    springmvc-RequestMapping 根据映射的 URL 定位具有 @RequestMapping 注释的整个类或特定处理程序方法目的 : 大多数时候,当我们不熟悉基于 spring 框架的 Web 应用程序时,我们只有一种选择来定位 Controller 类或...

    手写springmvc源码

    这个是自己仿照springmvc写的框架代码,不依赖于spring的任何框架,根据这个代码流程可以有效的理解springmvc源码。包括IOC容器的加载,url和controller的映射,注解的解析,页面模板的解析等等....

    springmvc demo

    页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常...

    SpringMVC工作原理.docx

    SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器...

    SpringMvc源码

    页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;

    23道SpringMVC常见面试题.docx

    23道SpringMVC常见面试题 ...2) DispatcherServlet 查询 handlerMapping 找到处理请求的 Controller 3)Controller 调 用 业 务 逻 辑 后 , 返 回 ModelAndView 4)DispatcherServlet 查询 ModelAndVi

    SpringMVC讲义大全.docx

    SpringMVC基本原理: 解释SpringMVC框架的工作原理,包括前端控制器、处理器映射器、处理器适配器、视图解析器等核心组件的作用。 控制器开发: 讲解如何编写控制器(Controller),处理用户请求,获取参数,调用...

    springmvc第二天.pdf

    1.2. Springmvc 优点 1、清晰的角色划分: 前端控制器(DispatcherServlet) 请求到处理器映射(HandlerMapping) 处理器适配器(HandlerAdapter) 视图解析器(ViewResolver) 处理器或页面控制器(Controller) ...

    整合SpringMVC、Spring、Mybatis开发信息管理系统

    使用SpringMVC,你可以定义处理器方法(Controller),并使用注解将这些方法映射到特定的URL路径。此外,SpringMVC还提供了与视图解析器一起使用的功能,用于将模型数据渲染为最终的响应。 Spring框架是一个全功能...

    spring+springmvc+mybatis的整合

    前段时间,分开学习了这三个框架,都是看某黄埔军校的...2.8 写spring mvc配置文件,其实就是扫描controller 2.8 到这里,配置文件就写完了,这里注意的是,java代码没开始写,只是定义了几个包,dao\service\beans

Global site tag (gtag.js) - Google Analytics