SSM框架运行原理

article/2025/11/10 22:35:00

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





http://chatgpt.dhexx.cn/article/7Q8hSDw5.shtml

相关文章

SSM框架工作原理、作用及使用方法

作用&#xff1a; SSM框架是spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#xff0c;service层&#xff0c;DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业…

SSM框架原理,作用及使用方法

作用: SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业务对象管理,mybatis作为数据对象的持久化引擎 原理: SpringMVC: 1.客户…

SSM框架原理以及流程简略

SSM框架原理以及流程 Spring:spring实现业务对象管理,也是各个组件的粘合剂&#xff0c;可以很好的管理各层之间的框架。 SpringMvc:负责请求的转发和视图管理,springmvc是spring的模块之一&#xff0c;所有整合的时候基本上可以实现100%零配置。 mybatis&#xff1a;作为数据…

SSM三大框架的运行流程、原理、核心技术详解!

一、Spring部分 1、Spring的运行流程 第一步&#xff1a;加载配置文件ApplicationContext ac new ClassPathXmlApplicationContext("beans.xml");&#xff0c;ApplicationContext接口&#xff0c;它由BeanFactory接口派生而来&#xff0c;因而提供了BeanFactory所…

深入浅出SSM框架流程以及原理

前言:学ssm框架已经有很长时间,今天来复习一下 SSM图示流程: Spring核心:Java反射 Mybatis:动态代理,而动态代理又是基于反射的,所以,ssm框架核心原理在反射。 (1)Spring(对象工厂): 平时开发接触最多的估计就是这个IOC容器,它可以装载bean(也就是Java中的类,…

SSM框架原理以及流程

SSM框架原理以及流程 一&#xff1a;原理二&#xff1a;开发流程1.新建maven项目2.配置整合文件2.1 配置pom.xml文件---引入依赖2.2 配置web.xml文件2.3 配置springmvc2.4 配置mybatis 3.java代码---测试 一&#xff1a;原理 1.springmvc&#xff1a; 1&#xff09;.客户端发送…

SSM框架架构,原理及整合流程(eclipse)

SSM框架整合 一.SSM框架1.1SSM四个分层架构的作用与联系1.2 SSM框架原理 二.SSM框架整合流程2.1SSM框架整合后完成一个功能的步骤 一.SSM框架 SSM&#xff1a;spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为view层…

SSM框架的原理和运行流程

SSM框架的工作原理及运行流程 SSM框架简介SpringMVCSpringMybatis参考文章 SSM框架简介 SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架集由Spring、MyBatis两个开源框架整合而成&#xff08;SpringMVC是Spring中的部分内容&#xff09;。SSM常作为数据源较简单的web…

完全二叉树与满二叉树的区别+计算二叉树深度

1、完全二叉树与满二叉树的区别&#xff1a; 满二叉树&#xff1a;深度为k且有2^k-1个结点的二叉树称为满二叉树。 完全二叉树&#xff1a;设二叉树的深度为h&#xff0c;除第 h 层外&#xff0c;其它各层 (1&#xff5e;h-1) 的结点数都达到最大个数&#xff0c;第 h 层所有…

数据结构—二叉树深度优先遍历

二叉树是一种常见的数据结构&#xff0c;理解二叉树对于理解AVL树、红黑树都有重要意义&#xff0c;索性再重新梳理一下思路&#xff0c;加深印象。本文重点介绍二叉查找树。 1.二叉树与二叉查找树 二叉树&#xff08;binary tree&#xff09;是树的一种特殊形式&#xff0c;…

4.13每日一题之二叉树深度(洛谷c++)|dfs遍历树

&#x1f344;前言 大家好哇&#xff0c;我是一勺黑猫。今天是每日一题的第十三天&#xff0c;欢迎更多小伙伴加入到我们的打卡计划中&#xff0c;希望和你们在学习算法的路上一起进步~ &#x1f64e;作者简介&#xff1a;一个正在努力学算法和后端的大三girl ⏳每日一题打卡地…

二叉树深度优先搜索算法

题目&#xff1a; 输入一颗二叉树和一个整数&#xff0c;打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思路分析&#xff1a; 是图形相关的算法。首先考虑解决图形相关的广度搜索优先算法就是深度搜…

leetcode104---求二叉树深度

leetcode104—求二叉树深度 给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 思路 对于二叉树深度问题&#xff0c;深度为左右子树深度最大值加1 depth max(left_depth, right_depth)1二叉树问题考虑递归方法&…

二叉树深度优先遍历-递归实现

二叉树深度优先遍历的递归实现 一、深度优先遍历二、先序遍历1.算法思路2.代码实现 三、中序遍历1.算法思路2.代码实现 四、后序遍历1.算法思路2.代码实现 一、深度优先遍历 对每一个可能的分支路径深入到不能再深入为止&#xff0c;而且每个结点只能访问一次。 要特别注意的是…

二叉树深度和高度_二叉树的高度和深度

二叉树深度和高度 In this tutorial, we will learn how to find height and depth of binary tree with program implementation in C++. It is one of the most commonly used non-linear data structures. We will learn about: 在本教程中,我们将学习如何使用C ++中的程序…

【数据结构】计算二叉树深度完整C语言代码

【数据结构】二叉树深度的计算 二叉树的深度计算完整代码展示程序结果 二叉树的深度计算 我们先看一个深度为3的二叉树。想求得此二叉树深度&#xff0c;先计算左孩子深度&#xff0c;再计算右孩子深度&#xff0c;比较得出最大值&#xff0c;即二叉树深度。 通过先序序列键盘…

Golang 二叉树系列【二叉树深度】

题目 输入一棵二叉树的根节点&#xff0c;求该树的深度。从根节点到叶节点依次经过的节点&#xff08;含根、叶节点&#xff09;形成树的一条路径&#xff0c;最长路径的长度为树的深度。 题目示例 例如&#xff1a; 给定二叉树 [3,9,20,null,null,15,7] 3/ \9 20/ \15 …

二叉树深度优先遍历解题思路

文章目录 1.二叉树深度优先遍历解题思路1.1.三种深度优先遍历的方式1.2.深度优先遍历的启示1.2.1.递归形成条件1.2.2递归过程的实际工作顺序1.2.2.1.单路递归的实际工作顺序1.2.2.2. 双路递归的实际工作顺序 1.2.3.三种深度优先遍历给我们的启示是什么&#xff1f; 1.3.深度优先…

[剑指Offer]-二叉树的深度

题目描述&#xff08;一&#xff09; 输入一棵二叉树的根结点&#xff0c;求该树的深度。从根结点到叶结点依次经过的结点&#xff08;含根、叶结点&#xff09;形成树的一条路径&#xff0c;最长路径的长度为树的深度。例如下图中的二叉树的深度为4&#xff0c;因为它从根结点…

二叉树的高度和深度定义、回溯(个人学习记录)

1.二叉树的高度和深度定义 &#xff08;对某个节点来说&#xff09;深度是指从根节点到该节点的最长简单路径边的条数&#xff1b;高度是指从最下面的叶子节点到该节点的最长简单路径边的条数&#xff1b; &#xff08;对二叉树&#xff09;深度是从根节点数到它的叶节点&…