`

手机端利用html下载程序的实现

 
阅读更多
web.xml
<servlet>
	<servlet-name>DownLoadServlet</servlet-name>
		<servlet-class>com.file.DownLoadServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>DownLoadServlet</servlet-name>
		<url-pattern>/DownLoadServlet</url-pattern>
	</servlet-mapping>


servlet:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLEncoder;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

public class DownLoadServlet extends HttpServlet {
	Logger logger = Logger.getLogger(DownLoadServlet.class);
	public DownLoadServlet() {
		super();
	}

	public void destroy() {
		super.destroy();
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		logger.info("下载开始");
		String root = getServletContext().getRealPath("/");
		String path = "download/";
		String name = java.net.URLEncoder.encode("物联健身私教 1.0.apk", "UTF-8");
		name = name.replaceAll("\\+", "%20");
		name = new String(name.getBytes("iso8859-1"), "gb2312");
		response.setContentType("application/x-msdownload");
		response.setHeader("Content-disposition", "attachment; filename="
				+ name);


		// 处理请求
		// 读取要下载的文件
		File f = new File(root + path + name);
		if (f.exists()) {
			FileInputStream fis = new FileInputStream(f);
			String filename = URLEncoder.encode(f.getName(), "utf-8"); // 解决中文文件名下载后乱码的问题
			byte[] b = new byte[fis.available()];
			fis.read(b);
			response.setCharacterEncoding("utf-8");
			response.setHeader("Content-Disposition", "attachment; filename="
					+ filename + "");
			// 获取响应报文输出流对象
			ServletOutputStream out = response.getOutputStream();
			// 输出
			out.write(b);
			out.flush();
			out.close();
		}

	}
	/**
	 * Initialization of the servlet. <br>
	 * 
	 * @throws ServletException
	 *             if an error occurs
	 */
	public void init() throws ServletException {

	}

}



分享到:
评论

相关推荐

    ASP.NET+H5+Zxing+js+sweetalert2 实现手机端和PC端调用摄像头进行二维码扫一扫

    本程序使用VS2019进行制作,利用ASP.NET+H5+Zxing+js+sweetalert2 实现手机端和PC端调用摄像头进行二维码扫一扫,实现前端采集数据,后端进行分析并向前端传值,pc端可运行,手机端鸿蒙系统,安卓,IOS4.X以上均可...

    h5+实现手机端的录音,拍照,录像App

    该demo使用h5+的功能基于android手机实现了录音,拍照,录像并进行上传下载,播放的功能,采用h5开发移动app,理论是支持android和ios的开发,开发工具采用hbuilder,利用hbuilder打包app在android机上运行,目前只...

    微信小程序实现通过js操作wxml的wxss属性示例

    在web端、手机端、webApp中可以通过js获取dom的方式设置dom属性。 微信小程序中,不能通过这种方式进行操作。 如何在微信小程序中在wxml中操作wxss的属性。 实现思路: 通过利用数据绑定实现动态改变样式, 1、在...

    html5编写的手机程序

    用于手机的编程,ios和android都可以利用

    基于Springboot + Vue 开发的前后端分离博客(PC端自适应+移动端微信小程序+移动端App)+源代码+文档说明

    - 新增本博客配套的**微信小程序**,可随时用手机浏览文章。并且接入微信登录,减少注册成本。 - **微信小程序**新增每日新闻热搜功能、可随时查看热搜。 - 新增本博客配套的**App**,同时接入qq、微博登录,使用...

    基于微信小程序的计算机网络课程教学平台设计与实现.zip

    本次设计手机端小程序客户端开发软件选择为微信Web开发工具,服务端以Eclipse为开发工具,mysql为数据库软件,采用基于Web的JSP技术和B/S结构。利用JSP,HTML进行网站总体风格、界面的设计与开发,利用SSM框架进行...

    HTML5+Canvas手机微信大转盘抽奖代码

    这是一款利用HTML5+Canvas手机端微信端微网站大转盘抽奖代码,HTML5+Canvas进行绘制中间内容区域,模仿现实抽奖效果,自适应浏览器宽度。

    基于Three.js和MindAR实现的网页端WebAR人脸识别追踪功能的京剧换脸Demo源码(可独立部署)

    基于MindAR实现的网页端WebAR图片识别叠加动作模型追踪功能,其中包含了大致的配置步骤和图片识别的功能。本文就以仓库中的面网案例的基础上进行了修改,将部分托管在cdn服务器的脚本库进行了本地化关联(解决加载太...

    java源码包---java 源码 大量 实例

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包4

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    《Delphi7编程100例》代码

    ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态...Html页面的转换在DBGrid中实现任意方向查找在DBGrid中通过动态下拉列表查找记录用DBGrid组件制作下拉列表形式的提示框利用书签处理DBGrid中的...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...

    Delphi编程100例

    实现指定扩展名文件和相应程序的关联 获取汉字拼音的首字母 监视剪贴板 在IE工具栏上增加一个按钮图标 软件注册机制的建立 复活节彩蛋的制作 SkinEngine控件——XP换肤 ActionList——应用程序通用功能列表 ...

    TOWCMS乐酷三合一建站程序 v7.3.zip

    2.[增加]小程序商城正式发布,可以实现四合一商城(电脑端 手机端 微信 小程序端) 3.[增加]系统提供更丰富的API接口,全面支持小程序二次开发, 4.[增加]增加省/市/区县/乡镇4级区域管理,添加信息时,可以选择...

    Delphi7编程100例

    实现指定扩展名文件和相应程序的关联 获取汉字拼音的首字母 监视剪贴板 在IE工具栏上增加一个按钮图标 软件注册机制的建立 复活节彩蛋的制作 SkinEngine控件——XP换肤 ActionList——应用程序通用...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (4)针对系统的功能实现问题,通过结合利用原生态框架与HTML5的跨平台性,实现了“认我测”在线认证检测系统。 综上所述,“认我测”在线认证检测系统,率先填补了认证检测领域移动端的空缺,提供了Web浏览器+...

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包2

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java源码包3

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 简单 EJB的真实世界模型(源代码) 15个目标文件 摘要:Java源码,初学实例,基于EJB的真实...

Global site tag (gtag.js) - Google Analytics