下载过程

将已销售商品的信息,按照商品销量从高到低排序后,通过响应输出流送到浏览器,再保存到本地磁盘的扩展名为“.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"> &nbsp;</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">     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;                                                 <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);
}                                                                         

实现销售榜单下载功能相关推荐

  1. 【JAVA EE#6】【传智书城·源码阅读】后台管理模块:权限控制+页面分析+商品管理+销售榜单+订单管理+公告管理+项目结构思维导图

    权限控制 普通用户只能访问client文件夹下面的jsp文件,对于没有权限操作的admin文件夹就会提示错误,而超级用户同时可以访问两者,一直很好奇这个权限限制怎么实现的. 原来在存在一个AdminP ...

  2. 2011年终盘点——附图灵公司销售榜单(TOP20)

    每年的12月20日是人民邮电出版社的结帐日,又到一年盘点时. 图灵公司成立六年多,每时每刻都在不计成本地抓图书质量,强调过程管理和控制更重于结果的理念.从成立QA(质量管理)部.以质量系数考核编辑人员 ...

  3. java实况足球2014_最新实况足球中文榜单下载_九游

    [详情] "PES CARD COLLECTION (PESCC) is a free-to-play football game which you collect cards of th ...

  4. ace unlck工具下载_最新ace代号榜单下载_九游

    [详情] ★ WORLD BEST SURFING GAME! ★ Ace Surfer in your pocket! Conquer the wave by beating every compe ...

  5. 星尘物语 机器人_最新星露谷物语红石英榜单下载_九游

    [详情] Discover the most popular dragon collecting game in the world! Can you hatch them all Your drag ...

  6. cocos掼蛋源码_最新掼蛋榜单下载_九游

    [详情] 这是一款点击惊喜娱乐游戏. 每种适合所有年龄层的大家游玩的休闲游戏,都有独特的惊喜图片哦! 享受着气泡游戏吧!我相信小孩看到泡泡都会想戳破,只要不停地戳,戳它100万下,就可以获得惊喜唷! ...

  7. 洛克人4java7723_最新7723游戏版榜单下载_九游

    [详情] Building & crafting and Exploration for age girls! Crafting game for age girls and boys. Gi ...

  8. java实况足球2014_最新实况足球2018和实况足球2019榜单下载_九游

    [详情] "PES CARD COLLECTION (PESCC) is a free-to-play football game which you collect cards of th ...

  9. 视频搬运助手:srt字幕配音/剪映、必剪字幕提取翻译/视频降重/爆文标题/热点榜单

    当前版本:v2.7.5 界面 使用方法(有问题请先看视频教程) 视频教程:https://www.bilibili.com/video/BV1hT411P7gV/ 文字教程: 1.srt字幕配音 接口 ...

最新文章

  1. 助力健康中国,国内首个中文医疗信息处理挑战榜正式发布
  2. 在使用添加按钮给table插入新的一行时遇见的问题总结及处理方法
  3. 项目管理生命周期各个阶段的文档
  4. linux mysql软件_「Linux」 - 常用软件安装-MySql
  5. spring boot模板引擎thymleaf用法详解
  6. jackson 读取多文件_Spring Boot系列之读取配置
  7. 2020年中国视频内容电商行业白皮书
  8. Spring Boot与JWT整合实现前后端分离的用户认证
  9. 好用的linux连接工具
  10. Java实现地固坐标与经纬度转换
  11. OSI网络七层协议与TCPIP协议
  12. 非法吸收公众存款罪的6大无罪辩点(根据无罪判例提炼)
  13. 斐讯路由器宽带运营商服务器,斐讯K2路由器的连接及上网设置教程
  14. DSP 2812 的经典资料
  15. 并查集应用-判断亲戚关系
  16. 雷鸣的游戏人生(七) --- 如何谈一场失败的恋爱?
  17. ps命令 查看系统进程信息
  18. 什么是Arduino
  19. vue : 无法加载文件 C:\Users\lihongjie\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 htt ps:/go.micr
  20. 硅基光电子芯片:换道超车的核心技术

热门文章

  1. 代码随笔——点阵汉字在LCD上的显示
  2. libjpeg在windows下的编译
  3. Thymeleaf的入门(一)
  4. 【Elasticsearch】es shard split 使用分析
  5. 【SpringClould】Spring Cloud Eureka源码分析
  6. 【guava】GuavaCache缓存失效的时候做一些操作 RemovalListener
  7. 【Redis】redis JedisDataException: ERR Client sent AUTH, but no password is set
  8. 【Kafka】如何判断一个kafka集群是否稳定
  9. 【zookeeper】zookeeper的命令行操作zkCli.sh
  10. leetcode题解189-旋转数组