需求:第三方提供了http api接口,我們需要將其數據全部取回來,存放到本地Mysql數據庫。
開發工具是intelj idea,准備基於maven創建聚合項目,util作為工具包,單獨作為一個工程,打包時打成jar包;
dao層依賴util,打包時也打成jar包;
service依賴dao層,打包時也是打成jar包;
controller層依賴service層,打包時打成war包。
1.新建root工程
File--New Project--
2.新建子module
在下圖中,對着步驟一新建的root工程右擊,新建module
3.分別查看root工程和子工程的pom文件
4、新建dao 子工程,依賴common-utils
在pom文件中,手動添加依賴:
5、新建service 子工程,依賴dao子工程
操作同第四步。
同樣,我們要修改service的pom文件,手動加dao子工程的依賴進來。
6、新建controller工程,該工程應該為web工程,依賴service層
完成后在pom文件中增加對service的依賴。
7、測試工程是否正常
設想:因為clicent是web工程,pom文件中依賴service組件;於是---將service.jar拷貝到web/lib目錄下
在本地maven找到service組件后,根據service的pom文件,發現其依賴dao組件;於是將dao.jar拷貝到web/lib目錄下
在本地找到dao組件后,在其pom中,發現dao組件依賴common-utils組件;於是找到common-utils組件后,將common-utils.jar拷貝到lib目錄下
在common-utils中新增一個工具方法,通過dao/service/controller層層調用,所以可以直接請求controller層,調用到utils的方法。
在client的web中新增一個servlet:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>Simple</servlet-name> <servlet-class>com.newthreeboard.SimpleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Simple</servlet-name> <url-pattern>/simple-servlet</url-pattern> </servlet-mapping> </web-app>
依次點擊clean、compile、package后,會得到一個war包
查看打成的解壓的war包目錄,其lib目錄下:
這邊先直接拷貝到tomcat的web-apps下執行,看看效果:
啟動tomcat后,
在瀏覽器中進行調用:
http://localhost:8080/newthreeboard-client/simple-servlet
此時頁面請求后一片空白,沒有任何反應,因為我們沒有輸出東西,但是在tomcat的界面可以看到:
至此,簡單的聚合項目構建ok。