1、MVC如何实例化控制器?
程序员文章站
2022-07-02 13:14:19
我们知道MVC请求进来,然后路由匹配,然后找到控制器和Action,最后会调用Action方法,但是大家想想控制器是个普通的类,Action是个普通的实例方法,要想调用Action必须先实例化控制器,那么MVC中如何实例化控制器的呢? 1、MVC请求进来会先进入到UrlRoutingHandler里 ......
我们知道mvc请求进来,然后路由匹配,然后找到控制器和action,最后会调用action方法,但是大家想想控制器是个普通的类,action是个普通的实例方法,要想调用action必须先实例化控制器,那么mvc中如何实例化控制器的呢?
1、mvc请求进来会先进入到urlroutinghandler里的processrequest
2、然后进入到mvchandler里的processrequest
3、mvchandler里的processrequestinit,在这里面实例化控制器
1、string requiredstring = this.requestcontext.routedata.getrequiredstring("controller");路由匹配之后产生的结果集routedata,得到requiredstring字符串,requiredstring是个完整类型名称
2、controllerbuilder.getcontrollerfactory();得到默认的控制工厂defaultcontrollerfactory,然后通过defaultcontrollerfactory的createcontroller方法利用反射去创建controller实例
推荐阅读
-
Python如何实现MySQL实例初始化详解
-
ThinkPHP6源码:从Http类的实例化看依赖注入是如何实现的
-
Java Spring WEB应用实例化如何实现
-
JSP使用Servlet作为控制器实现MVC模式实例详解
-
从酷派改变者S1,看手机厂商如何走出同质化怪圈
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第22章:反射应用案例:课时101:反射实例化对象
-
flex如何通过类名称实例化对象
-
手绘稿如何1秒变身数据大屏?深度学习让人人成为可视化专家 spring阿里巴巴中间件配置管理
-
实例化php类的时候如何传参
-
Asp.Mvc 2.0用户登录实例讲解---(1)用户注册