项目技术总结
最近做了一个比较小的java web网站,这里简单介绍一下项目里用到的一些技术。
1.jquery.js -- 官网 http://jquery.com/
开发前端必然用到JS,要想高效率运用JS,怎么少得了Jquery?
下面来简单比较一下原生JS和JQuery的语法,相信你能体会到Jquery的强大之处:
1).获得到某个具有ID的元素对象--jquery强大的选择器 JS: var obj = document.getElemnetById("ID"); Jquery: var obj = $("#ID");
2).页面加载后执行某个函数
JS: window.onload=function(){...} ;
Jquery: $(function(){...});
Jquery可以给项目开发带来巨大的便捷,所以掌握Jquery也是一件非常有必要的技能。
2.WdatePicker.js -- 官网: http://www.my97.net/dp/demo/index.htm
项目中经常会用到让用户输入时间的地方,这里建议使用时间空间去让用户去选时间,及其不建议让用户自己去填,所以这儿有一款拾取时间的控件,下面贴了效果图:
在下面这些正方形的小框框里面,可以选择月份、年份、和日期、甚至还能选择几点几点,可以限制用户选择某个日期之前的不能选择至后的... 功能很全面,可谓相当 强大,也是一个必不可少的利器,而且,官方还公布了源代码,大家可以去官网了解更详细的信息。
当然,也存在很多其他优秀的时间控件,待大家去探索。
3. Apache POI(重磅级登场) -- 官网:https://poi.apache.org/
前面两个说的都是前端的一个工具,而这个POI适用于服务器端的,这位来头不小,是Apache的开源项目之一,可以非常灵活的读取excel文档的内容,甚至可以
用java代码生成特定的excel文件、可以处理word、PPT、Visio... 下面简单演示下生成excel文件的核心代码:
//创建一个WorkBook对象 Workbook wb = new HSSFWorkbook(); //在workbook中创建一个新的的sheet Sheet sheet = wb.createSheet("new sheet"); //创建一个新的行 Row row = sheet.createRow((short)2); //一次设置每列的值 row.createCell(0).setCellValue(1.1); row.createCell(1).setCellValue(new Date()); row.createCell(2).setCellValue(Calendar.getInstance()); row.createCell(3).setCellValue("a string"); row.createCell(4).setCellValue(true); row.createCell(5).setCellType(Cell.CELL_TYPE_ERROR); // 将workBook的信息写入到文件中 FileOutputStream fileOut = new FileOutputStream("workbook.xls"); wb.write(fileOut); fileOut.close();
这也是官方的一个小实例,更多详细的用法,可以去官网看详细文档,也可以在网上找些教程,教程也不少。
4.DataTables.js -- 官网:https://www.datatables.net/
项目中要有列表显示的话,就肯定有分页,分页大家一听一想也就是后端的事情,前端只负责请求一下第几页,后端在处理,但是碰到一个数据量不大,而且前端要求有比 较灵活,可以考虑一下DataTables这个工具。
Datatable可以帮助你在前段对数据进行分页,举个例子说:就是说用JS控制页面内的100元素显示成一页10个,并且自动给你安排样式、生成页码、自带搜索、
排序功能,而你做的,只需要往table表格里塞满数据就可以了。下面贴有效果图:
你可能用了之后,疯狂的爱上它,但是切记,这个只适用于小数据、前端要求灵活情况,对于数据量很大的记录列表,这个就不是很适用了。
5.Apache Commons组件 -- 官网:http://commons.apache.org/
对于后台开发,有很多高频率的操作,Apache开发的Commons可以为我们的开发带来很大的方便,这个项目组件有很多,常用的有Lang、Logging、Math...
例如:判断一个String是不是null和"",用java和Coomons的Lang下的StringUtils写法的比较:
1 if(str == null || str.length == 0){...} /* java */
2 if(StringUtils.isEmpty(str)){...} /* StringUtils */
又比如javaIO保存文件,java 和 IOUtils 分别这么写。
1 /* java */ 2 InputStream in = new URL( "http://commons.apache.org" ).openStream(); 3 try { 4 InputStreamReader inR = new InputStreamReader( in ); 5 BufferedReader buf = new BufferedReader( inR ); 6 String line; 7 while ( ( line = buf.readLine() ) != null ) { 8 System.out.println( line ); 9 } 10 } finally { 11 in.close(); 12 }
13 14 /* IOUtils */ 15 InputStream in = new URL( "http://commons.apache.org" ).openStream(); 16 try { 17 System.out.println( IOUtils.toString( in ) ); 18 } finally { 19 IOUtils.closeQuietly(in); 20 }
是不是很方便,这用来做项目是极其方便的,但是作为个人修行,应该尽量避免过分依赖这些第三方的工具。
技术就先介绍到这里,以上的技术,我都是一带而过,我只是在这里给大家介绍有哪些技术可以给项目带来方便或者解决方案,具体的操作使用,在互联网上有无数的教程,我也不必一一在写下来。SO,知道了这些,大家快去学习学习吧。感谢观看。
另外:做了几个项目的小小经验,大家可以看看,讨论讨论,这里贴上另一篇博客地址:http://www.cnblogs.com/WreckBear/p/5093864.html