浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

浣跨敤Eclipse鏋勫缓Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

浣跨敤Eclipse鏋勫缓Maven鐨凷pringMVC椤圭洰

聽聽 聽 聽 聽棣栧厛Eclipse闇€瑕佸畨瑁匨aven鐨勬彃浠讹紝鍦板潃锛歨ttp://m2eclipse.sonatype.org/sites/m2e銆?/p>

聽聽 聽 聽 聽鐢∕yEclipse瀹夎Maven鎻掍欢锛屽缓鍑虹殑Maven椤圭洰鏈変簺闂銆備竴鏄紝鍙戝竷tomcat鐨勬椂鍊檙esources鎬绘槸涓嶄細琚彂甯冨埌 tomcat涓嬶紱浜屾槸锛屾妸WEB-INF涓嬬殑classes鏀瑰埌target涓嬬殑classes锛屼絾鏄笉鐭ラ亾涓轰粈涔圡yEclipse瑕佷箞浠嶇劧鍦╓EB- INF涓嬬敓鎴恈lass銆傝涔堢湡涓嶅湪WEB-INF鐢熸垚classes浜嗕絾鏄彂甯僼omcat鐨勬椂鍊欙紝class鏂囦欢涓€涓兘涓嶄細缁欎綘鍙戝竷杩囧幓锛岃秴绾ч儊闂枫€?浣嗘槸浣跨敤Eclipse鏋勫缓Maven椤圭洰鍚庯紝浣跨敤MyEclipse鎵撳紑灏辨病闂浜嗐€?/p>

聽聽 聽 聽 聽鐢╩aven鐨勫ソ澶勶細鎴戞劅瑙夋渶涓昏灏辨槸鑷姩涓嬭浇jar鍖呭拰瀹冩墍渚濊禆鐨勫寘锛岃繖鏍峰彲浠ヤ繚璇佷簡澶氫汉寮€鍙戞椂jar鐗堟湰涓嶅悓鐨勯棶棰樸€傚啀灏辨槸鏂囦欢缁撴瀯娓呮櫚锛宩ava鏂囦欢锛岃祫婧愭枃浠讹紝娴嬭瘯鏂囦欢閮藉垎鐨勫緢娓呮銆?/p>

聽聽 聽 聽 聽灏嗕粙缁嶄袱绉嶆柟娉曪細涓€锛岀洿鎺ュ缓绔婱aven椤圭洰鏂规硶锛涗簩銆佸缓绔婦ynamic Web project杞垚Maven椤圭洰鏂规硶銆?/p>

涓€銆佺洿鎺ュ缓绔婱aven椤圭洰鏂规硶

1銆佸缓绔婱aven椤圭洰

聽聽 聽 聽 聽鎺ヤ笅鏉ヤ娇鐢‥clipse鐨刴aven鏋勫缓涓€涓獁eb椤圭洰锛屼互鏋勫缓SpringMVC椤圭洰涓轰緥锛?/p>

1.1 閫夋嫨寤虹珛Maven Project

閫夋嫨File -> New -> Other锛屽湪New绐楀彛涓€夋嫨 Maven -> Maven Project銆傜偣鍑籲ewxt銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

1.2 閫夋嫨椤圭洰璺緞

Use default Workspace location榛樿宸ヤ綔绌洪棿銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

1.3 閫夋嫨椤圭洰绫诲瀷

鍦ˋrtifact Id涓€夋嫨maven-archetype-webapp


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

1.4 杈撳叆Group ID鍜?Artifact ID锛屼互鍙奝ackage

Group ID涓€鑸啓澶ч」鐩悕绉般€侫rtifact ID鏄瓙椤圭洰鍚嶇О銆?/p>

渚嬪Spring鐨剋eb鍖咃紝Group ID锛歰rg.springframework锛宎rtifactId锛歴pring-web銆?/p>

Package鏄粯璁ょ粰浣犲缓涓€涓寘锛屼笉鍐欎篃鍙互銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

1.5 鍒氬缓绔嬪ソ鍚庣殑鏂囦欢缁撴瀯濡備笅鍥?/h3>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

濡傛灉杩欓噷鏄剧ず鐨勫唴瀹瑰锛屼竴鑸槸Filters璁剧疆鐨勯棶棰樸€傛垨perspective涓篔avaEE妯″紡锛屾敼鎴怞ava妯″紡灏卞彲浠ヤ簡銆?/p>

