当前位置: 首页 > 编程笔记 >

Spring中DispatcherServlet和ContextLoaderListener之间的区别

张光辉
2023-03-14
本文向大家介绍Spring中DispatcherServlet和ContextLoaderListener之间的区别,包括了Spring中DispatcherServlet和ContextLoaderListener之间的区别的使用技巧和注意事项,需要的朋友参考一下

ContextLoaderListener为Web应用程序创建根Web应用程序上下文,并将其放在ServletContext中。无论在控制器层中使用哪种技术(Struts或Spring MVC),都可以使用此上下文加载和卸载Spring管理的bean。

DispatcherServlet创建自己的WebApplicationContext,并且处理程序/控制器/视图解析器由该上下文管理。

序号 分派器 ContextLoaderListener
1
基本的
DispatcherServlet的任务 是将请求发送到特定的Spring MVC控制器 
ContextLoaderListener读取Spring配置文件(具有针对web.xml中的contextConfigLocation给出的值),对其进行解析并加载在该html" target="_blank">配置文件中定义的单例bean。因此,我们使用ContextLoaderListener初始化了Web应用程序,以便我们预先读取/解析/验证配置文件,并且每当我们能够注入依赖项时,我们都可以立即做到这一点而不会产生任何延迟
2
可选的
它是可选的。没有DispatcherServlet的Spring应用程序将无法生存
这是强制性的。Spring应用程序可以在没有ContextLoaderListner的情况下运行
3
容器
 DispatcherServlet创建自己的WebApplicationContext。处理程序/控制器/视图解析器由此上下文管理
应用程序上下文是由web.xml中定义的ContextLoaderListener初始化的容器
4
豆子
 特定于Web的bean(例如控制器)包含在DispatcherServlet的Web应用程序上下文中
诸如服务和DAO之类的常规bean在根Web应用程序上下文中出现了
 类似资料:
  • 我在这里有很多问题要解决。一直试图将上述3项技术集成到我们的WebApp中…我们要使用 null web.xml: 我的servlet-context.xml: My manager-context.xml: 编辑2 我认为主要的问题是SpringSecurity需要webapp上下文(ContextLoaderListener)才能工作,但web应用程序是在servlet上下文中运行的。控制器方

  • 问题内容: Spring支持两种不同的验证方法:Spring验证和JSR-303 bean验证。可以通过定义一个Spring验证程序来使用这两个验证程序,该验证程序委派给其他委托程序,包括bean验证程序。到目前为止,一切都很好。 但是,在注释方法以实际请求验证时,则是另一回事了。我可以这样注释 或像这样 在这里,@Valid是javax.validation.Valid,@ Validated是

  • 本文向大家介绍Spring Framework中applicationContext.xml和spring-servlet.xml之间的区别,包括了Spring Framework中applicationContext.xml和spring-servlet.xml之间的区别的使用技巧和注意事项,需要的朋友参考一下 Applicationcontext.xml-这是标准的Spring上下文文件,其中

  • 问题内容: 从Spring Boot还是Spring MVC开始。我已经读过一些东西,但是令人困惑,因为两者看上去很相似。 那么两者之间有什么区别? 问题答案: Spring MVC是一个完整的面向HTTP的MVC框架,该框架由Spring框架管理并基于Servlet。它相当于JavaEE堆栈中的JSF。其中最流行的元素是带有注释的类,你在其中实现可以使用不同的HTTP请求访问的方法。它等效于实现

  • 问题内容: 我遇到了Spring 3提供的两个注释(@Component和@Configuration),我对它们之间有些困惑。 这是我读到的有关@Component的内容 将此“ context:component”放入bean配置文件中,这意味着在Spring中启用自动扫描功能。基本包指示组件的存储位置,Spring将扫描此文件夹并找出Bean(用@Component注释)并将其注册在Spri

  • 本文向大家介绍Spring Java中Save和SaveAndFlush之间的区别,包括了Spring Java中Save和SaveAndFlush之间的区别的使用技巧和注意事项,需要的朋友参考一下 Save和saveAndFlush均可用于保存实体。它们都属于Spring数据库。保存可能会或可能不会立即将您的更改写入数据库。当我们调用saveAndFlush时,系统将强制您的模型状态与数据库进行