我们到底能走多远系列(22)

我们到底能走多远系列(22)

扯淡:老规矩,先扯淡,老实说,过年就是回家在亲戚面前吹吹牛喝喝酒,再听听别人的牛,然后回来继续苦逼….  

  所以不是你把别人吹倒,就是别人把你吹倒,大家要加油吹哦!

—————————————–

最近很多人纠结自己文章被别人抄袭的事。

我一直想不明白:自己写的博客被人抄袭,虚拟主机,甚至当成别人的原创这种情况对自己有多大的伤害?

我不明白:除了自己虚荣心上的一点挫折,其他损失还有多少呢?除了部分恶意的抄袭行为,的确要反对外。

我觉得:一个分享的行为,被放大,被传播,本来就是一件很nice,很cool的事。

我个人也会转文章,一般文章署名了,我也会会复制过来,没写的我也懒的一个个标记好是从哪里复制来的了,但是有一点是肯定的,香港服务器,虽然是复制粘贴的几秒钟,我是感谢作者的,至少我会倾佩他几秒,我觉得他教给我一些东西,无形的东西,但却可能有价值。

为什么要纠结别人对你文章的复制粘贴呢?

当你把一些思考,总结,经验贴到自己的博客后。一个月后在另一个博客上看到了自己文章,难道这件事反而会让各位生气吗?这在博客园里应该是件快乐的事情吧,想想自己文章被人反复阅读,并被记录下来,成为别人思想的一部分,这是多么有趣的一件事啊!到了这里却被看成是有点罪恶感的事了。

写博客正真的收获的是什么?

1,写的时候自己的思考

2,香港空间,写完后自己对自己文章的阅读重新思考

3,别人看了你的文章的反馈,然后你就可以再进行扩展思考。

整一个过程就是不断的促使自己思考的过程。只要这个过程还能促使你思考,写这篇博客就是有价值的,至少对自己是有的。

所以我个人觉得,还是不要太纠结别人的什么抄袭这种事,别人抄袭你只能代表别人觉得这篇博客有帮到他,觉得你不错,是吧。

主题:

1,下载文件

文件躺在服务器的某个文件夹下,页面点击下载,将文件保存到本地的过程:

action用springmvc实现:

public ModelAndView downloadModelForm(HttpServletRequest request, HttpServletResponse response) throws Exception{response.setContentType(“application/octet-stream”);String fileName = “用户申请表.docx”;String path = request.getSession().getServletContext().getRealPath(BusinessConstants.DOWNLOAD_FILE_PATH + fileName);File file = new File(path);// 清空response response.reset();if (request.getHeader(“User-Agent”).toLowerCase().indexOf(“firefox”) > 0){fileName = new String(fileName.getBytes(“UTF-8”), “ISO8859-1”);//firefox浏览器}else{fileName = URLEncoder.encode(fileName, “UTF-8”);//其他浏览器包括IE浏览器和google浏览器}// 设置response的Header response.addHeader(“Content-Disposition”, “attachment;filename=”+ fileName);response.addHeader(“Content-Length”, “”+file.length());try{//以流的形式下载文件 InputStream fis = new BufferedInputStream(new FileInputStream(path));byte[] buffer = new byte[fis.available()];fis.read(buffer);fis.close();OutputStream toClient = new BufferedOutputStream(response.getOutputStream());toClient.write(buffer);toClient.flush();toClient.close();}catch(Exception e){e.printStackTrace();}return null;}

特别要注意的是代码是哦那个对fileName 编码逻辑,根据不同浏览器来实现不同的编码,这样做是为了在输出文件名时可以使用中文名。

测试对firefox,ie8,谷歌通过,可用。如果不做操作,结果是文件名使用中文的话会出现乱码问题。(可能这只是一种解决方案,如果你有更好的解决方式,请告诉我哦)

2,导出excle文件:

导出的是账单表的内容,数据需要先去数据库中取的,组装成excel。

这里使用最新的pio3.9(开源项目),来完成excel的导出:

service层的方法:组装出一个完整内容的HSSFWorkbook

public HSSFWorkbook export(List<Sale> list) {HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet(BusinessConstants.EXCEL_SHEET_NAME);HSSFRow row = sheet.createRow((int) 0);HSSFCellStyle style = wb.createCellStyle();style.setAlignment(HSSFCellStyle.ALIGN_CENTER);String[] excelHeader = BusinessConstants.EXCEL_HEADER;for (int i = 0; i < excelHeader.length; i++) {HSSFCell cell = row.createCell(i);cell.setCellValue(excelHeader[i]);cell.setCellStyle(style);sheet.autoSizeColumn(i);}SimpleDateFormat sdf = new SimpleDateFormat(BusinessConstants.DATE_FORMAT);for (int i = 0; i < list.size(); i++) {row = sheet.createRow(i + 1);Sale sale = list.get(i);row.createCell(0).setCellValue(sdf.format(sale.getTime()));(sale.getStrType() == null){row.createCell(1).setCellValue(BusinessConstants.STRIKE);}else{row.createCell(1).setCellValue(sale.getStrType());}if(sale.getStrPayType() == null){row.createCell(2).setCellValue(BusinessConstants.STRIKE);}else{row.createCell(2).setCellValue(“”+sale.getStrPayType());}if(sale.getAmount() == null){row.createCell(3).setCellValue(BusinessConstants.STRIKE);}else{row.createCell(3).setCellValue(sale.getAmount());}if(sale.getProductNum() == null){row.createCell(4).setCellValue(BusinessConstants.STRIKE);}else{row.createCell(4).setCellValue(sale.getProductNum());}if(sale.getProductValid() == null){row.createCell(5).setCellValue(BusinessConstants.STRIKE);}else{row.createCell(5).setCellValue(sale.getProductValid());}if(sale.getProductName() == null){row.createCell(6).setCellValue(BusinessConstants.STRIKE);}else{row.createCell(6).setCellValue(sale.getProductName());}}return wb;}

action层的代码:

一个人的期望值越大,心理承受力就会越小,就越经受不住失败的打击,

我们到底能走多远系列(22)

相关文章:

你感兴趣的文章:

标签云: