wap 软件下载实现
对于wap页面下载软件记录下
URL要带文件名,否则手机不支持
例如:http://localhost:8080/client/test.CAB
symbian手机对于IP:8080/方式貌似不支持,需要http://域名:端口/client/test.CAB
下载方式可以有2种:
1)wap标签连接
<wall:a href="<%=filePath%>">download</wall:a>
2)servlet write文件流返回(字节流)
配置一个DownLoadServlet
web.xml:
<servlet>
<servlet-name>downLoadClientServlet</servlet-name>
<servlet-class>com.test.DownLoadServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>downLoadClientServlet</servlet-name>
<url-pattern>/client/*</url-pattern>
</servlet-mapping>
DownLoadServlet:
public class DownLoadServlet extends HttpServlet { private GeneralLogger logger = LoggerFactory.getLogger(DownLoadServlet.class);
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
logger.debug("------------------------------------------------------------------------------------");
try { String filePath = "d:/mytest/client/test.CAB";
logger.debug("filePath = " + filePath);
sendReply(filePath, response);
} catch (Exception e) { logger.error("error :" + e.toString()); } logger.debug("------------------------------------------------------------------------------------"); }
public void sendReply(String filePath, HttpServletResponse response) { File file = new File(filePath); if (file.exists()) { String fileName = file.getName(); response.setContentType("application/x-download");//设置为下载application/x-download
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
OutputStream output = null; FileInputStream fis = null; try { output = response.getOutputStream(); fis = new FileInputStream(filePath);
byte[] b = new byte[1024]; int i = 0;
while ((i = fis.read(b)) != -1) { output.write(b, 0, i); } output.flush(); b = null; } catch (Exception e) { logger.error("error :" + e.toString()); } finally { if (fis != null) { try { fis.close(); } catch (IOException e) { //e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } fis = null; } if (output != null) { try { output.close(); } catch (IOException e) { //e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } output = null; } } } }
}
顺便说下,第一种方式软件要放在web文件夹或子文件夹下,否则tomcat等容器是不允许访问的
第二种方式就比较灵活些,对于手机客户端软件升级,后台连接,可采用第二种方式。
wap 软件下载实现相关推荐
- (PC+WAP)网络APP软件下载类pbootcms网站模板 APP应用软件官网网站源码下载
商品介绍 (PC+WAP)网络APP软件下载类pbootcms网站模板 APP应用软件官网网站源码下载PbootCMS内核开发的网站模板,该模板适用于 APP网站.APP软件官网 等企业,当然其他行 ...
- 6大绿色软件下载网站,跟捆绑软件和病毒说拜拜!
随着移动互联网的普及,很多人家中的电脑应该很长时间没有开机了吧?无论是Android系统,iOS系统还是计算机的Windows系统.不过这只是我们使用的一个平台,如果我们要实现更多功能,则需要安装一些 ...
- 和12岁小同志搞创客开发:手撕代码,Arduino IDE 软件下载和环境搭建
目录 1.软件下载 2. 软件安装 3.环境搭建和使用 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_3810 ...
- 苹果企业证书_今日更新:丨企业证书已更新丨苹果丨安卓软件下载说明丨
今日更新 苹果软件下载说明 企业证书☆已更新 苹果☆安卓软件☆规整说明 为了方便大家下载的时候不那么麻烦,我把所以的软件都归类到了一起,大家只要 回复关键词→111即可获得苹果软件列表 回复关键词→2 ...
- linux 下的图片处理软件下载,美图秀秀Linux版
美图秀秀linux版是一款图片处理软件,可以帮助用户对图片进行美化处理,支持批量处理图片,能够方便用户直接在Linux系统上修改图像,有需要可以下载. 美图秀秀linux版是一款图片处理软件,可以帮助 ...
- linux下常用软件下载
linux下常用软件下载: wget http://admin.ooopic.com/soft/linux/APC-3.1.2.tgz wget http://admin.ooopic.com/sof ...
- 九维 Addon for SBO 功能说明及新版软件下载
作者:九维软件工作室 [email]waysoft2@gmail.com[/email] Juway Addon for SBO 是 SAP Business One 的附加功能插件(增 ...
- 【五线谱】Sibelius 7.5.1 打谱软件安装 ( 软件下载 | 软件安装 )
文章目录 一.下载 Sibelius 软件 二.安装 Sibelius 软件 一.下载 Sibelius 软件 下载后的 西贝柳斯 Sibelius 软件如下 : 二.安装 Sibelius 软件 执 ...
- [download]-软件下载地址-百度网盘
软件下载 arm gcc交叉工具链的下载地址: 密码都是:1234 gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz gcc-arm-8.3-20 ...
最新文章
- 【译】Monolith first —— Martin Fowler 对于微服务架构的看法
- 中国电子学会青少年编程能力等级测试图形化四级编程题:抽奖
- 三十八、页面分配策略
- SpringMvc CharacterEncodingFilter 解析 encoding 参数并初始化参数
- sublime text 3设置快捷键让html文件在浏览器打开
- LIN总线接口静电保护专用器件:DW24DLC-B-S和DW24D-B-S
- 关于判断函数凸或凹以及最优化的问题
- advanced east_SpriteKit Advanced —如何构建2,5D游戏(第二部分)
- java的string访问某个元素_架构师必懂的——RBAC基于角色的访问权限设计
- [POJ 2891] Strange Way to Express Integers
- arm linux下交叉编译valgrind工具进行内存泄露检测和性能分析
- 查找某组织下子库存与物料信息
- shell 踢人办法
- LINUX下载编译commoncpp/ucommon
- “暖男”经济学:创业者最后的增长红利?
- Appium环境搭建2021年最新详细教程
- html中的布局方式,网页设计常见的5种布局方式
- Navicat Premium 15破解
- 淘宝用户行为分析——通过excel分析
- 孢子社群:今日推荐人工智能微信群:智能群3群 智能大数据合作交流群
热门文章
- Google Earth Engine 学习7---ASTER GED 地表发射率数据下载
- 解决IDEA打Jar包找不到或无法加载主类问题
- 面试题之优惠券超发怎么测试?
- 一个简单的软件需求规划书模版
- [AAuto]液晶显示器坏点检测
- 华为Eudemon 100E的密码恢复
- 洞见科技携手阿里云,以“隐私计算+云”推动场景应用大规模落地
- 编译原理语法分析之LR分析
- 区块链用哪种语言 Java_区块链开发用什么语言呢?区块链与编程语言的关系详解...
- golang:结构体内嵌结构体