场景:使用Servlet实现重定向到另一个Servlet文件下载服务端下载,重定向的Servlet只做验证处理功能,
       而实际下载功能是内部服务。
1.创建一个spring的web项目,确保可正常运行。
2.实现一个Servlet文件下载服务端
  可参考: 使用Servlet实现文件下载服务端
3.实现一个重定向Servlet
  本例是DownloadRedirectServlet类,继承HttpServlet类

public class DownloadRedirectServlet extends HttpServlet{private static final long serialVersionUID = -1984292554164116150L;private static final Logger logger = LoggerFactory.getLogger(DownloadRedirectServlet.class);public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {logger.info("进入DownloadRedirectServlet,转发前......");/**1.从请求中获取下载名称*/String fileName = request.getParameter("filename");fileName=new String(fileName.getBytes("ISO8859-1"),"UTF-8");/**2.重组url*/String redirectUrl ="http://127.0.0.1:8080/study/download?filename=#";redirectUrl = redirectUrl.replace("#", fileName);/**3.转发到实际下载服务*/try {response.sendRedirect(redirectUrl);} catch (IOException e) {e.printStackTrace();}logger.info("退出DownloadRedirectServlet,转发到实际下载服务......");}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request,response);}
}

4.在浏览器中访问URL:  http://127.0.0.1:8080/study/downloadRedirect?filename=8195B04F2E924C2E9596AC79488351EF.zip

5.日志截图

以上,TKS.

使用Servlet实现重定向到另一个Servlet文件下载服务端下载相关推荐

  1. twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间

    twisted:基于python的twisted框架编写一个客户端和服务端的对话聊天空间 目录 输出结果 实现代码 输出结果 更新-- 实现代码 #基于python的twisted框架编写一个简单的聊 ...

  2. 警察与小偷的实现之中的一个client与服务端通信

    警察与小偷的实现之中的一个client与服务端通信 来源于ISCC 2012 破解关第四题 目的是通过逆向police.实现一个thief,可以与police进行通信 实际上就是一个RSA加密通信的样 ...

  3. Asp.net webApi 通过WebSocket推送消息给客户端,搭建一个即是服务端又是客户端的服务

    Asp.net webApi 通过WebSocket推送消息给客户端,搭建一个即是服务端又是客户端的服务_IT_ziliang的博客-CSDN博客 WebSocket是一种在单个TCP连接上进行全双工 ...

  4. 编译一个MaNGOS芒果服务端(转)

    编译一个MaNGOS芒果服务端 一.准备工作 1.下载软件 1.1 .net3.5下载安装好,你可以选择一个下载安装 精简版(我是装的这个,主要是安装相对较快): http://www.jz5u.co ...

  5. Servlet→简介、手动编写一个Servlet、使用MyEclipse编写一个Servlet、Servlet生命周期、路径编写规范、初始化参数、MVC设计模式

    手动编写一个Servlet 使用MyEclipse编写一个Servlet Servlet生命周期 路径编写规范 初始化参数 MVC设计模式 企者不立:跨者不行. 自见者不明: 自是者不彰: 自伐者无功 ...

  6. 用简单的方法构建一个高可用服务端

    2019独角兽企业重金招聘Python工程师标准>>> 一. 什么是高可用性 服务端,顾名思义就是为用户提供服务的. 停工时间,就是不能向用户提供服务的时间. 高可用,就是系统具有高 ...

  7. twisted系列教程十一 — 一个twisted 的服务端

    A Twisted Poetry Server 既然我们已经学了这么多twisted client 的编写,现在让我们来用twisted来重新实现一下我们的poetry server 吧.我们要多谢谢 ...

  8. Java网络编程(一)- 一个简单的服务端/客户端应用程序

    在Java中,我们使用java.net.Socket及其相关类来完成有关网络的相关功能.Socket类非常简单易用,因为Java技术隐藏了建立网络连接和通过连接发送数据的复杂过程.下面所说的内容只适用 ...

  9. 连接主机Java网络编程(一)- 一个简单的服务端/客户端应用程序

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,迎欢批评指正 在Java中,我们应用java.net.Socket及其关相类来成完有关络网的关相功能.Socket类非常简略易用,因为Java术技 ...

最新文章

  1. 三大框架整合教程(Spring+SpringMVC+MyBatis)
  2. C、C++中接续符的使用
  3. 全球及中国回流冷凝管行业发展前景整体预测及十四五发展趋向展望报告2022-2027年版
  4. 「offer来了」浅谈前端面试中开发环境常考知识点
  5. 电脑显示器闪屏_Win7系统电脑显示器屏幕闪屏的解决办法
  6. CSS3动画 - 图片开关灯阴影动画
  7. Pytorch —— GPU的使用
  8. 电赛总结(二)——AD芯片总结之AD7715
  9. Mr.J--C语言学习Errors:LNK2019
  10. 一文读懂GaussDB(for Mongo)的计算存储分离架构
  11. 这款工具不用手写一行代码就能做出网站!
  12. 回顾 | Apache Flink x TiDB Meetup · 北京站(附 PPT 下载)
  13. layui动态设置checkbox选中状态
  14. 37wan《武易》全新系统机密放送
  15. Java tif转jpg代码实现
  16. nginx+docker+gunicorn+flask部署到云服务器
  17. 【c#】DGV中复制粘贴数据最详细代码
  18. SQL注入题型(手工注入+sqlmap)
  19. 安卓手机和电脑之间传文件最方便的方法
  20. 新版 CAD 2017 阵列怎么控制角度

热门文章

  1. 黑苹果 惠普笔记本电池补丁_惠普ProDesk 400 G3 DM黑苹果成功
  2. 集成阿里VOD功能 音/视频点播功能
  3. Hbase 完全分布式模式的搭建、命令行操作、Java API操作
  4. 关于STL中的map用法
  5. 最低通行费——动态规划
  6. SAP角色描述-只能在Logon语言中修改问题解决 .
  7. Trojan-Spy.Win32.Pophot.afw 木马类
  8. 行业分析报告-全球与中国净推荐值软件市场现状及未来发展趋势
  9. silk 编解码_Silk解码 开发日志
  10. 使用dataTable完成客户端分页