SSM框架运行原理web.xml执行顺序

ssm框架:包括,springMVC  –  spring –  mybatis

springMVC  是基于MVC的框架

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


获取值得方式:

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




                </div>

ssm框架:包括,springMVC  –  spring –  mybatis

springMVC  是基于MVC的框架

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


获取值得方式:

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




                </div>

猜你喜欢

转载自blog.csdn.net/weixin_39805338/article/details/80855728
今日推荐