2銆侀厤缃甅aven椤圭洰

鎺ヤ笅鏉ュ氨闇€瑕佹洿鏀瑰ソ澶氶厤缃簡銆?/p>

2.1 娣诲姞Source鏂囦欢澶?/h3>

鎺ヤ笅鏉ラ渶瑕佹坊鍔爏rc/main/java锛宻rc/test/java 锛宻rc/test/resources涓変釜鏂囦欢澶广€傚彸閿」鐩牴鐩綍鐐瑰嚮New -> Source Folder锛?/p>

寤哄嚭杩欎笁涓枃浠跺す銆傛敞鎰忎笉鏄缓鏅€氱殑Folder锛岃€屾槸Source Folder銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

2.2 鏇存敼class璺緞

鍙抽敭椤圭洰锛孞ava Build Path -> Source

涓嬮潰搴旇鏈?涓枃浠跺す銆俿rc/main/java锛宻rc/main/resources锛宻rc/test/java 锛宻rc/test/resources銆?/p>

鍙屽嚮姣忎釜鏂囦欢澶圭殑Output folder锛岄€夋嫨璺緞銆?/p>

src/main/java锛宻rc/main/resources锛岄€夋嫨target/classes;

src/test/java 锛宻rc/test/resources, 閫夋嫨target/test-classes;

閫変笂Allow output folders for source folders.

鍦ㄦ澶勮繕瑕佹洿鏀癸細

鏇存敼鏂囦欢澶规樉绀虹殑椤哄簭锛氱偣鍑籓rder and Export銆?/p>

鏇存敼JDK鐗堟湰锛氬湪Libraries鍙屽嚮JRE System Library锛岃1.6鐗堟湰銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

2.3 鎶婇」鐩彉鎴怐ynamic Web椤圭洰

2.3.1 鍙抽敭椤圭洰锛岄€夋嫨Project Facets锛岀偣鍑籆onvert to faceted from


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

2.3.2 閰嶇疆Project Facets

鏇存敼Dynamic Web Module鐨刅ersion涓?.5銆?3.0涓篔ava7鐨?銆?/p>

濡傛灉鎻愮ず閿欒锛屽彲鑳介渶瑕佸湪Java Compiler璁剧疆Compiler compliance level 涓?.6銆傛垨鑰呴渶瑕佸湪姝ょ獥鍙g殑Java鐨刅ersion鏀规垚1.6銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

2.3.3 閰嶇疆 Modify Faceted Project

鐐瑰嚮Further configuration available鈥︼紝寮瑰嚭Modify Faceted Project绐楀彛

姝ゅ鏄缃畐eb.xml鏂囦欢鐨勮矾寰勶紝鎴戜滑杈撳叆src/main/webapp銆?/p>

Generate web.xml deployment descriptor鑷姩鐢熸垚web.xml鏂囦欢锛屽彲閫夊彲涓嶉€夈€?/p>

2.4 璁剧疆閮ㄧ讲绋嬪簭闆?Web Deployment Assembly)

涓婇潰姝ラ璁剧疆瀹屾垚鍚庯紝鐐瑰嚮OK锛孭roperties绐楀彛浼氬叧闂紝鍦ㄥ彸閿」鐩墦寮€姝ょ獥鍙c€傚湪宸︿晶鍒楄〃涓細鍑虹幇涓€涓狣eployment聽Assembly锛岀偣鍑昏繘鍘诲悗锛屽涓嬪浘锛?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

姝ゅ鍒楄〃鏄紝閮ㄧ讲椤圭洰鏃讹紝鏂囦欢鍙戝竷鐨勮矾寰勩€?/p>

1锛屾垜浠垹闄est鐨勪袱椤癸紝鍥犱负test鏄祴璇曚娇鐢紝骞朵笉闇€瑕侀儴缃层€?/p>

2锛岃缃皢Maven鐨刯ar鍖呭彂甯冨埌lib涓嬨€?/p>

Add -> Java Build Path Entries -> Maven Dependencies -> Finish

璁剧疆瀹屾垚鏁堟灉鍥?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

3銆佸悜maven椤圭洰涓坊鍔爅ar鍖?/h2>

