ssm框架下的javaweb项目的运行流程

本文详细介绍了SSM框架(Spring、SpringMVC、MyBatis)在Tomcat中的运行流程。从Tomcat识别servlet开始,讲解了web.xml配置、启动类反射执行、Controller及RequestMapping注解的处理,再到DispatcherServlet如何根据URL路径找到对应方法并执行,最后返回响应给前端的过程。
摘要由CSDN通过智能技术生成

前言:tomcat 诞生时间比框架早,因此tomcat只识别servlet,所以tomcat不能直接与controller交互。

启动

  1. 在web.xml中声明启动类,tomcat会通过web.xml来定位要启动的类,首先在web.xml中进行注册,实质上注册的时候启动类。
  2. 在tomcat启动之后,tomcat会通过dom操作读取xml配置文件(Java读取xml配置文件就是dom操作)
  3. 通过dom操作获取框架启动类的路径。
  4. 通过反射拿到启动类的实例,然后通过代理调用主方法,由此触发框架自定义类的启动。
  5. 当自定义类启动之后,会扫描根目录下的子文件,把java文件都会筛选出来
  6. 筛选之后通过路径进行反射,反射之后通过反射信息看哪些带有自定义的@controller注解。
  7. 把带有注解的类挑选出来之后,再去挑选带有注解的方法。把带有@requestmapping的方法挑选出来。
  8. 挑选出来之后挑选出来注解里面的路径值。把路径值作为Key,方法的实例作为value存到HashMap中。(启动完毕)

atcherServlet会把内部路径提取出来,这个内部路径就是controller里面resquesemapping里的路径,当拿到这个路径之后会从HashMap里匹配,拿到对应的方法实例,用java的代理去执行,就是invoke方法。invoke有三个参数(要执行的方法所属的对象实例,方法实例,入参(通过httpresquest里获得))。

  1. 启动完成后等待前端请求,当前端发送请
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值