DispatcherServlet und web.xml im Frühjahr Starten
Ich versuche momentan, um meine Projekt von Java EE-Spring-Boot-Projekt.
Aber ich habe hier und verwirrt auf dem Teil mit dispatcher-servlet und web.xml und wie es scheint, web.xml wird nicht mehr gelesen wird, durch das Projekt mehr. Das aktuelle Projekt läuft auf tomcat 7.
In meinem web.xml
Datei, ich habe sehr viel servlet
, servlet-mapping
, filter
und filter mapping
ist und ich nicht wirklich verstehen, wie zu tun, die Zuordnung in der dispatcher.
Ich angehängt habe eine Probe meiner web.xml
unten und die version ist 2.5.
HTML:
<?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:
- Sollte ich konvertieren alle Sachen in meinem
web.xml
sich der Frühling dispatcher, wenn ja wie kann ich das erreichen? - Weg von der
web.xml
dem Weg zu gehen, für spring-boot-Projekt?
Kann jemand bitte leiten Sie mir hier entlang? Danke!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
pom.xml
. Der Weg zu gehen mit spring boot ist, verschieben Sie alle Ihre xml-Konfiguration web.xml etc zum Frühjahr starten die automatische Konfiguration + Ihre java-Konfiguration.Spring boot funktioniert sehr gut, wenn Sie alles tun, was in der java-Konfiguration und Folgen Sie seinen Auftraggebern. Aus meiner Erfahrung mit ihm, wenn Sie beginnen, Zusammenführen von XML-Konfiguration und das Erbe Frühling beginnt, brechen Sie die automatische Konfiguration Prozess und es ist viel besser, zu versuchen, so viel wie Sie können, um zu erfüllen die neue spring-boot-best practices.
web.xml
zu meinem@SpringBootApplication
Klasse?@SpringBootApplication
Klasse sauber. erstellen Sie ein neues Paket unter dem Paket von Ihrem@SpringBootApplication
genanntconfig
zum Beispiel, und erstellen Sie eine@Configuration
annotierten Klasse namensFiltersConfiguration
zum Beispiel, und starten Sie registrieren Sie Ihre Filter, da@Bean
annotierten Methoden. So ist Ihr code wird sauberer und leichter zu Lesen. Sie können mehr@Configuration
Klassen, wie gebraucht.Können Sie Ihre
web.xml
, aber es mussin
web.xml
. Und, erforderliche Abhängigkeit vonpom.xml
.Alle listener-Klassen, Filter wandelt in Java-Klasse. Diese Klasse wäre
@Configuration.
Wenn Sie einen interceptor, verschoben werden kann, um configuration-Klasse.
Spring-boot bevorzugen Anmerkungen über xml - basierte Konfigurationen, so dass in Ihrem Fall statt mit
web.xml
zum konfigurieren derservlet, servlet-mapping, filter
undfilter mapping
verwenden, können Sie annotation-basierte automatische Bohnen-Kreationen zu registrieren Bohnen.Dafür brauchen Sie :@Bean
Anmerkungen so, dass der Frühling-starten, wird automatisch nehmen Sie während der scan-Komponente.Referenz:
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html
@Configuration
oder@Component
annotation und erstellen bean vonFilterRegistrationBean
registrieren der filter.Sie können auch die Bohnen der filter selbst gibt es durch die mit @Bean-annotation.So entspricht zum Beispiel der folgende xml-basierte filter
Den Gegenwert auf Basis einer annotation werden:
web.xml
.Zum Beispiel :Web.xml
und in einer anderen Datei dispatcher.xml können Sie erstellen, die Bohnen als :
Beachten Sie, dass der Frühling
web.xml
wird in der Regel Leben insrc/main/webapp/WEB-INF
.Können Sie beziehen :
https://www.baeldung.com/register-servlet
Verbrachte einige Zeit so teilen sich drei Dinge, die ich daran zu machen, es funktioniert von der Kommandozeile aus.
HTML:
In mvc config-Datei
@- Konfiguration
public class MvcConfig erstreckt WebMvcConfigurerAdapter {
@Bean
öffentliche InternalResourceViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/Darstellung/");
resolver.setSuffix(".jsp");
zurück resolver;
}