maven鍙互绠$悊椤圭洰渚濊禆鐨刯ar鍖咃紝閫氳繃groupID銆乤rtifactId浠ュ強鐗堟湰鍙峰彲浠ュ敮涓€纭畾涓€涓猨ar鍖呫€傝繖鏍峰彲浠ラ槻姝㈣€佸紡Web椤圭洰涓璚EB-INF/lib涓媕ar鍖呬笉涓€鑷寸殑闂銆傚苟涓攎aven杩樹細鑷姩涓嬭浇娣诲姞杩涚殑jar鍖呮墍渚濊禆鐨刯ar鍖呫€?/p>

3.1 鍦╬om.xml涓坊鍔犳墍闇€瑕佺殑jar鍖?/h3>

浣跨敤Maven POM editor鎵撳紑椤圭洰涓殑pom.xml鏂囦欢锛岄€夋嫨Dependencies锛屽湪Dependencies鏍忕洰鐐瑰嚮Add杩涜锛岄鍏堝脊鍑轰竴涓悳绱㈡寜閽紝渚?濡傝緭鍏pring-web,灏变細鑷姩鎼滅储鍏充簬spring-web鐩稿叧鐨刯ar鍖咃紝鎴戜滑閫夋嫨3.0.5鐗堟湰鐨剆pring銆傚皢spring鍖呭叏閮ㄦ坊鍔犺繘 鏉ャ€傞渶瑕佹坊鍔犵殑鍏朵粬jar鍖呮湁锛歫unit銆乯stl銆傛垨鑰呯偣鍑籶om.xml鐩存帴缂栬緫pom.xml鏂囦欢銆傝繖鏍峰彲浠ョ洿鎺opy杩囨潵 dependencies鍐呭銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

3.2璁剧疆jar鍖呯殑scope

浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

褰撴坊鍔犺繘鍏ヤ竴涓猨ar鍖呭悗锛屾湁涓€浜涘睘鎬ч渶瑕佽缃紝鏈€閲嶈鐨勫氨鏄痵cope锛屽畠鏈変互涓嬪嚑绉嶅彇鍊硷細

1.聽聽聽聽聽聽聽聽聽compile锛岀己鐪佸€硷紝閫傜敤浜庢墍鏈夐樁娈碉紝浼氶殢鐫€椤圭洰涓€璧峰彂甯冦€?/p>

2.聽聽聽聽聽聽聽聽聽provided锛岀被浼糲ompile锛屾湡鏈汮DK銆佸鍣ㄦ垨浣跨敤鑰呬細鎻愪緵杩欎釜渚濊禆銆傚servlet.jar銆?/p>

3.聽聽聽聽聽聽聽聽聽runtime锛屽彧鍦ㄨ繍琛屾椂浣跨敤锛屽JDBC椹卞姩锛岄€傜敤杩愯鍜屾祴璇曢樁娈点€?/p>

4.聽聽聽聽聽聽聽聽聽test锛屽彧鍦ㄦ祴璇曟椂浣跨敤锛岀敤浜庣紪璇戝拰杩愯娴嬭瘯浠g爜銆備笉浼氶殢椤圭洰鍙戝竷銆?/p>

5.聽聽聽聽聽聽聽聽聽system锛岀被浼紁rovided锛岄渶瑕佹樉寮忔彁渚涘寘鍚緷璧栫殑jar锛孧aven涓嶄細鍦燫epository涓煡鎵惧畠銆?/p>

閫氬父SpringMVC椤圭洰鎵€闇€瑕侀厤缃畇cope鐨刯ar鍖呭涓嬪浘锛?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

鏈夌殑鏃跺€欏彂鐜皊ervlet-api杩樻槸琚墦鍖呭埌lib涓嬮潰浜嗭紝姝ゆ椂鑲畾浼氭姤閿欍€傚氨闇€瑕佹妸maven鎻掍欢涓殑WTP涔熷畨瑁呬竴涓嬨€?/p>

Eclipse鍦ㄧ嚎瀹夎璺緞锛歨ttp://m2eclipse.sonatype.org/sites/m2e-extras銆傞€夋嫨for Eclipse WTP銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

4銆佹瀯寤篠pringMVC妗嗘灦

4.1 缂栬緫web.xml鏂囦欢

闇€瑕佹坊鍔爈og4j锛屽瓧绗﹁繃婊わ紝Spring 鐨刣ispatcher绛夈€?/p>

webx.xml浠g爜濡備笅锛?/p>

