栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【徒手搭建SSM开发环境五】集成Spring(下)——集成SpringWEB

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【徒手搭建SSM开发环境五】集成Spring(下)——集成SpringWEB

集成SpringWEB

在前边的章节中,对SpringIOC和SpringAOP的集成都是处于单元调试的层面,还不能优雅的在WEB容器中进行启动并使用,
此章内容对SpringWEB模块进行了集成,使得可以在项目中对SpringIOC和SpringAOP进行优雅的使用

1,添加SpringWEB相关依赖

 
        org.springframework
        spring-web
        5.1.12.RELEASE
    
2,刷新依赖,并检查artifact,具体操作查看《【徒手搭建SSM开发环境三】集成Spring(上)——集成SpringIOC》4-5部分内容,此处不再截图演示 3,在web.xml中添加servlet监听器,在servlet容器启动时,通过SpringWEB模块提供的 org.springframework.web.context.ContextLoaderListener监听器对SpringIOC容器进行初始化等操作

4,由于目前还未集成SpringMVC模块,因此请求只能继续使用servlet的方式。在之前的HelloServlet类中首先声明一个ProductController类型的属性, 然后在init方法中使用SpringWEB模块提供的WebApplicationContextUtils类的静态方法getWebApplicationContext获取到Spring上下文对象(SpringIOC容器) 然后通过SpringIOC容器中获取ProductController对象,并对HelloServlet类的ProductController类型属性进行初始化。最后在doGet方法中,直接通过HelloServlet类的 ProductController类型属性进行相关方法的调用

5,启动web容器,并通过浏览器访问:http://localhost:8080/ssmdemo/hello

开发工具控制台输出

由此结果可看出,SpringIOC以及SpringAOP已成功在web容器中运行。

至此SpringWEB模块已集成完毕,但是SpringWEB的集成只是优雅的解决了Spring的相关配置文件的加载和SpringIOC容器的初始化过程,但是在Servlet处理流程中,依然是需要通过获取Spring容器上下文对象(SpringIOC容器),然后再从Spring容器上下文对象中手动获取controller对象。这是因为项目在运行时,servlet对象是由Servlet容器产生并管理的,SpringIOC无法获得Servlet对象的管理权限,所以也就无法对Servlet对象的属性进行注入。这个问题SpringMVC进行了解决。SpringMVC通过中央请求控制器(Servlet)来统一处理请求,中央请求控制器(Servlet)在处理请求时,会根据请求路径去匹配查找对应的Controller处理对象及处理方法的描述信息,然后通过此描述信息从SpringIOC容器中获取Controller对象,并通过获取到的Controller对象调用对应的方法来处理请求。这样,整个WEB请求的调用流程就都可以十分优雅的实现。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659080.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号