把一個項目分成多個模塊,各模塊應該打成什麼包呢?jar?對於spring+mybatis+springmvc整合的項目來說,如果打成jar包,應該只能將模塊寫到service層,不能到控制器,因為當有多個帶有控制器的jar,並通過url訪問他們時,是不處在同一個會話期的。但是這樣寫的話(沒有控制器),最後還要統一將控制器寫在一個項目中。如果把各模塊打包成war(帶控制器)也不在同一會話期。 一般情況下,javaweb項目,應該如何劃分模塊,打成什麼包。或者如何使多war,jar包共享session?
一般而言是將共同工具類抽象成common模塊,達成jar,別的項目依賴此模塊,若無分布式架構的需要,service、web等模塊都可以在同一模塊內,打成war;若有分布式架構的需要,則需要將Service和web區別開來,各自作為一個模塊。通過dubbo等分布式架構的注冊發現機制,將service打成war啟動,進行注冊服務,將Web模塊打成war去發現服務,從而實現分布式架構。