gpt4 book ai didi

Spring + Web MVC : dispatcher-servlet. xml 与 applicationContext.xml(加上共享安全性)

转载 作者:IT老高 更新时间:2023-10-28 13:01:37 26 4
gpt4 key购买 nike

dispatcher-servlet.xmlapplicationContext.xml 这两个上下文的正确使用方法是什么?什么去哪里?

我想编写一个部署在 servlet 容器中的相当典型的应用程序。它有一些带有 JSP View 的 Controller 。它在后端也有一些重要的逻辑。我真的需要这两种情况吗?它们是如何相互关联的?我怎样才能决定放什么?

另外,我想为我的应用程序使用 Spring-security。我可能想在 Web Controller 以及更深层中使用它的功能(例如带有注释的声明性安全性)。在这种情况下,我应该如何配置安全性?它应该在其中一个文件中(哪个?),还是两者都有?

最佳答案

dispatcher-servlet.xml 文件包含 Spring MVC 的所有配置。所以在其中你会找到诸如 ViewHandlerResolversConverterFactoriesInterceptors 等 bean。所有这些 bean 都是 Spring MVC 的一部分,它是一个框架,用于构建您处理 Web 请求的方式,提供有用的功能,例如数据绑定(bind)、 View 解析和请求映射。

在使用 Spring MVC 或任何其他框架时,可以选择包含 application-context.xml。这为您提供了一个容器,可用于配置其他类型的 spring bean,为数据持久性等提供支持。基本上,在这个配置文件中,你可以引入 Spring 提供的所有其他好东西。

这些配置文件在web.xml文件中配置如图:

调度程序配置

<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

应用程序配置

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/application-context.xml</param-value>
</context-param>

<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

要配置 Controller ,请使用 @Controller 注释它们,然后在 dispatcher-context.xml 文件中包含以下内容:

<mvc:annotation-driven/>
<context:component-scan base-package="package.with.controllers.**" />

关于Spring + Web MVC : dispatcher-servlet. xml 与 applicationContext.xml(加上共享安全性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16458754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com