最近做了一個比較小的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