with run mvc index example create application java spring spring-boot tomcat7 web.xml

java - run - DispatcherServlet y web.xml en Spring Boot



spring boot project web (2)

  1. Sí, Spring Boot ya no retransmite en la configuración xml y configura un equivalente al servlet del despachador automáticamente. Puede seguir el siguiente enlace para ver cómo registrar sus filtros: ¿Cómo agregar una clase de filtro en Spring Boot?
  2. Si usa Maven y no Gradle, el único XML en su proyecto de arranque de primavera debe ser pom.xml . El camino a seguir con Spring Boot es mover toda su configuración XML, web.xml, etc. a la configuración automática de Spring Boot + su configuración de Java.

Spring Boot funciona muy bien cuando haces todo en la configuración de Java y sigues sus principios. Desde mi experiencia con él, cuando comienza a combinar la configuración XML y el resorte heredado, comienza a romper el proceso de configuración automática y es mucho mejor intentar todo lo que pueda para cumplir con las nuevas prácticas recomendadas de arranque con resorte.

Actualmente estoy tratando de mover mi proyecto de Java EE al proyecto Spring Boot. Sin embargo, me he quedado atascado y confundido en parte con el servlet de dispatcher y web.xml y parece que web.xml ya no está siendo leído por el proyecto. El proyecto actual se está ejecutando en Tomcat 7.

En mi archivo web.xml , tengo muchos servlet , servlet-mapping , filter y filter mapping y realmente no entiendo cómo hacer el mapeo en el despachador.

He adjuntado una muestra de mi web.xml continuación y la versión es 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>

Qns:

  1. ¿Debo convertir todas las cosas en mi web.xml para confiar en el despachador de resortes? Si es así, ¿cómo puedo lograrlo?
  2. ¿Se está alejando del web.xml el camino a seguir para el proyecto de arranque de primavera?

¿Alguien puede por favor guiarme aquí? ¡¡Gracias!!


  1. Puedes mantener tu web.xml , pero necesita agregar

    <listener> <listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class> </listener>

    en web.xml . Y, se requiere dependencia de pom.xml .

  2. Todas las clases de oyentes, filtros convertidos en clase Java. Esta clase sería @Configuration.

  3. Si tiene un interceptor que se puede mover a la clase de configuración.