gpt4 book ai didi

java - Spring Boot 中的 DispatcherServlet 和 web.xml

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

我目前正在尝试将我的项目从 Java EE 迁移到 Spring Boot 项目。但是,我一直对调度程序 servlet 和 web.xml 感到困惑和困惑,并且似乎 web.xml 不再被项目读取。当前项目在tomcat 7上运行。

在我的 web.xml 文件中,我有很多 servletservlet-mappingfilter过滤器映射,我真的不明白如何在调度程序中进行映射。

我在下面附上了我的 web.xml 示例,版本是 2.5。

<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>displayName</display-name>
<description>description</description>
<resource-ref>
...
</resource-ref>
<filter>
<filter-name>Some Filter Name</filter-name>
<filter-class>Some Filter Class</filter-class>
<init-param>
<param-name>Some Param Name</param-name>
<param-value>Some Value</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Some Filter Name</filter-name>
<url-pattern>Some url-pattern</url-pattern>
</filter-mapping>
<context-param>
<param-name>Some Param Name</param-name>
<param-value>Some Param Value</param-value>
</context-param>
<servlet>
<servlet-name>Some Servlet Name</servlet-name>
<servlet-class>Some Servlet Class</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Some Servlet Name</servlet-name>
<url-pattern>Some Url Pattern</url-pattern>
</servlet-mapping>
</web-app>

问题:

  1. 我是否应该将我的 web.xml 中的所有内容都转换为依赖 spring 调度程序,如果可以,我该如何实现?
  2. 远离 web.xml 是否适合 Spring Boot 项目?

有人可以在这里指导我吗?谢谢!!

最佳答案

  1. 是的,spring boot 不再依赖 xml 配置,它自动配置了一个等效于 dispatcher servlet。您可以点击以下链接查看如何注册您的过滤器:How to add a filter class in Spring Boot?
  2. 如果你使用 maven 而不是 gradle,那么你的 spring boot 项目中唯一的 XML 应该是 pom.xml。使用 Spring Boot 的方法是将所有 xml 配置、web.xml 等移动到 Spring Boot 的自动配置 + 你的 Java 配置。

当您在 java 配置中执行所有操作并遵循其原则时,Spring boot 非常有效。根据我的经验,当您开始合并 XML 配置和旧 Spring 时,它会开始破坏自动配置过程,最好尽可能多地尝试遵守新的 Spring Boot 最佳实践。

关于java - Spring Boot 中的 DispatcherServlet 和 web.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43225549/

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