侧边栏壁纸
  • 累计撰写 93 篇文章
  • 累计创建 85 个标签
  • 累计收到 9 条评论

spring系列笔记 - 第二十二章 Spring整合MVC框架

bearjun
2021-07-20 / 0 评论 / 0 点赞 / 435 阅读 / 1,813 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2021-07-20,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

环境配置

引入相关的依赖

为什么要整合MVC

  1. MVC框架提供了控制器(Controller)调用Service
  2. 请求响应的处理
  3. 接受请求参数 requset.getParameter("xx")
  4. 控制程序的运行流程
  5. 试图解析JSPJSONFreemarkerThymeleaf

spring可以整合哪些MVC框架

  1. ~~ struts1 ~~
  2. ~~ webwork ~~
  3. ~~ jsf ~~
  4. struts2
  5. springMVC

Spring整合MVC的核心思路

问题1:Web开发过程中如何创建工厂
ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");[spring环境]
ApplicationContext ctx = new WebXmlApplicationContext("xx");[web环境]

问题2:如何保证工厂唯一且被共用
共用:工厂存储在ServletContext这个作用域中,ServletContext.setAttritube("xxxx",ctx);
唯一:ServletContext对象创建的同时执行上述的创建工厂的方法。
ServletContextlistener在Servlet对象创建的同时,被调用(只会被调用一次),把创建Servlet工厂的代码,写在ServletContextListener中,也会只调用一次,最终工厂就保证了唯一性

总结:
在开发和创建工厂的过程中,既要创建工厂又要保证工厂的唯一和被大家所共用。
Spring中封装了ContextLoaderListener可以执行(即创建工厂,也保存工厂,确保唯一):
ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
ServletContext.setAttritube("xxxx",ctx);

Spring开发过程中多配置文件的处理

spring会根据需要,把配置信息分门别类的放置在多个配置文件中,便于后续的管理和维护。

*** 注意:虽然提供了多个配置文件,单是后续的应用过程中,还需要进行整合。***

  • 通配符方式
1、非web环境
	ApplicationContext ctx = new ClassPathXmlApplicationContext("/applcationContext-*.xml");
2、web环境
    <context-param>
        <param-name>contextCOnfigLication</param-name>
        <param-name>classpath:applicationContext-*.xml</param-name>
    </context-param>
  • <import />标签
applicationContext.xml的目的 整合其他的配置内容
<import rescource="applicationContext-dao.xml"/>
<import rescource="applicationContext-service.xml"/>
<import rescource="applicationContext-controller.xml"/>

1、非web环境
	ApplicationContext ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
2、web环境
   <context-param>
        <param-name>contextCOnfigLication</param-name>
        <param-name>classpath:applicationContext.xml</param-name>
    </context-param>
0

评论区