Amazon Ads

2013年12月12日 星期四

【分享】Spring與Struts2的Web應用程式

拜歐日前在複習Spring加上Struts2的Web應用程式時,有鑑於每次都要拉一堆jar檔,然後再一個個試,才讓程式可以執行過的過程非常繁雜,於是整理了一包可以跑的Web應用程式,可以在這裡下載

下載完成後,只要解壓縮,再用Eclipse匯入後,就可以執行。

要匯入的jar檔如下,當初是先放一些基本的jar檔,然後啟動,若有報錯,再依報錯的訊息去找出缺的jar檔。


從上圖可以看出,使用的Spring版本為3.0.5,而Struts2版本為2.3.4.1,因為Struts2前陣子陸續有些安全性議題產生,建議自行再拉最新的jar回來替換。

2013年12月11日 星期三

【分享】如何在Eclipse中顯示「.」開頭等隱藏檔案,以Kepler Release Version為例

在Eclipse的Package Explorer或是Project Explorer中,有時我們想要檢視「.」開頭的檔案,如「.classpath」或「.htaccess」等,可是在Eclipse預設的檢視設定中,這些檔案是隱藏的,就需要手動做調整。

開啟Eclipse後,在左邊的Explorer的視景中,會有一個小小的倒三角形圖示:


點按這個圖示後,會出現選單,再選擇【Customize View...】開啟設定視窗:


在設定視窗中,選到Filters頁籤,把「.* resources」這個選項的勾勾取消掉後,按【OK】完成設定:


回來再看Explorer視景中的檔案清單,有「.」開頭的檔案已經顯示出來:


【筆記】使用GIMP做圖像去背

GIMP這套不用錢,而且有完整文件的圖像處理軟體,愈用愈覺得不好好學它,那就可惜了。

今天練習用他來幫圖像去背。

若是要去除單一顏色的背景,可以先參考【筆記】使用GIMP去背(去除單一顏色背景)

先開啟要去背的圖片後,這裡使用工具箱中的自由選取工具來選取要留下來的前景圖像,可以在工具箱中點按圖示來開啟:


或是點按選單列的【工具】→【選取工具】→【自由選取】來開啟選取工具。


選取好了之後,被選取的前景圖像應該會有虛線圍著,如:


再來就是要把選取的地方換成背景,點選【選取】→【反轉】,來選取背景:


再來要把背景變成透明,點選【圖層】→【透明度】→【加入透明色板】:


接著就是把背景清除,點選【編輯】→【清除】來清除背景圖像:


完成之後,應該看到除了要保留的前景圖像之外,其他的部份應該都變成透明:


最後就是要把處理好的圖像匯出,點選【檔案】→【匯出】開啟匯出圖片的視窗:


這裡要注意的是,因為要匯出的圖像背景是透明的,所以匯出的圖像格式必須選擇有支援透明的格式,這裡選擇的是PNG,輸入要匯出的名稱後,點按【匯出】,此時會再出現一個小視窗給我們做些設定,這裡把「Save background color」的勾選取消:


再點按【匯出】鈕,就大功告成了。


2013年12月10日 星期二

【筆記】GIMP (v2.8.8)更改介面語系

像GIMP這種功能強大的軟體,有時看英文介面可能有些選項比較難去暸解中文意義,這時可以將介面切換成自己比較習慣的語言,像我們習慣的繁體中文。

點按【Edit】→【Preference】開啟徧好設定視窗。


在左側選單中,點按【Integerface】,此時右邊會現在Language的設定。



在「Language」的下拉選單中,找到Chineses[zh_TW]後點按【OK】儲存設定後,重新開啟GIMP。

重新開後,可以看到介面已經變成我們熟悉的繁體中文介面了。


2013年12月6日 星期五

【筆記】在PHP中做日期時間的處理

在PHP中要處理日期,第一個想到的就是使用DateTime這個類別,它的建構子接受兩個參數,第一是表示時間的字串,如:「NOW」、「2013-01-01」等,第二個是表示時區的DateTimeZone類別,這兩個參數都是可以忽略的。

比如,你要取得現在時間,就可以直接這樣寫:
$today = new DateTime();
echo $today->format('Y-m-d H:i:s'); 
//執行結果為:2013-12-05 16:34:47
上列的執行的結果可以會和電腦顯示的時間不一樣,這是因為PHP時區設定的關係,可以去更改PHP的設定,或是在DateTime建構方法傳入DateTimeZone參數,並設定我們需要的時間字串:
//設定時間區為台北
$today = new DateTime('NOW', new DateTimeZone('Asia/Taipei'));
echo $today->format('Y-m-d H:i:s');
//執行結果為:2013-12-06 00:34:47