Xml浠g爜 聽浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)
  1. <?xmlversion="1.0"encoding="UTF-8"?>聽聽
  2. <web-appxmlns="http://java.sun.com/xml/ns/javaee"聽聽聽
  3. 聽聽聽聽聽聽聽聽聽xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"聽聽
  4. 聽聽聽聽聽聽聽聽聽xsi:schemaLocation="http://java.sun.com/xml/ns/javaee聽聽聽
  5. 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"聽聽聽
  6. 聽聽聽聽聽聽聽聽聽version="2.5">聽聽
  7. 聽聽聽聽聽聽
  8. 聽聽聽聽<!--聽鍖哄垎椤圭洰鍚嶇О锛岄槻姝㈤粯璁ら噸鍚嵚?->聽聽
  9. 聽聽聽聽<context-param>聽聽
  10. 聽聽聽聽聽聽聽聽<param-name>webAppRootKey</param-name>聽聽
  11. 聽聽聽聽聽聽聽聽<param-value>maven.example.root</param-value>聽聽
  12. 聽聽聽聽</context-param>聽聽
  13. 聽聽
  14. 聽聽聽聽<!--聽Spring鐨刲og4j鐩戝惉鍣?->聽聽
  15. 聽聽聽聽<listener>聽聽
  16. 聽聽聽聽聽聽聽聽<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>聽聽
  17. 聽聽聽聽</listener>聽聽
  18. 聽聽
  19. 聽聽聽聽<!--聽瀛楃闆喡犺繃婊ゅ櫒聽聽-->聽聽
  20. 聽聽聽聽<filter>聽聽
  21. 聽聽聽聽聽聽聽聽<filter-name>CharacterEncodingFilter</filter-name>聽聽
  22. 聽聽聽聽聽聽聽聽<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>聽聽
  23. 聽聽聽聽聽聽聽聽<init-param>聽聽
  24. 聽聽聽聽聽聽聽聽聽聽聽聽<param-name>encoding</param-name>聽聽
  25. 聽聽聽聽聽聽聽聽聽聽聽聽<param-value>UTF-8</param-value>聽聽
  26. 聽聽聽聽聽聽聽聽</init-param>聽聽
  27. 聽聽聽聽聽聽聽聽<init-param>聽聽
  28. 聽聽聽聽聽聽聽聽聽聽聽聽<param-name>forceEncoding</param-name>聽聽
  29. 聽聽聽聽聽聽聽聽聽聽聽聽<param-value>true</param-value>聽聽
  30. 聽聽聽聽聽聽聽聽</init-param>聽聽
  31. 聽聽聽聽</filter>聽聽
  32. 聽聽聽聽<filter-mapping>聽聽
  33. 聽聽聽聽聽聽聽聽<filter-name>CharacterEncodingFilter</filter-name>聽聽
  34. 聽聽聽聽聽聽聽聽<url-pattern>/*</url-pattern>聽聽
  35. 聽聽聽聽</filter-mapping>聽聽
  36. 聽聽
  37. 聽聽聽聽<!--聽Spring聽view鍒嗗彂鍣?->聽聽
  38. 聽聽聽聽<servlet>聽聽
  39. 聽聽聽聽聽聽聽聽<servlet-name>dispatcher</servlet-name>聽聽
  40. 聽聽聽聽聽聽聽聽<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>聽聽
  41. 聽聽聽聽聽聽聽聽<init-param>聽聽
  42. 聽聽聽聽聽聽聽聽聽聽聽聽<param-name>contextConfigLocation</param-name>聽聽
  43. 聽聽聽聽聽聽聽聽聽聽聽聽<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>聽聽
  44. 聽聽聽聽聽聽聽聽</init-param>聽聽
  45. 聽聽聽聽聽聽聽聽<load-on-startup>1</load-on-startup>聽聽
  46. 聽聽聽聽</servlet>聽聽
  47. 聽聽聽聽<servlet-mapping>聽聽
  48. 聽聽聽聽聽聽聽聽<servlet-name>dispatcher</servlet-name>聽聽
  49. 聽聽聽聽聽聽聽聽<url-pattern>*.do</url-pattern>聽聽
  50. 聽聽聽聽</servlet-mapping>聽聽
  51. 聽聽
  52. </web-app>聽聽

4.2 缂栧啓Spring閰嶇疆鏂囦欢dispatcher-servlet.xml

濡傝娣诲姞MVC椹卞姩銆佹敞瑙f娴嬨€佽鍥捐В鏋愮瓑銆俤ispatcher-servlet.xml浠g爜濡備笅锛?/p>

Xml浠g爜 聽浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)
  1. <?xmlversion="1.0"encoding="UTF-8"?>聽聽
  2. <beansxmlns="http://www.springframework.org/schema/beans"聽聽聽
  3. 聽聽聽聽聽聽聽xmlns:aop="http://www.springframework.org/schema/aop"聽聽聽
  4. 聽聽聽聽聽聽聽xmlns:context="http://www.springframework.org/schema/context"聽聽
  5. 聽聽聽聽聽聽聽xmlns:mvc="http://www.springframework.org/schema/mvc"聽聽聽
  6. 聽聽聽聽聽聽聽xmlns:tx="http://www.springframework.org/schema/tx"聽聽聽
  7. 聽聽聽聽聽聽聽xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"聽聽
  8. 聽聽聽聽聽聽聽xsi:schemaLocation="http://www.springframework.org/schema/aop聽聽聽
  9. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/aop/spring-aop-3.0.xsd聽聽聽
  10. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/beans聽聽聽
  11. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/beans/spring-beans-3.0.xsd聽聽聽
  12. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/context聽聽聽
  13. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/context/spring-context-3.0.xsd聽聽聽
  14. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/mvc聽聽聽
  15. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd聽聽聽
  16. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/tx聽聽聽
  17. 聽聽聽聽聽聽聽聽http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">聽聽
  18. 聽聽
  19. 聽聽聽聽<mvc:annotation-driven/>聽聽
  20. 聽聽聽聽<context:component-scanbase-package="liming.maven.example"/>聽聽
  21. 聽聽
  22. 聽聽聽聽<beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver">聽聽
  23. 聽聽聽聽聽聽聽聽<propertyname="prefix"value="/WEB-INF/views/"/>聽聽
  24. 聽聽聽聽聽聽聽聽<propertyname="suffix"value=".jsp"/>聽聽
  25. 聽聽聽聽</bean>聽聽
  26. 聽聽
  27. </beans>聽聽

4.3 缂栧啓涓€涓狢ontroller灞傛祴璇曠被

缂栧啓涓€涓猄pringMVC鐨凜ontroller灞傛祴璇曠被銆傛绫诲彧鏈変竴涓柟娉曞仛鍦板潃鏄犲皠锛屽苟鍚戦〉闈紶閫掍竴涓暟鎹€備唬鐮佸涓嬶細

Java浠g爜 聽浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)
  1. package聽liming.maven.example.view;聽聽
  2. 聽聽
  3. import聽org.springframework.stereotype.Controller;聽聽
  4. import聽org.springframework.ui.Model;聽聽
  5. import聽org.springframework.web.bind.annotation.RequestMapping;聽聽
  6. 聽聽
  7. @Controller聽聽
  8. publicclass聽GeneralController聽{聽聽
  9. 聽聽
  10. 聽聽聽聽@RequestMapping(value="index.do")聽聽
  11. 聽聽聽聽publicvoid聽index_jsp(Model聽model){聽聽
  12. 聽聽聽聽聽聽聽聽model.addAttribute("liming",聽"榛庢槑浣犲ソ");聽聽
  13. 聽聽聽聽聽聽聽聽System.out.println("index.jsp");聽聽
  14. 聽聽聽聽}聽聽
  15. }聽聽

4.4 缂栧啓index.jsp椤甸潰

棣栧厛鍦╯rc/main/webapp/WEB-INF涓嬪缓鏂囦欢澶箆iews銆傛澶勫拰dispatcher-servlet.xml閰嶇疆鏂囦欢涓殑prefix灞炴€ц矾寰勮涓€鏍枫€?/p>

鍦╲iews涓嬪缓index.jsp鏂囦欢

鎴戜滑浣跨敤jstl鑾峰彇Controlleradd鐨勬暟鎹€?/p>

Jsp椤甸潰浠g爜濡備笅锛?/p>

Html浠g爜 聽浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)
  1. <%@聽page聽language="java"contentType="text/html;聽charset=UTF-8"pageEncoding="UTF-8"%>聽聽
  2. <%@聽taglib聽prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>聽聽
  3. <!DOCTYPE聽html聽PUBLIC聽"-//W3C//DTD聽HTML聽4.01聽Transitional//EN"聽"http://www.w3.org/TR/html4/loose.dtd">聽聽
  4. <html>聽聽
  5. 聽聽聽聽<head>聽聽
  6. 聽聽聽聽聽聽聽聽<metahttp-equiv="Content-Type"content="text/html;聽charset=UTF-8">聽聽
  7. 聽聽聽聽聽聽聽聽<title>Insert聽title聽here</title>聽聽
  8. 聽聽聽聽</head>聽聽
  9. 聽聽聽聽聽聽
  10. 聽聽聽聽<body>聽聽
  11. 聽聽聽聽聽聽聽聽<c:outvalue="${liming}"></c:out>聽聽
  12. 聽聽聽聽</body>聽聽
  13. </html>聽聽

5锛屽彂甯冨埌tomcat

杩欎釜灏辨病鍟ヨ鐨勪簡銆?/p>

Eclipse涓婽omcat甯哥敤璁剧疆锛歨ttp://limingnihao.iteye.com/admin/blogs/825394

6锛屾祴璇?/h2>

璁块棶鍦板潃锛歨ttp://localhost:8080/liming.maven.example/index.do

璁块棶鐨勭粨鏋滄潵涓埅鍥撅細


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

浜屻€佸缓绔婦ynamic Web project杞垚Maven椤圭洰鏂规硶

7銆佺浜岀鏂规硶DynamicWeb椤圭洰杞垚Mavan

7.1 鏂板缓Dynamic Web Project

渚濇閫夋嫨閫夋嫨File -> New -> Other銆傚湪New绐楀彛涓€夋嫨Web涓嬬殑Dynamic Web Project銆傜偣鍑籲ext銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

7.2 閰嶇疆椤圭洰淇℃伅

7.2.1 杈撳叆椤圭洰淇℃伅

棣栧厛杈撳叆椤圭洰鍚嶇О銆?/p>

Target runtime 涓€鑸€夋嫨浣跨敤浠€涔堝鍣紝tomcat涔嬬被鐨勩€傚彲浠ュ厛涓嶉€夈€?/p>

Dynamic web module version銆傚氨鏄増鏈彿銆傞€夋嫨2.5锛?.0鏄疛ava7鐨勶級銆?/p>

Configuration 鏄€夋嫨瀹规槗鐨勯厤缃€傚鏋淭arget runtime閫夋嫨浜唗omcat銆傝繖閲屽搴斾篃鏄€夋嫨tomcat銆?/p>

Next銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

7.2.2 閰嶇疆source鍜宱utput鐨刦older

姝ょ獥鍙h緭鍏ラ渶瑕佸缓绔嬬殑Source folders銆傚拰榛樿output folder銆?/p>

杩欎釜鎴戜滑鐨凷ource folders绛夊缓绔嬪畬椤圭洰鍚庡湪娣诲姞銆?/p>

output folder鍙互椤烘墜鏀规垚target/classes銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

7.2.3 閰嶇疆web.xml鏂囦欢鐨勮矾寰?/h4>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

7.3 杞垚maven椤圭洰

Dynamic web椤圭洰寤虹珛瀹屽悗锛岄鍏堝皢鍏惰浆鎴恗aven椤圭洰銆?/p>

鍙抽敭姝ら」鐩紝閫夋嫨maven -> Enable Dependency Management銆傚脊鍑虹殑绐楀彛锛岀洿鎺inish灏卞彲浠ヤ簡銆?/p>


浣跨敤Eclipse鏋勫徐Maven鐨凷pingMVC椤圭洰(WTP鍙奧eb椤圭洰杞崲涓篗aven椤圭洰)

7.4 鍏朵粬閰嶇疆

鎺ヤ笅鏉ョ殑閰嶇疆宸ヤ綔灏卞拰鍓嶉潰鐨勫熀鏈竴鏍蜂簡銆?/p>

璇峰弬鑰冧笂闈€?/p>

2.1娣诲姞Source鏂囦欢澶?/p>

2.2鏇存敼class璺緞銆?/p>

2.3.3 閰嶇疆 Modify Faceted Project

2.4 璁剧疆閮ㄧ讲绋嬪簭闆?Web Deployment Assembly)

鎺ョ潃灏辨槸鏋勫缓SpringMVC妗嗘灦锛屽彂甯冨埌tomcat锛屾祴璇曘€?/p>