目前大部分新進同仁都會被派駐在user site,提供資訊服務,如軟體開發、實作等
所以讓新進同仁能快速學習到實務上會遇到的情形是一大重點
因此takeshi寫了個簡單的sample project,期望此sample project能滿足以下目標
- Trace code:在大多數情況,要先看懂前人寫的code,比自己會寫還重要
- MVC Design:現今的資訊系統開發,大多有使用到MVC Pattern,但剛出社會的新鮮人可能還沒碰過
- Requirement Change:在新人看懂sample project之後,takeshi會提出新功能需求,請新人依據此sample project之MVC架構,直接長出新功能並驗收
- 熟悉工具:Eclipse IDE、WTP、Tomcat和Debugger(不是開玩笑的,takeshi還真遇到有不少人不會用debugger...)
- Container的使用:本sample project #1有使用到Tomcat的安全性服務,takeshi在實務上也看到不少實作都是用自己開發的元件來作,但takeshi想提醒的是Java Container的功能遠遠比我們想像的還多...
- 尋序漸進: sample project #1是簡單版本,尚未套用任何framework,主要是讓新人知道,使用JavaEE Web Spec.是如何實作出MVC架構的,之後還有#2(Flex版本,希望未來有空時,再加上其它的版本)
1. 下載 Sample Code
1.1 sample code在這裡,SVN Borwser在這裡
1.2 接著把程式training01.zip解壓縮並匯入到Eclipse中
2. 設定Tomcat
2.1 Tomcat版本6.0.x,在這裡下載
2.2 因為本專案使用到Tomcat安全性服務,所以要另外下載設定檔在這裡
在ZIP檔案中有三個檔案
server.xml 要複製到 ${TOMCAT_HOME}\conf\
h2-1.2.121.jar 要複製到 ${TOMCAT_HOME}\lib\
keystore 要複製到 ${user.home} \
當然你也可以改成你要的路徑,也請一併更改server.xml的94行
<Connector SSLEnabled="true" clientAuth="false"
keystoreFile="${user.home}/keystore" keystorePass="changeit"
maxThreads="200" port="8443"
protocol="org.apache.coyote.http11.Http11Protocol" scheme="https"
secure="true" sslProtocol="TLS"/>
2.3 如何使用SSL登入Tomcat在這裡,如何使用JDBC Realm在這裡2.4 把Tomcat加入至Eclispe的WTP中,待會執行Sample Project時,Eclispe會把project佈署在Tomcat裡執行
3. 資料庫設定
假如是測試或學習的目的,takeshi很喜歡使用H2 DB,它非常輕量(一個JAR檔,h2-1.2.121.jar),且在embedded mode還可支援多個連線(不像Derby或其它DB)
3.1 運行H2 DB,把${sampleProject#1}\trainingWebAp02\docs\db\createData.sql檔案中的SQL Script丟到H2 DB執行
3.2 會長出以下Schema和相關測試資料
4. 終於可以執行專案了!
執行和操作方式粉簡單,如下影片所示
5. 在本專案主要使用到的技術和架構如下
![]() |
- MVC分別由 Biz/Data Integration Tier代表Model和Controller,Presentation代表View
- Presentation只能使用JSP/EL,儘量不在View裡撰寫Java code(Scriptlet),如邏輯相當複雜,可考慮使用javax.servlet.jsp.tagext套件求解(SimpleTagSupport等類別)
- 由Biz/Data Integration Tier來同時處理Request/Response/DAO等工作,之後的Sample會再切分
今天就先寫到這吧,之後takeshi會在把Sample Project #2給放上來~
沒有留言:
張貼留言