若是你要取得某一個自訂日期時間,就可以直接這樣寫:
$someDay = new DateTime('2010-08-08');
echo $someDay->format('Y-m-d');
//執行結果為:2010-08-08
上列的DateTime所擁有的format,是用來做日期格式化的方法,其格式字串,「Y」表示是要格式化成4位數的西元年,「m」為「01到12」的月份,「d」為「01到31」的那一天,「H」表顯示為24小時制的時,而「i」表顯示為「00到59」的分鐘部份,「s」表「00到59」的格式來顯示秒數,詳細的格式化字串格式可以參考date方法的說明。

再來,要做日期的加減,要使用到DateTime類別的add方法,再搭配DateInterval類別來實現,比如想取得三個月後的日期:
$today = new DateTime('NOW', new DateTimeZone('Asia/Taipei'));
$today->add(new DateInterval('P3M'));
echo $today->format('Y-m-d');
//執行結果為:2014-03-06
若要取得三個月前的日期,就使用DateTime類別的sub方法
$today = new DateTime('NOW', new DateTimeZone('Asia/Taipei'));
$today->sub(new DateInterval('P3M'));
echo $today->format('Y-m-d');
//執行結果:2013-09-06
在上列的DateInterval類別建構子字串參數,若要加減1年就傳「P1Y」,要加減1個月就傳「P1M」,要加減1天就傳「P1D」,要加減1年2個月又3天就傳「P1Y2M3D」,依此類推。

2013年12月4日 星期三

【筆記】使用GIMP做圖片地圖超連結 (image map)

拜歐很早之前就曉得在網頁中可以用圖像來做圖像地圖 (image map),但真正有機會實作,最近真是生平第一次,而之前知道的工具有Dreamwaver,但這工具是需要版權的,所以就google找了一下,也可以使用GIMP (GNU Image Manipulation Program) 來做。

GIMP是一套免費的,但功能強大的圖像處理軟體,先到官網下載最新版本回來安裝,拜歐這裡是使用免安裝版本,版本是2.8.8。

安裝完成後,就直接點按【File】→【Open】開啟要製作地圖的圖像。


再來點按【Filters】→【Web】→【Image Map】開啟製作圖像地圖的視窗。開啟的選單路徑可能依版本不同,在不同的地方。


 視窗開啟後,可以看到在視窗的左邊,有三個常見於製作影像地圖軟體的圖示:


在這個範例中,拜歐使用最上方的「矩形」圖示,把ASK這個logo給標示出來,當開始標示時,滑鼠會變成如下列紅框中的十字圖示,表示框出矩形區域的起點:


當框好需要的區域後,再點按滑鼠左鍵一下,就會完成矩形區域的選取,在原梧的視窗會顯示出所選取的區域範圍:


此時也會同時跑出圖像地圖的設定對話窗:


上列中,「URL to activate when this area is clicked: (required)」是一個必填欄位,也就是當點按到這一個區域時,所要前往的網址,或者可以填入「#」,之後再使用JavaScript來動態設定。這裡拜歐填入ask.com的網址。

另外在「ALT Text」中,可以填入當使用者將滑鼠移到這塊區域時,所要顯示的提示。按下「OK」,即可完成第一設定。這時回到圖像地圖的視窗時,會發現右邊出現了剛才的第一個設定,這時可以點按中間的「紙筆」圖示來做編輯,或點按「垃圾桶」圖示來刪除圖像區域的設定:


做到這裡,其實已經很接近拜歐想要的東西: 包在map標籤中的area標籤coords屬性的值,在Image Map的視窗中,點按【View】→【Source...】,就會跑出一個 View Source 的小視窗,其中就是上列所述的 html 字段。


其中html字段如下:







ASK com


在上列的 html 中,area標籤的shape屬性就是表示剛才選取區域時,使用矩形的結果,若是使用圓形去選取,就會是circle,若使用多邊形去選取區域,值就是poly,而coords的四個數字,就是代表這個矩形的左上角的x、y座標與右下角的x、y座標。

使用圓形的步驟和矩形相同,若使用多邊形時,要注意的是,點滑鼠左鍵一下,就會連成一個邊,若要回覆,就點按滑鼠右鍵,若要完成選取,就點滑鼠左鍵兩下

參考來源: