Table of Contents
Den här guiden kommer att hjälpa dig när du ser Spring Dispatcher-servletens Java-konfiguration.
Återställ din dator till högsta prestanda på några minuter!
Läs mer om Spring-klassen, dispatcherservlet
, se till att det är ansvarsområden och hur du ställer in det med exempel.
Innehållsförteckning1. Vad är DispatcherServlet2. Hur det drar fördel av WebApplicationContext3. Konfiguration som stöds av DispatcherServlet XML4. Java-baserad DispatcherServlet-konfiguration5. Komponenter som stöder DispatcherServlet6. Demo av DispatcherServlet
1. Som ofta är en Spring Act Dispatch Servlet
Hur fungerar Dispatcher-servleten under våren?
När det gäller Spring MVC är DispatcherServlet den främre kontrollen. Uppgiften för DispatcherServlet är definitivt att omdirigera begäran till hela Spring MVC-kontrollern. Styrenheten skulle vara den huvudsakliga komponenten i Spring av det faktum som hanterar begäran.
dispatcherservlet
som en utomhusdispatcherEn catcher för webbapplikationer till stor del på Spring. Det tillhandahåller en procedur för PC-förfrågningar där det exakta arbetet görs via anpassade medan delegerade komponenter. Det måste läras från javax.servlet.http.HttpServlet, vanligtvis konfigurerat på web the.xml
.
Kan vi konfigurera flera dispatcherservlet när det kommer till Spring MVC?
Du kan ha många DispatcherServlets som du vill. I grund och botten måste du duplicera layouten och tillhandahålla en servlet med den speciella annorlunda specifikationen (annars skriver den över den föregående) och har fristående konfigurationsalternativ (eller xml-filer) för att göra det.
En webbsammanfattning kan ha valfritt antal DispatcherServlet
-instanser. Varje servlet arbetar i sin egen namnrymd och kör sin otroliga applikationskontext med hjälp av mappningar och hanterare som används för att hjälpa till. Den enda rotapplikationskontexten som laddas med hjälp av ContextLoaderListener, om någon, är hälsosam att dela. I de flesta fall har en programvara bara en DispatcherServlet
tillsammans med en ny kontextrot-URL (/)
vilket betyder att alla förfrågningar till den majoriteten av domänen alltid kommer att redigeras på den .< / p>
DispatcherServlet
använder Springs parametervarianter för att känna igen de delegeringsmekanismer som krävs för matchning av begäran, behörighetssökning, undantag från denna regelhantering och mer.
2. Hur använder följande WebApplicationContext
Var gör du egentligen definiera dispatcher-servlet i Spring-ramverket?
DispatcherServlet är den främre kontrollern för Spring webbapplikationer. Den används så att du kan köra webbapplikationer och REST-specialister för Spring MVC. I en populär Spring-webbapplikation kan denna servlet vara tillgänglig på webben. xml-fil.
Låt oss ta reda på hur dispatcherservleten i många fall kan användas internt. I ett Spring-baserat verktyg har våra applikationsobjekt varit i en container. Behållaren tenderar att skapa fysiska associationer mellan objekt och kan hålla hela deras livscykel. Dessa förvaringsobjekt kallas Spring-managed pinto beans (eller helt enkelt bönor), och behållaren råkar utan tvekan kallas i denna vårvärld som applikationsstrukturen (via klasserna ApplicationContext
).< /p>
WebApplicationContext
kommer att bli en enkel förlängning av ApplicationContext
. genuint en webbaktiverad ApplicationContext
vilket betyder att den återigen har information om servletramverket. När DispatcherServlet
laddas, blir denna typ av tillgänglig och initialiserar i allmänhet beans konfigurationsfil, inklusive WebApplicationContext
.
Genom att komma åt hur servletkontexten, kan alla Spring Bean implementera ServletConextAware
-gränssnittet förenkla tillgången till ServletContext
-instansen och göra en viss lott av saker med det. Till exempel kan den få strukturinitieringsvariabler, få kontextrotinformation och dessutom använda paps webbresurs locationok-appar.
3. DispatcherServlet XML-konfiguration
Återställ din dator till högsta prestanda på några minuter!
Körs din dator långsamt och visar ständigt fel? Har du funderat på att formatera om men har inte tid eller tålamod? Var inte rädd, kära vän! Svaret på alla dina datorproblem är här: ASR Pro. Denna fantastiska programvara kommer att reparera vanliga datorfel, skydda dig från filförlust, skadlig programvara, hårdvarufel och optimera din dator för maximal prestanda. Så länge du har det här programmet installerat på din maskin kan du kyssa de frustrerande och kostsamma tekniska problemen adjö!

Låt oss se hur en typisk DispatcherServlet
-deklaration samt ett initieringsschema ser ut.
I proceduren ovan innehåller dispatcher-servlet-context.xml
all information om kaffebönor och relationer som tillhandahålls med DispatcherServlet
. Dessa böndeklarationer åsidosätter förklaringarna för alla bönor som definieras med vanligtvis samma namn och som finns i detta specifika globala omfång. Till exempel. B
4. Java DispatcherServlet-konfiguration
Från och med Servlet 3.0 kan DispatcherServlet vara kontinuerligt programmatiskt i ytterligare deklarativ konfiguration, vanligtvis på en web.xml
-fil, genom att implementera ett utmärkt tillägg eller hänvisa till dessa tre inställda Spring-supportklasser, som utvecklad för att vara “
WebAppInitializer-gränssnitt
AbstractDispatcherServletInitializer
abstrakt klassAbstractAnnotationConfigDispatcherServletInitializer
klassrum < /li>
4.1. Exempel på webbapplikationsinitiering
I ofta följande klass ser
WebApplicationInitializer
till att dinApplicationInitializer
-klass lyssnas så att du avSpringServletContainerInitializer
(som verkar vara laddas automatiskt) och används som hjälper till att initiera de flesta av ett antal servletbehållare.public class ApplicationInitializer implementerar t [email protected]rossapublic void onStartup(ServletContext servletContext) kastar ServletExceptionXmlWebApplicationContext appContext = new XmlWebApplicationContext();appContext.setConfigLocation(“/WEB-INF/dispatcher-servlet-context.xml”);ServletRegistration.Dynamic Registration innebär servletContext.addServlet(“rootDispatcher”, new DispatcherServlet(appContext));Registration.setLoadOnStartup(1);Registration.addMapping(“/”); 4.2. 100 % Java-driven initiering
Public class ApplicationInitializer använder [email protected] upphävning vid start (ServletContext-behållare)// Skapa “Root” Springform-kontextAnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();rootContext.register(AppConfig.class);// Hantera livscykeln för rotanvändningskontextencontainer.addListener(new ContextLoaderListener(rootContext));// Skapa applikationskontexten för den viktigaste Spring dispatcher-servletenAnnotationConfigWebApplicationContext-DispatcherContext = new AnnotationConfigWebApplicationContext();DispatcherContext.register(DispatcherConfig.class);ServletRegistration.Dynamic Dispatcher = container.addServlet(“Dispatcher”,new DispatcherServlet(dispatcherContext));Dispatcher.setLoadOnStartup(1);Dispatcher.addMapping(“/”); I programvaran ovan är klasserna Spring
AppConfig
tillDispatcherConfig
baserade på hanterade pinto-bönor utformade för webbprogramvaruapplikationssammanhang.4.3. Exempel AbstractDispatcherServletInitializer
Detta är startklassen
WebApplicationInitializer
för att skapa implementeringar som köperDispatcherServlet
i den globala servletkontexten.Flockklassen ApplicationInitializer tillhandahåller [email protected] WebApplicationContext createRootApplicationContext()hoppa rakt tillbaka noll;@Krossaprotected WebApplicationContext createServletApplicationContext()XmlWebApplicationContext cxt = newXmlWebApplicationContext();cxt.setConfigLocation(“/WEB-INF/dispatcher-servlet-context.xml”);returnera sks;@Krossasäker sträng[] getServletMappings()return String[] modern “/”;//Spara [email protected] processfilter[] getServletFilters() Bounce omedelbart nytt Filter[] new HiddenHttpMethodFilter(), nytt förvärvat CharacterEncodingFilter(); Observera det faktum att om du behöver rikta in dig på
DispatcherServlet
kan du hoppa över allacreateDispatcherServlet()
-metoder.4.4. Exempel AbstractAnnotationConfigDispatcherServletInitializer
Denna grupp förlänger
Ladda ner programvaran för att fixa din PC genom att klicka här.AbstractDispatcherServletInitializer
och gör några obestridliga saker som du annars skulle kunna göra varje gång på egen hand. En ytterligare fördel är att du nu kanske vill använda våra kurser som tillhandahålls av våren helt enkelt., för att manuellt anpassa några bland-elementen.