SSM框架執行原理以及流程
ssm框架:包括,springMVC -- spring -- mybatis
springMVC 是基於MVC的框架
屬於MVC框架的還有:Struts1 Struts2SpringMVC
獲取值得方式:
Struts1 actionForm(javabean中繼承)
Struts2 通過 set get 方法
SpringMVC 引數獲取 (直接獲取,eg:list(String name))
核心:
Struts1actionServlet單例
Struts2 filterdispatcher多例
SpringMVC dispatcherServlet單例
SpringMVC:
核心控制器:DispatcherServlet
請求解析器:HandlerMapping
結果解析器:ModelAndView
檢視解析器:ViewResolver
SSM專案服務啟動:
專案進入web.xml
ssm框架 中web.xml執行順序
1.<!--spring 的監聽器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
2<!-- spring 主配置檔案的 路徑 和名字 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>
.在啟動Web 容器時,自動裝配Spring applicationContext.xml 的配置資訊。(先執行spring的監聽器,
因為它實現了ServletContextListener
spring 在 web 下的入口在配置檔案 web.xml 的監聽器中
)
3<!-- 過濾器 編碼格式 -->
<filter>
<filter-name>Encoding</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>Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4<!-- springMVC的核心控制 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 自定義springMVC。xml 的路徑 和 名字 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
執行流程:
1.jsp(view)傳送請求
2.通過核心控制器DispatcherServlet呼叫請求解析器:HandlendMapping對請求進行解析,通過對映關係匹配到Controller層
3.在控制層呼叫業務邏輯層(service),資料持久層(DAO)返回控制層,請求完成獲取一個結果,設定一個要跳轉的檢視,(ModelAndView裝載並傳輸資料,設定檢視)
4.核心控制器呼叫 檢視解析器:ViewResolver解析檢視,匹配相應的頁面實現頁面跳轉