{{{ #!html
JSP & Servlet on Eclipse
eclipse 3.5 + WTP 專案
}}} [[PageOutline]] 本篇主要是依照這篇 Servlet & JSP / Eclipse WTP 來學習如何用 Eclipse 開發 jsp & servlet 原文:http://www.vogella.de/articles/EclipseWTP/article.html 此文章圖文並茂,寫得也很清楚,是個入門的好文章。 這邊是做個學習筆記,在容易忽略或是想到癥結點下一些註解,以便日後複習之用。 = 各節註解 = == 1. Eclipse Web Tool Platform == Eclipse 有 all in one 的封裝,但這邊是用基本封裝,之後再額外 install ,雖然比較慢,但是因為Eclilpse plugin 有套件版本相依問題,如果預設裝了這個,但是卻是較舊或較新版本,有可能導致之後要安裝的套件衝突於之前安裝過套件的版本,因此還是建議初期套件越少越好,要用到再Install == 3. Installation of WTP 部份 == 注意 WTP 要額外安裝網址 http://download.eclipse.org/webtools/updates/ , 除了選擇wtp 相關套件外 ,還要選擇 web,xml 那類的其他套件,文中提到不要安裝PHP Develop ,也許有差,如我有兩台電腦, A: all-in-one + pdt +wtp , B: pure + wtp without php ,而A電腦在 4. WTP Configuration 步驟 要裝tomcat server 就出現問題,但 B 正常 == 4.1. Server == 只有講到把 view 開出來,但是要從這個window 掌控本機的tomcat ,要從這個window 把 server 建立起來,如果 4. ... 的步驟有做的話,這邊就只要引入就可以了,若沒有也可從這邊的連結建立 * 第四步驟做完,則可以透過 Eclipse 的 Servers 這個 window ,對 tomcat 進行管控 == 5.1 Servlets == 雖然 new project 起來,web項目只有 靜態 與 動態 網頁專案可以建立,但要建立檔案,web 內則有許多檔案類型可以建立。 開發 java 網頁的視野是用 ''' Java EE ''' 這個 Perspective 作者的project name 為 de.vogella.wtp.filecounter ,我簡化project 名稱為 jsp == 5.2 Creating Data Access Object == de.vogella.wtp.filecounter.dao 改為 jsp {{{ #!txt file -> new -> other ==> java .( package ) -> next ==> Name: dao }}} 之後在 Java Resources:src 內就出現剛剛建立的package : dao 接著在dao 圖示點選右鍵 -> new -> class ==> 步驟省略, 將 FileDao.java 建好後,填入作者給的code , 5.2 完成 == 5.3. Creating the Servlet == 雖然在 WebContent 的目錄點右鍵新增 FielCounter 檔,但程式還是會產生在 Java Resources 資料夾內 而透過servlet 的 wizard ,Eclipse 幫我們產生出來的 java檔會有 doGet, doPost, 建構值, 以及 serialVersionUID == 5.4. Run == run 的時候 選 run on server ,並選擇我們之前build 好的server 即可,可以run 的話,在原始碼旁邊會跳出執行的網頁 挑選server 時,可以選 always use the server 有將印出的字改成中文,會有亂碼問題,即使 server.xml 已經正確配置成 utf-8 以前看到的servlet code 再用 out.print 時,需要 ...等html的標籤印出,但這邊的code 不用 == 6. JavaServer Pages (JSPs) == 可以不用另外新增一個project ,沿用之前的project 也可以,作者是希望能有所區分,並對 第七節 撲梗 == 6.2. Create the JSP == 範例程式 FirstJSP 程式的內 ("dd/mm/yyyy") 改成 ("dd/MM/yyyy") 才會顯示正確的 日/月/年 請務必對 "WebContent" 這個資料夾操作右鍵->new -> jsp ,否則會得到以下結果 {{{ #!text 原作者要我們新增一個專案來測試,但我在上個專案下,又建立一個 jsp package ,然後把 test.jsp 放在這個 package 內, 無法讀取的到只好用作者的方法繼續測試,結果http://localhost:8080/de.vogella.wtp.jspsimple/FirstJSP.jsp 頁面還是無法出現 }}} == 6.4. Adjust web.xml == 近一步看到 WebContent 資料夾裡面,除了有我們放得jsp之外,還有兩個資料夾,其中 WEB-INF 裡面的 web.xml 記載著:[[br]] servlet 的名稱、以及其對應,還有 jsp 的 welcome page,有寫則網址可以省略該檔名 如:原本要網址 http://dx7200:8080/jsp2/FirstJSP.jsp ,有改過 web.xml 則 http://dx7200:8080/jsp2/ 即可 == 7. JSP's and Servlets == 透過此節範例,雖然網頁呈現ok,不過新增、刪除功能怎麼試都似乎總是那兩串資料,其實ShowAll.jsp 秀出那兩串資料也是寫死得印出,當然怎麼新增刪除都無用了 == 8. Web Archive - How to create a war file from Eclipse == File -> Export 即可完成匯出一個 war 檔 = 重點 = * 用純 eclipse 3.5 ,update install wtp(需加入更新網址),還要記得勾選"在原本galielo 源碼內 web 項目中的專案" 來安裝 * 開發 java 網頁的視野是用 ''' Java EE ''' 這個 Perspective * 透過精靈建 project,web項目只有 靜態 與 動態 網頁專案,但要建立檔案,web 項目內則有許多檔案類型可以建立 * 對所寫得code 執行 run on server ,就可以將程式碼在 eclipse 模擬出來的 tomcat 上執行(但這個tomcat 卻不同於原本系統的 tomcat) * 在專案下,新增檔案需做正確的對應 * 新增 jsp 網頁檔 == 對 WebContent 點 右鍵-> new * 新增 java 檔 == 對 JavaResources 點 右鍵-> new * 新增 servlet 則兩者皆可 * WebContent 裡面的web.xml 是連接網頁與java的設定樞紐檔,對應到 tomcat 的 webapps/ROOT/WEB-INF 內 = 其他參考 = * [http://download.eclipse.org/webtools/updates/ Eclipse update install 安裝網址] * [http://wiki.eclipse.org/WTP_FAQ 官方教學FAQ 落落長] * [http://www.itzcn.com/video-vid-77-spid-10.html jsp 開發錄影教學 (中)]