目前分類:Java (46)

瀏覽方式: 標題列表 簡短摘要

 

下面是Java EE網路應用程式的架構圖(Java EE architecture diagram)

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

從開始學習Java開始,在Tomcat中常看到Catalina這個詞,名字感覺很夢幻,很好奇當初為何這樣命名。

Catalina這名稱的由來很簡單,因為開發者Craig McClanahan喜歡Catalina這個位在加州南方外海的小島。

 

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

TWJUG(Taiwan Java User Group)看到有位技術高手分享關於執行緒的貼文,讀起來不會艱澀難懂,在這分享給大家。

Java多執行緒的基本知識 

 

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

若您對session還不熟悉的話,建議您先閱讀 Servlet Session 和 Request的差別 這篇文章

 

當客戶端發送請求給伺服器時,伺服器中的Container收到客戶端送來的請求後,會為該客戶端建立一個sesson物件。

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

Eclipse沒有清除Console訊息的快速鍵(shortcut key)...。

類似的方法只有在選擇Console視圖(View)的情況下,按Shift + F10然後按r,

效果同在Console視圖按滑鼠右鍵後然後點Clear。

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

 

HttpSession(在這簡稱session)可以針對特定客戶端(client)保存跨多個請求(request)的狀態,

可以用來儲存客戶端每一次請求時所產生的參數,API中的說明就蠻清楚了

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

在Java Servlet中,當使用Cookie來存放中文(格式為UTF-8)時,會出現以下錯誤

---

java.lang.IllegalArgumentException: Control character in cookie value or attribute.

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

在Java Servlet中使用PrintWriter將中文字串寫出時,常會碰到寫出的內容變成亂碼,這是因為在用PrintWriter寫出之前沒有設定回應物件的編碼(encoding)。

要解決這個問題只要在寫出物件之前,先執行以下

response.setContentType("text/html; charset=utf-8");

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

在web.xml設定Servlet時,在<servlet>標籤下有個<load-on-startup>標籤,其作用為在Web容器啟動時,會預先載入Servlet的實例。

通常Web container收到request後才會將對應的Servlet載入並初始化(所以通常第一個request的回應時間會比較久,因為Servlet此時才開始初始化),

但若在web.xml設定Servlet時加上了<load-on-servlet>的標籤,則此Servlet會在Web容器啟動時即載入。

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

Container(Web容器)負責管理Servlet的生命週期(servlet lifecycle),當一個request被映射(mapping)至Servlet時,若該Servlet的實例不存在,Container會進行以下動作

1. 載入Servlet類別
2. 建立Servlet的實例

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

在Java中若要比較兩個日期先後,但不考慮時間部分如時,分,秒,毫秒,可使用Apache Commons Lang的DateUtils的isSameDay()方法...

DateUtils.isSameDay(date1, date2);

...

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

Web容器(web container)在初始時,會先讀取DD文件(即web.xml),然後為每一個Servlet建立一個ServletConfig的實例,接著根據DD文件的設定建立一些name/value參數,然後Web容器將參數交給ServletConfig物件,最後在產生Servlet的實例時會呼叫Servlet的init()方法,將ServletConfig物件傳給Servlet。

因此在Servlet中,我們可以利用ServletConfig介面提供的方法如getInitParameter(String name) 方法取得Servlet的初始參數。

 

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近自己在寫個小小的Web專案,不打算使用任何框架,單純的使用Servlet + JDBC,

但在用JDBC建立連線的時候發現都會出現以下錯誤,

No suitable driver found for jdbc:....

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

下面為減少Garbage Collection Overhead的一些技巧

 

1.建立集合物件(Collection)時盡可能預估大小

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

這篇企圖以Java來說明什麼是物件導向程式。

我記得第一次看到物件導向是在一本VBA教學的書中看到的,那時候會買這本書是想精進Excel的能力,因為聽說巨集很厲害,似乎跟VBA有關,就跑到書店買了本VBA教學的書,不過這本書最後也沒看完,只記得看到物件導向介紹那裡就放棄了,因為不知道在講啥。

而我是在資策會課程結束前一個月,在製作專題時才逐漸了解什麼是物件導向程式,什麼是類別,什麼是物件等觀念。

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(3) 人氣()

ibatis常犯的錯誤記錄

注意範例中所使用的資料庫為Oracle 11g,錯誤訊息會依資料庫不同而有所差異。

 

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

BeanPostProcessor介面,(Bean的預處理器),可以讓你在bean完成實例化(instantiating)及組態設定(configuring)後,在初始化(initialization)的前後加入額外的邏輯設定(例如對bean的實例進行驗證修改bean的性質等等)。

你可以配置多個BeanPostProcessor的實作,須實作Ordered介面並實作getOrder()方法來決定執行的順序。

ApplicationContext會自動偵測Spring組態檔,只要bean的類別有實作BeanPostProcessor介面,就會被註冊為post-processor,之後容器內若有bean實例被建立,IoC容器就會去呼叫這些BeanPostProcessor的bean。

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

若Eclipse從官網下載回來無法開啟,可能原因包括

*Eclipse位元版本和作業系統不同,例如電腦的作業系統是32位元(x86),但Eclipse裝到64位元的版本

*忘了安裝JDK(通常很少發生)

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

之前都是在一般的Java專案中進行,而本篇要介紹在Web專案中使用log4j的簡單範例。

若是這篇看不懂,建議先看過這篇還有這篇

log4j的版本為1.2.17

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(1) 人氣()

本範例的log4j為1.2.17,若看不太懂要先去看之前的範例。

順序為環境設定log的檔案輸出log4j.xmlRollingFileAppender

 

文章標籤

phoebelin0606 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 23
找更多相關文章與討論