昨天學習了Spring,知道裡面有兩個重要的内容,IoC和AOP。但更重要的是,Spring是一個MVC架構,如何應用在Web上呢?
是以今天又看了下Spring MVC。按照網上教程一步一步來,搞得很崩潰。記錄心得如下:
一、建立WEB項目
eclipse下,new -> Project… -> Web -> Dynamic Web Project。
記得在最後一步,勾上”Generate web.xml deployment descriptor”,以自動生成web.xml。
二、添加servlet、監聽
剛生成的Web項目,目錄大緻是:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNzgjM1QTZhJWZjRGMlljZyYzX2UTO1MTM1EzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
其中WebContent目錄即為網站内容。在裡面添加一個test.html,Run as Server 到tomcat,通過
http://localhost:8080/test/test.html
即可通路到這個頁面。
但加上相關servlet之後,情況就發生了變化了。我按照教程的步驟,添加的servlet,會将*.html的請求位址,引導到jsp裡面去。裡面的原理現在還無暇顧及,留待日後再學習。
三、運作
在Eclipse中運作web,當然是Run as Server。要求本機安裝Web伺服器,我裝的是Tomcat 7.0。
結果出來的顯示,404錯誤,通路不到什麼内容。
折騰了好久,不知所謂。後來看了tomcat的控制台輸出,提示找不到 “org.springframework.web.servlet.DispatcherServlet”,我靠我明明引用了spring mvc的各種jar包的。
又折騰了一陣,估計是這些包在運作時沒有釋出到tomcat,即那個“Web INF/lib”檔案夾裡面去。怎麼辦呢,這樣:
點Web項目,右鍵屬性,Deployment Assemply
将我們在開發階段引入的jar包,統統加進去。
運作,正常了啊!