锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
2011騫?鏈堝紑濮嬪紑鍙戣繖涓闃叉父鎴忥紝Cocos2D+鐢═exturePacker鏁村悎鐨勬棤鏁板浘鐗?Packed by TexturePacker)
2011騫?1鏈堝畬鎴愬紑鍙戯紝鎻愪氦app錛岀粡榪囧崐涓湀鐢寵璐﹀彿錛屾彁浜ゅ鏍哥瓑榪囩▼錛岄涓猧os娓告垙涓婄嚎
2012騫?鏈?鏃ワ紝 瀹冨皢鎴愪負涓涓紑婧愰」鐩?br />This is going to be an open source project from Jan 01, 2011.
鎰熻阿TexturePacker鐨勪綔鑰呮彁渚涚殑鍏嶈垂License
鍏充簬TexturePacker錛屽畠鏄竴涓潪甯稿ソ鐢紝璐ㄩ噺寰堝ソ鐨勭殑鍥劇墖鏁村悎宸ュ叿
瀹冨皢澶氫釜鍥劇墖鏁村悎鎴愪竴寮犲ぇ鍥撅紝鍑忓皯鍥劇墖鍔犺澆嬈℃暟錛屽噺灝戝唴瀛樹嬌鐢紝灝辨垜鐩墠鐨勪簡瑙o紝瀹冭兘鐢ㄤ簬ios, android, web搴旂敤鐨勫紑鍙戯紝瀹冩敮鎸佸緢澶氳緭鍑烘牸寮?br />http://www.texturepacker.com/
iTunes鏌ョ湅錛?
榪涘叆娓告垙鐣岄潰
鍔犺澆娓告垙鐣岄潰
娓告垙鐣岄潰
綺炬棣嗏斺斿湪綰挎鐗屾父鎴忓鉤鍙幫紝涓嶇敤涓嬭澆瀹㈡埛绔紝鎵撳紑緗戦〉灝辮兘鐜╂鐗岀被浼戦棽娓告垙銆?br />
涓轟粈涔堝彨綺炬棣嗭細鍦ㄦ垜鐨勮佸錛屽ぇ瀹墮キ鍚庢墦鐗岀帺楹誨皢鐨勫湴鏂瑰氨鍙簿姝﹂銆?br />
瀹冪殑鏋舵瀯涓庡熀浜庡鎴風鐨勬父鎴忓鉤鍙板樊涓嶅錛屼互娓告垙妯″潡鎴栨埧闂翠負鍗曚綅鐨勫垎甯冨紡闆嗙兢........錛堢渷鐣ワ級銆?br />
鎶鏈笂浣跨敤浜嗗父瑙佺殑jquery, spring,hibernate, tapestry絳夛紝瀹㈡埛绔箣闂撮氫俊浣跨敤鐨勬槸cometd (http://www.cometd.org)銆?br />
Server浣跨敤鐨刵ginx+jetty7錛宑ookie淇濇寔鐧誨綍鐘舵侊紝memcached鍚屾鐢ㄦ埛鏁版嵁銆?br />
褰撳墠鐗堟湰錛氬紑鍙戦瑙堢増
http://dev.jingwuguan.com
宸查氳繃嫻嬭瘯鍏煎鐨勬祻瑙堝櫒錛欼E8, IE7, IE6, Firefox, Chrome, Maxthon, Opera
鍥存娓告垙澶у巺錛?br />
鍥存錛?br />
瀹冩渶緇堝皢鎴愪負涓涓紑鏀懼紡澶氬獟浣撲簰鍔ㄥ鉤鍙幫紝鍖呮嫭SNS錛岀數瀛愮珵鎶浜掑姩錛岃棰戜簰鍔ㄧ瓑銆?br />
google鍏ㄧ悆鏈夎秴榪?0W鍙皊erver錛屽弬鐓oogle鐨剆erver閰嶇疆錛屽鏋滄垜浠互10鍙皊erver涓哄崟浣嶏紝緇勫緩鏃犵洏宸ヤ綔绔欓泦緹わ紝鎴戜滑涓鍙皊erver鐨勬垚鏈渶澶氭槸浠栦滑鐨勪竴鍗?br />
鐩墠鍏ㄧ悆鍙悳绱㈠埌鐨勬湁2瀹跺叕鍙稿湪鍋氳繖涓湪綰挎父鎴忓鉤鍙幫紝浠栦滑宸茬粡宸笉澶氬仛濂戒簡錛屽鍦ㄥ唴閮ㄦ祴璇曢樁孌碉紝騫舵湁瑙嗛錛屾牴鎹粬浠殑嫻嬭瘯緇撴灉錛屽彧闇瑕?.5m鐨勫甫瀹斤紝灝卞彲浠ュ緢嫻佺晠鐨勭帺鏅氱敾璐ㄦ父鎴忥紝楂樻竻鐢昏川涔熷彧闇瑕?-5m鐨勫甫瀹斤紝鑰屾湭鏉?騫達紝鍥藉唴灝嗘櫘鍙婂厜綰ゅ叆鎴楓?br />
鍦ㄧ嚎搴旂敤騫沖彴鍖呭惈3涓儴鍒嗭細
瀹㈡埛绔祻瑙堝櫒 絎竴闃舵嫻嬭瘯璁″垝 鍘熷洜錛?br />
鍩轟簬嫻忚鍣ㄧ殑搴旂敤瀹㈡埛绔紝涔熸槸濯掍綋嫻佹帴鏀剁錛岀敤浜庡悜鏈嶅姟鍣ㄥ彂閫佸簲鐢ㄨ姹傦紝鑾峰緱濯掍綋嫻佽姹侷D錛屽悜濯掍綋鏈嶅姟鍣ㄥ彂閫佽姹傦紝鑾峰緱鐩稿簲鐨勫獟浣撴祦銆?br />
WEB鏈嶅姟鍣?/strong>
灝嗗鎴風瀵瑰簲鐢ㄧ殑璇鋒眰杞彂鑷沖簲鐢ㄥ鉤鍙版湇鍔″櫒錛岃幏寰楀獟浣撴祦ID錛屽彂閫佺粰瀹㈡埛绔紝騫剁敤session鎺у埗鍏跺0鏄庡懆鏈?br />
搴旂敤騫沖彴鏈嶅姟鍣?/strong>
搴旂敤騫沖彴鏈嶅姟鍣ㄦ槸涓涓湇鍔″櫒緹わ紝鍖呭惈涓変釜閮ㄥ垎錛氭帶鍒跺櫒緹ょ粍錛屽簲鐢ㄦ湇鍔″櫒緹ょ粍錛屽獟浣撴祦鏈嶅姟鍣ㄧ兢緇勶紝浠ヤ竴涓父鎴忔湇鍔″鉤鍙頒負渚嬪瓙錛?br />
鎺у埗鍣ㄦ湇鍔″櫒緹ょ粍
鎺ユ敹娓告垙瀹炰緥鐨勮姹傦紝瀵規父鎴忓疄渚嬪拰嫻佸獟浣撶殑鐢熷懡鍛ㄦ湡榪涜綆$悊銆?br />
娓告垙鏈嶅姟鍣ㄧ兢緇?/strong>
鎻愪緵娓告垙瀹炰緥
濯掍綋嫻佹湇鍔″櫒緹ょ粍
鍝嶅簲瀹㈡埛绔殑濯掍綋嫻佽姹?/p>
浠ラ瓟鍏戒笘鐣屼負渚嬶紝嫻佺▼鍥懼涓嬶細
娓告垙鏈嶅姟鍣ㄧ嫻嬭瘯鏂規錛?br />
1錛岃繍琛屼竴涓緢灝忕殑娓告垙錛屽皢瀹冪殑瑙嗛鍜岄煶棰戝啓鎴愭枃浠訛紝淇濊瘉瀹冨彲浠ユ挱鏀?br />
2錛屽皢瑙嗛鍜岄煶棰戜互嫻佺殑褰㈠紡鍙戦佺粰濯掍綋server錛岄氳繃緗戦〉浠ョ數褰辯殑褰㈠紡鎾斁
3錛屽湪嫻忚鍣ㄧ鍔犲叆鎺у埗鍔熻兘錛屾渶鍚庡疄鐜伴氳繃緗戦〉鐜╅偅涓皬娓告垙
濯掍綋鏈嶅姟鍣ㄧ嫻嬭瘯鏂規錛?br />
1錛屾惌寤哄獟浣撴湇鍔″櫒錛屽垱寤哄獟浣撴挱鏀鵑〉闈?br />
2錛屽皢涓涓獟浣撴枃浠舵斁鍏ユ寚瀹氱洰褰曪紝騫跺彲浠ユ挱鏀懼畠
3錛屽啓涓孌墊祴璇曚唬鐮侊紝灝嗗獟浣撴枃浠朵互嫻佺殑褰㈠紡璇誨彇錛屽茍鍐欏叆鍒板獟浣撴湇鍔″櫒涓紝浣垮畠鑳藉琚挱鏀?
鏈樁孌典負鎶鏈祴璇曢樁孌碉紝涓烘暣涓」鐩墦寮涓涓叆鍙g偣
鍚姩Tomcat
鍒犻櫎 CATALINA_HOME/work/ 鐩綍涓嬬殑Catalina鐩綍
璁塊棶浠諱綍涓涓猨sp鏂囦歡錛屽皢鍙戠敓閿欒
org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Tomcat瀵筳sp鐨勫鐞嗘槸鐢變竴涓狫spServlet鏉ュ畬鎴愮殑錛屽綋tomcat鍚姩鏃訛紝浼氫負姣忎竴涓猚ontext鍒涘緩jsp宸ヤ綔鐩綍(work dir)錛屽瓨鏀懼湴涓?CATALINA_HOME/work/Catalina/HOST_NAME/CONTEXT_NAME錛宑ontext緙栬瘧jsp鎵闇瑕佺殑鍙傛暟涔熼殢涔嬪垵濮嬪寲錛屽姞杞絡sp class鐨刡ase path涔熷凡緇忔綔鍦ㄥ垵濮嬪寲錛屾槸涓涓狥ile瀵硅薄錛屽畠灝嗗湪闅忓悗URLClassLoader鍔犺澆jsp class鏃朵綔涓轟竴涓猺esource url錛屼笅闈㈡槸閮ㄥ垎浠g爜錛?br />
org.apache.jasper.JspCompilationContext.java
鍒濆鍖?JspLoader
public ClassLoader getJspLoader() {
if( jspLoader == null ) {
jspLoader = new JasperLoader
(new URL[] {baseUrl},
getClassLoader(),
rctxt.getPermissionCollection(),
rctxt.getCodeSource());
}
return jspLoader;
}
鍏朵腑baseUrl鏄繖鏍峰緱鍒扮殑
protected void createOutputDir() {
String path = null;
if (isTagFile()) {
String tagName = tagInfo.getTagClassName();
path = tagName.replace('.', File.separatorChar);
path = path.substring(0, path.lastIndexOf(File.separatorChar));
} else {
path = getServletPackageName().replace('.',File.separatorChar);
}
// Append servlet or tag handler path to scratch dir
try {
File base = options.getScratchDir();
baseUrl = base.toURI().toURL();
outputDir = base.getAbsolutePath() + File.separator + path +
File.separator;
if (!makeOutputDir()) {
throw new IllegalStateException(Localizer.getMessage("jsp.error.outputfolder"));
}
} catch (MalformedURLException e) {
throw new IllegalStateException(Localizer.getMessage("jsp.error.outputfolder"), e);
}
}
options.getScratchDir() 鏄湪tomcat鍚姩鏃跺垵濮嬪寲鐨勶紝浜庢槸錛屽惎鍔╰omcat鍚庯紝鍒犻櫎work鐩綍錛岃闂甹sp鏃訛紝灝界work鐩綍琚噸鏂板垱寤哄茍涓攋sp琚垚鍔熺紪璇戯紝浣嗘槸鐢變簬ClassLoader涓師鐩綍瀵硅薄涓庡綋鍓嶇洰褰曞璞′笉鍚岋紝鑰屾棤娉曞姞杞藉埌jsp鐨刢lass
琚姩妯″紡鍙互鐞嗚В涓轟笁縐嶆ā寮忥細 寮鍙戞ā寮忥紝 閮ㄧ講妯″紡錛屼簯妯″紡銆?br />
涓. 寮鍙戞ā寮?br />
瀹為檯涓婂湪鎴戜滑鐨勪唬鐮佸紑鍙戜腑錛屽氨涓鐩村湪浣跨敤榪欑寮鍙戞ā寮忥紝渚嬪
interface InterfaceA {
}
class ClassB { InterfaceA ref = createInterfaceA(); }
浣跨敤create鏂規硶錛岃屼笉鏄洿鎺ew銆備篃灝辨槸璇村憡璇変簡ClassB錛屽湪create鏂規硶涓幏寰桰nterfaceA.
榪欐槸涓涓緢綆鍗曠殑渚嬪瓙錛屽彈瀹冪洿鎺ュ獎鍝嶇殑錛屾槸緋葷粺鐨勬墿灞曟с傚湪涓涓彲鎵╁睍錛堜幾緙╋級鐨勭郴緇熶腑錛屼緥濡傚湪Eclipse浜у搧紼嬪簭錛屾垨鏄熀浜庡彲鎻掓嫈妯″潡鐨勫簲鐢ㄧ▼搴忓紑鍙戜腑錛屽垯鏄殢澶勫彲瑙佺殑琚姩搴旂敤妯″紡錛岃繖鏍風殑緋葷粺錛屽浜庣幇鏈夌粍鎴愰儴鍒嗗湪寮鍙戣繃紼嬩腑寰堝鏄撹В鍐籌紝浣嗘槸瀵逛簬鏈煡緇勬垚閮ㄥ垎錛堟墿灞曟э級錛屽彧鑳介氳繃琚姩妯″紡瑙e喅錛屼緥濡侲xtwind錛屽湪鍩轟簬osgi鐨剋eb搴旂敤紼嬪簭涓紝Dynamic IoC鍜孍xtension-Point鎵鍋氱殑浜嬨?br />
浜? 閮ㄧ講妯″紡
鐩墠web搴旂敤紼嬪簭鐨勯儴緗詫紝鍙互鎬葷粨涓鴻繖鏍蜂竴鍙ヨ瘽錛氶渶瑕侀儴緗茬殑鏃跺欏氨鏉ユ壘鎴戯紝鍒繕浜嗘妸涓滆タ甯︿笂錛?br />
榪欎笌鐜板湪鐨勬湇鍔$悊蹇靛畬鍏ㄧ浉鎮栵紝蹇掑叕鍙擱兘鏈変笂闂ㄥ彇璐ц繖欏規湇鍔°?br />
濡傛灉浠ュ紑鍙戞ā寮忔潵鐪嬶紝榪欏氨灞炰簬 Deploy deploy = new FixedDeploy() 錛岃屼笉鏄痝etDeploy()銆?br />
榪欐槸涓縐嶉檲鏃х殑閮ㄧ講妯″紡錛屾鏃犳墿灞曟у拰浼哥緝鎬э紝瀹冭寰堝鍘熸湰綆鍗曠殑浜嬫儏鍙樺緱寰堝鏉傦紝铏界劧榪欐槸涓縐嶉儴緗叉ā寮忥紝浣嗘槸瀹冨皢褰卞搷鍒板悗鏉ョ殑鏋舵瀯妯″紡銆?br />
Extwind鐨勯儴緗叉ā寮忥細闇瑕侀儴緗茬殑鏃跺欙紝緇欐垜涓數璇濓紝鍛婅瘔鎴戜笢瑗垮湪鍝紝鎴戝幓鍙栥?br />
榪欎釜“鐢佃瘽”灝辨槸涓涓儴緗叉弿榪扮錛圖eploy Description錛夛紝瀹冩弿榪頒簡閮ㄧ講鏂瑰紡錛屽簲鐢ㄧ▼搴忔垨妯″潡鐨勫瓨鏀懼湴錛圧epository錛夌瓑緇嗚妭錛孍xtwind閫氳繃榪欎釜鎻忚堪絎︿粠鎸囧畾鐨凴epository涓幏鍙栧簲鐢ㄧ▼搴忓茍閮ㄧ講銆?br />
濡傛灉浠ラ潰鍚戝璞℃潵鐪嬪畠錛屽彲浠ュ皢榪欎釜鎻忚堪絎︾悊瑙d負涓涓猧nterface錛屽畠灝嗗獎鍝嶅埌閮ㄧ講妯″紡鐨勬墿灞曟у拰浼哥緝鎬с?br />
Extwind涓殑repository涓巑aven涓殑repository寰堝儚錛屽浜庡畠鐨勫畾涔夛紝涓昏鏈?涓柟闈細
1. 緇勪歡搴擄紝榪欏彲浠ラ氳繃maven鏉ュ府鍔╁畬鎴?br />
2. 閮ㄧ講搴擄紝鐢卞簲鐢ㄧ▼搴忕敓鎴愮殑鍙楁敮鎸佺殑閮ㄧ講搴擄紝閮ㄧ講鏃訛紝鍙渶瑕佸皢鎻忚堪絎︽寚鍚戣搴撴垨搴撲腑鐨勬煇浜涚粍浠躲?br />
涓? 浜戞ā寮?/strong>
鐢ㄤ竴涓緥瀛愭潵鐞嗚В浜戞ā寮忥細
鏂板涓鍙?86錛屽彲浠ヤ負浜戝鍔?%鐨勮綆楄兘鍔涳紱
鏂板涓涓泦緹ょ幆澧冿紝鍙互涓轟簯澧炲姞20%鐨勮綆楄兘鍔涳紱
榪欓噷鐨勮綆楄兘鍔涘氨鏄竴縐嶈祫婧愶紝鍙互鐞嗚В涓烘湇鍔¤兘鍔涖備箣鍓嶆彁鍒拌繃錛屽浜庢湭鐭ヨ祫婧愶紝鍙兘閫氳繃琚姩妯″紡鏉ヨ幏鍙栵紝Extwind灝嗕細閫氳繃浜戞ā寮忔潵鎻愪緵鍙幾緙╃殑鏈嶅姟鐜銆?br />
Extwind瑕佸仛鐨勪簨鎯呭彧鏈変竴浠訛細璁╁師鏈畝鍗曠殑浜嬫儏錛屼笉瑕佸お澶嶆潅銆?br />
1. ExtensionPoint涓嶦xtension
榪欎釜姒傚康鏉ヨ嚜浜嶦clipse鐨勬彃浠舵妧鏈紝瀹冨湪Web搴旂敤涓浣曚綋鐜幫紵涓句竴涓畝鍗曠殑渚嬪瓙錛?br />
鍦ㄤ負Tomcat-OSGi寮鍙戠殑osgi console涓紝浣跨敤鐨勬槸Tapestry-OSGi錛岄〉闈腑浼氭湁涓涓狹enu鐨勭粍浠訛紝瀹冨氨鏄竴涓狤xtensionPoint
鍏朵粬緇勪歡鍙渶瑕佹敞鍐屼竴涓狤xtension錛屽嵆鍙湪榪欎釜Menu涓樉紺哄嚭鏉ワ紝榪欎竴鍒囧皢鏄湪榪愯鏃跺疄鐜扮殑錛?br />
2. Service
榪欎釜姒傚康鏈夌偣鍍廜SGi涓殑Service Registry錛孴apestry緇勪歡鍙互鎻愪緵Service涔熷彲浠ヨ幏寰桽ervice錛屽畠鍦╳eb搴旂敤姹囨誨浣曚綋鐜幫紵涓句釜渚嬪瓙
Tapestry-OSGi鐨勭ず渚嬫帶鍒跺彴涓紝鍏充簬鏉冮檺鎺у埗錛屾湁3涓ā鍨嬬粍錛氱敤鎴風粍錛屾潈闄愮粍錛岃祫婧愮粍
鐜板湪璧勬簮緇勫亣璁懼彧鏈変竴涓〉闈細bundles鎺у埗欏甸潰錛屽綋client璇鋒眰璁塊棶bundles鎺у埗欏甸潰鏃訛紝榪欎釜欏甸潰灝嗘煡鎵懼鏋滄湁LoginService瀛樺湪騫朵笖娌℃湁鐧誨綍錛屽皢璺寵漿鍒癓oginService鎻愪緵鐨勯〉闈紝褰揷lient鎻愪氦鐧誨綍琛ㄥ崟鍚庯紝LoginService鍙堜細鏌ヨ鏄惁鏈塕oleService瀛樺湪 ......
榪欎簺Service浼氭湁涓涓狹anager欏甸潰鍘繪帶鍒訛紙disable/enable錛?br />
榪欎釜渚嬪瓙涓鏋滃啀鍔犲叆ExtensionPoint涓嶦xtension鐨勬蹇碉紝瀹冨皢鍙樺緱闈炲父鏈夋剰鎬濄?br />
Tapestry-OSGi鐨凮SGi Console灝嗗湪瀹屾垚Service Managment鍚庡紑濮嬪彂甯冦?br />
tomcat-users.xml 瀹氫箟浜嗘帶鍒跺彴鏉冮檺錛屽涓?/p>
浜屻佸皢OSGi 搴旂敤紼嬪簭瀵煎嚭涓篵undle
灝嗕笅杞界殑projects.rar瑙e帇緙╋紝騫跺湪eclipse涓綔涓簆lug-in瀵煎叆瀹冧滑錛宱rg.extwind.osgi.demo.jpetstoreosgi.launcher闇瑕佷綔涓轟竴涓櫘閫歱roject瀵煎叆錛岃繖浜沺rojects鍖呭惈浜嗘簮浠g爜錛屾柟渚夸綘榪涜璋冭瘯銆?br />
Tomcat-OSGi宸茬粡鍑嗗濂戒簡榪欎簺bundle錛?a target="_blank">鐐瑰嚮榪欓噷涓嬭澆bundles
閫氳繃eclipse鐨勫鍑哄姛鑳斤紝灝嗕粬浠鍑轟負bundle jar鍖咃紝闇瑕佹敞鎰忕殑鏄紝org.apache.jasper, jetty錛宩avax.servlet.*鍜宱rg.eclipse.osgi鏄笉闇瑕佸鍑虹殑銆傦紙鍦╫rg.extwind.osgi.demo.jpetstoreosgi.launcher涓湁涓涓鍑鴻剼鏈珽xporter.xml錛屽彲浠ヨ繍琛屽畠榪涜瀵煎嚭錛?br />
涓夈佸湪Tomcat-OSGi涓儴緗瞓undle
鍦╰omcat-home/webapps涓柊寤轟竴涓洰褰旿PetStoreOSGi錛屽湪JPetStoreOSGi鐩綍涓柊寤轟竴涓┖鏂囦歡osgi.ini錛屽茍灝嗗鍑虹殑bundles鎷瘋礉鍒拌鐩綍涓嬨?br />
鎵цspring-framework-2.5.6/samples/jpetstore/db/hsqldb/server.bat 鍚姩鏁版嵁搴?br />
鐜板湪錛屽噯澶囧伐浣滃凡緇忓畬鎴愪簡錛屽湪嫻忚鍣ㄤ腑杈撳叆 http://localhost:8080/console 榪涘叆OSGi鎺у埗鍙幫紝浣犱細鍙戠幇鎵鏈塨undle閮藉凡緇忓畨瑁呭ソ浜嗭紝灝嗘墍鏈夌殑bundle閮藉惎鍔ㄤ簡錛岋紙寤鴻鍏堝惎鍔╫rg.springframework.osgi.web.extender錛夈?br />
鐜板湪鏄椂鍊欐潵鐪嬬湅JPetStoreOSGi閮ㄧ講鍒癟omcat-OSGi涓悗鐨勬晥鏋滀簡錛屽湪嫻忚鍣ㄤ腑璁塊棶涓嬮潰榪欎釜鍦板潃
http://localhost:8080/JPetStoreOSGi/shop/index.do
鐩墠osgi.ini涓敮鎸乸roperties灞炴?osgi.console錛屽惎鍔╫sgi鎺у埗鍙般?br />
鍦═omcat-OSGi alpha2鐗堟湰涓紝鏀寔Equinox-JspServlet鐨勬敞鍐岋紝騫跺吋瀹瑰叾URI pattern錛屼篃灝辨槸璇達紝鍦╡clipse鐨勫紑鍙戠幆澧冧腑寮鍙戝嚭鏉ョ殑搴旂敤紼嬪簭鍙互鐩存帴閮ㄧ講鍒癟omcat-OSGi涓紝鑰屾棤闇浠諱綍浠g爜綰у埆鐨勪慨鏀廣?br />
鏈変竴鐐圭偣鍖哄埆灝辨槸錛屽湪Tomcat-OSGi涓凡緇廵xport浜唈avax.servlet(2.4)錛宩avax.servlet.jsp(2.1)鍜宱rg.apache.jasper錛屽洜姝ゅ湪Tomcat-OSGi涓繖浜沚undle鏄笉闇瑕佸姞鍏ョ殑銆?br />
鍕垮湪app涓嬌鐢╫rg.apache.jasper錛屼細瀵艱嚧鍏朵粬搴旂敤紼嬪簭鐨刯sp鍑虹幇閿欒銆?/span>
鐩稿叧璧勬簮
Extwind鐨凣oogle Group錛?http://groups.google.com/group/extwind
Extwind鐨凣oogle Project錛? http://code.google.com/p/extwind
Tomcat-OSGi-alpha-2 all-in-one 涓嬭澆鍦板潃
http://extwind.googlecode.com/svn/trunk/dist/Tomcat-OSGi/Tomcat-OSGi-all-in-one.rar
Extwind SVN錛?http://extwind.googlecode.com/svn/trunk/
jpetstore-osgi-demo鐨刡undles涓嬭澆鍦板潃
http://extwind.googlecode.com/svn/trunk/demo/jpetstore-osgi-demo/Bundles.rar
jpetstore-osgi-demo鐨刾rojects涓嬭澆鍦板潃
http://extwind.googlecode.com/svn/trunk/demo/jpetstore-osgi-demo/Projects.rar
鏋勫緩jpetstore-osgi-demo鐨勬紨紺鴻繃紼嬶細
Developing Equinox/Spring-osgi/Spring Framework Web Application Part 1 - 鏄劇ず棣栭〉
Developing Equinox/Spring-osgi/Spring Framework Web Application Part 2 - 浣跨敤Spring-OSGI
Developing Equinox/Spring-osgi/Spring Framework Web Application Part 3 - 鎵懼埌鎴戠殑Bean
鏋勫緩鏂扮増jpetstore-osgi-demo鐨勭浉鍏抽棶棰橈細
Tomcat-OSGi Demo: JPetStoreOSGi(Spring-osgi 1.2.0)