实现销售榜单下载功能
下载过程
将已销售商品的信息,按照商品销量从高到低排序后,通过响应输出流送到浏览器,再保存到本地磁盘的扩展名为“.csv”的文件中。
创建下载页面
<form id="Form1" name="Form1" action="${pageContext.request.contextPath}/download" method="post"> <table cellSpacing="1" cellPadding="0" width="100%" align="center" bgColor="#f5fafe" border="0"> <tbody> <tr> <td class="ta_01" align="center" bgColor="#afd1f3"> <strong>查 询 条 件</strong> </td> </tr> <tr> <td> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> <td height="22" align="center" bgColor="#f5fafe" class="ta_01"> 请输入年份 </td> <td class="ta_01" bgColor="#ffffff"> <input type="text" name="year" size="15" value="" id="Form1_userName" class="bg" /></td> <td height="22" align="center" bgColor="#f5fafe" class="ta_01"> 请选择月份 </td> <td class="ta_01" bgColor="#ffffff"> <select name="month" id="month"> <option value="0">--选择月份--</option> <option value="1">一月</option> <option value="2">二月</option> <option value="3">三月</option> <option value="4">四月</option> <option value="5">五月</option> <option value="6">六月</option> <option value="7">七月</option> <option value="8">八月</option> <option value="9">九月</option> <option value="10">十月</option> <option value="11">十一月</option> <option value="12">十二月</option> </select> </td> </tr> <tr> <td width="100" height="22" align="center" bgColor="#f5fafe" class="ta_01"> </td> <td class="ta_01" bgColor="#ffffff"> <font face="宋体" color="red"> </font> </td> <td align="right" bgColor="#ffffff" class="ta_01"> <br /><br /> </td> <td align="center" bgColor="#ffffff" class="ta_01"> <input type="submit" id="search" name="search" value="下载" class="button_view"> <input type="reset" name="reset" value="重置" class="button_view" /> </td> </tr> </table> </td> </tr> </tbody> </table>
</form>
创建Servlet
public class DownloadServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String year = request.getParameter("year");String month = request.getParameter("month");ProductService service = new ProductService();List<Object[]> ps = service.download(year,month);String fileName=year+"年"+month+"月销售榜单.csv"; response.setContentType(this.getServletContext().getMimeType(fileName));response.setHeader("Content-Disposition", "attachement;filename="+new String(fileName.getBytes("GBK"),"iso8859-1")); response.setCharacterEncoding("gbk"); PrintWriter out = response.getWriter();out.println("商品名称,销售数量");for (int i = 0; i < ps.size(); i++) {Object[] arr=ps.get(i);out.println(arr[0]+","+arr[1]); }out.flush();out.close();}
}
编写Service层代码
// 下载销售榜单public List<Object[]> download(String year, String month) {List<Object[]> salesList = null;try {salesList = dao.salesList(year, month);} catch (SQLException e) {e.printStackTrace();}return salesList;}
编写DAO层的代码
// 销售榜单
public List<Object[]> salesList(String year, String month) throws SQLException { String sql = "SELECT products.name,SUM(orderitem.buynum) totalsalnum "+ "FROM orders,products,orderItem " + "WHERE orders.id=orderItem.order_id " + "AND products.id=orderItem.product_id " + "AND orders.paystate=1 " + "and year(ordertime)=? " + "and month(ordertime)=? " + "GROUP BY products.name " + "ORDER BY totalsalnum DESC"; QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());return runner.query(sql, new ArrayListHandler(), year, month);
}
实现销售榜单下载功能相关推荐
- 【JAVA EE#6】【传智书城·源码阅读】后台管理模块:权限控制+页面分析+商品管理+销售榜单+订单管理+公告管理+项目结构思维导图
权限控制 普通用户只能访问client文件夹下面的jsp文件,对于没有权限操作的admin文件夹就会提示错误,而超级用户同时可以访问两者,一直很好奇这个权限限制怎么实现的. 原来在存在一个AdminP ...
- 2011年终盘点——附图灵公司销售榜单(TOP20)
每年的12月20日是人民邮电出版社的结帐日,又到一年盘点时. 图灵公司成立六年多,每时每刻都在不计成本地抓图书质量,强调过程管理和控制更重于结果的理念.从成立QA(质量管理)部.以质量系数考核编辑人员 ...
- java实况足球2014_最新实况足球中文榜单下载_九游
[详情] "PES CARD COLLECTION (PESCC) is a free-to-play football game which you collect cards of th ...
- ace unlck工具下载_最新ace代号榜单下载_九游
[详情] ★ WORLD BEST SURFING GAME! ★ Ace Surfer in your pocket! Conquer the wave by beating every compe ...
- 星尘物语 机器人_最新星露谷物语红石英榜单下载_九游
[详情] Discover the most popular dragon collecting game in the world! Can you hatch them all Your drag ...
- cocos掼蛋源码_最新掼蛋榜单下载_九游
[详情] 这是一款点击惊喜娱乐游戏. 每种适合所有年龄层的大家游玩的休闲游戏,都有独特的惊喜图片哦! 享受着气泡游戏吧!我相信小孩看到泡泡都会想戳破,只要不停地戳,戳它100万下,就可以获得惊喜唷! ...
- 洛克人4java7723_最新7723游戏版榜单下载_九游
[详情] Building & crafting and Exploration for age girls! Crafting game for age girls and boys. Gi ...
- java实况足球2014_最新实况足球2018和实况足球2019榜单下载_九游
[详情] "PES CARD COLLECTION (PESCC) is a free-to-play football game which you collect cards of th ...
- 视频搬运助手:srt字幕配音/剪映、必剪字幕提取翻译/视频降重/爆文标题/热点榜单
当前版本:v2.7.5 界面 使用方法(有问题请先看视频教程) 视频教程:https://www.bilibili.com/video/BV1hT411P7gV/ 文字教程: 1.srt字幕配音 接口 ...
最新文章
- 助力健康中国,国内首个中文医疗信息处理挑战榜正式发布
- 在使用添加按钮给table插入新的一行时遇见的问题总结及处理方法
- 项目管理生命周期各个阶段的文档
- linux mysql软件_「Linux」 - 常用软件安装-MySql
- spring boot模板引擎thymleaf用法详解
- jackson 读取多文件_Spring Boot系列之读取配置
- 2020年中国视频内容电商行业白皮书
- Spring Boot与JWT整合实现前后端分离的用户认证
- 好用的linux连接工具
- Java实现地固坐标与经纬度转换
- OSI网络七层协议与TCPIP协议
- 非法吸收公众存款罪的6大无罪辩点(根据无罪判例提炼)
- 斐讯路由器宽带运营商服务器,斐讯K2路由器的连接及上网设置教程
- DSP 2812 的经典资料
- 并查集应用-判断亲戚关系
- 雷鸣的游戏人生(七) --- 如何谈一场失败的恋爱?
- ps命令 查看系统进程信息
- 什么是Arduino
- vue : 无法加载文件 C:\Users\lihongjie\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt ps:/go.micr
- 硅基光电子芯片:换道超车的核心技术
热门文章
- 代码随笔——点阵汉字在LCD上的显示
- libjpeg在windows下的编译
- Thymeleaf的入门(一)
- 【Elasticsearch】es shard split 使用分析
- 【SpringClould】Spring Cloud Eureka源码分析
- 【guava】GuavaCache缓存失效的时候做一些操作 RemovalListener
- 【Redis】redis JedisDataException: ERR Client sent AUTH, but no password is set
- 【Kafka】如何判断一个kafka集群是否稳定
- 【zookeeper】zookeeper的命令行操作zkCli.sh
- leetcode题解189-旋转数组