尚硅谷3-MVC

review:
1.Servlet生命周期中的初始化方法init(),init(config)
public void init(ServletConfig config) throws ServletException {
this.config = config;
this.init();
}
因此,如果需要在初始化时执行一些自定义操作,那么可以重写无参的init方法。
可以通过getConfig()获取ServletConfig对象
通过config.getInitParameter()获取初始化参数

2.通过ServletContext获取配置的上下文参数

3.MVC
V:View视图
C:Controller控制器
M:Model模型:数据访问模型(DAO);业务逻辑模型(BO);值对象模型(POJO);数据传输对象(DTO)

4.IOC
IOC - 控制反转 / DI - 依赖注入
控制反转:
1)之前在Servlet中,我们创建service对象,FruitService fruitService = new FruitServiceImpl();
这句话如果出现在servlet中的某个方法内部,那么这个fruitService的作用域(生命周期)应该就是这个方法级别;
如果出现在Servlet的类中,也就是说fruitService是一个成员变量,那么这个fruitService的作用域(生命周期)应该就是这个servlet实例级别
2)之后我们在applicationContext.xml中定义了这个fruitService,然后通过解析XML,产生fruitService实例,存放在beanMap中,
beanMap用BeanFactory创建,因此我们(改变)转移了之前的service实例、dao实例等等。它们的生命周期,
控制权从程序员转移到BeanFactory,这个现象称作控制反转

依赖注入:
1)之前我们在控制层出现代码:FruitService fruitService = new FruitServiceImpl();
那么,控制层和service层存在耦合
2)之后,我们将代码修改成FruitService fruitService = null;
然后,在配置文件中配置:


今日内容:

1.过滤器Filter
1)Filter也属于Servlet规范
2)Filter开发步骤:
~1新建类实现Filter接口,然后实现其中的三个方法:init、doFilter、destory
~2配置Filter,可以用注解@WebFilter("/Demo01.do"),或者使用xml文件
3)Filter在配置时,和servlet一样,也可以配置通配符,例如@WebFilter("*.do")表示拦截所有以.do结尾的请求
4)过滤器链 类似的有拦截器链
~1执行的顺序依次是:A B C demo03 C2 B2 A2
~2如果采取的是注解的方式进行配置,那么过滤器链的拦截顺序是按照全类名的先后顺序排序的
~3如果采取的是xml的方式进行配置,那么按照配置的先后顺序进行排序

2.事务管理(transActionManager、ThreadLocal、OpenSessionInViewFilter)
3.监听器(Listener、ContextLoaderListener)

posted @   亜光君  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示