SSM框架运行原理

sm框架:包括,springMVC  --  spring --  mybatis

springMVC  是基于MVC的框架

属于MVC框架的还有:Struts1 Struts2 SpringMVC

获取值得方式:

Struts1 actionForm(javabean中继承)

Struts2 通过 set get  方法

SpringMVC  参数获取    (直接获取,eg:list(String name)

核心:

扫描二维码关注公众号,回复: 4633513 查看本文章

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 这个接口,在web.xml 配置这个监听器,启动容器时,就会默认执行它实现的方法。在ContextLoaderListener 中关联了ContextLoader 这个类,所以整个加载配置过程由ContextLoader 来完成

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解析视图,匹配相应的页面实现页面跳转

猜你喜欢

转载自blog.csdn.net/hai330/article/details/81740418