springMVC學習(一)簡介
SpringMVC是Spring家族的一員,Spring是將現在開發中流行的元件進行組合而成的一個框架!它用在
springmvc+spring整合的時候,會有父子容器的概念!父容器就是ioc容器,啟動tomcat就會被web.xml中的那個監聽器監聽到,立馬就會建立ioc容器,裡面放的是service,dao,以及其他的各種bean;這裡的子容器是springmvc的容器,裡裡面放著web層的所有元件,處理器對映器,處理器介面卡,檢視解析器,controller等;由於父容器先建立,子容器後建立。所以父容器的引用會儲存在子容器一份,所以可以通過子容器獲取父容器的例項,然後再獲取其中的bean
首先匯入開發包
前5個是Spring的核心功能包【IOC】,第6個是關於web的包,第7個是SpringMVC包
-
org.springframework.spring-context-5.2.5.RELEASE.jar
-
org.springframework.spring-expression-5.2.5.RELEASE.jar
-
org.springframework.spring-core-5.2.5.RELEASE.jar
-
org.springframework.spring-beans-5.2.5.RELEASE.jar
-
commons-logging.jar
-
org.springframework.spring-web-5.2.5.RELEASE.jar
-
org.springframework.spring-webmvc-5.2.5.RELEASE.jar
步驟
編寫Action類
Action類實現Controller介面和 handleRequest方法,Action類必須註冊到IOC容器中
ModelAndView是將我們的檢視路徑和資料封裝起來而已【我們想要跳轉到哪,把什麼資料存到request域中,設定這個物件的屬性就行了】
public class HelloAction implements Controller {
註冊核心控制器
在web.xml中配置核心控制器
<web-app>
<!-- 註冊springmvc框架核心控制器 -->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--到類目錄下尋找我們的配置檔案applicationContext.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<!--對映的路徑為.action,即url的字尾為 action-->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<!--編碼過濾器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<!--過濾所有請求-->
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
建立SpringMVC控制器
在applicationContext.xml建立SpringMVC的控制器
<!--
註冊控制器
name屬性的值表示的是請求的路徑【也就是說,當用戶請求到/hello.Action時,就交由HelloAction類進行處理】
-->
<bean class="action.HelloAction" name="/hello.action"/>