Table of Contents
I den här serien kommer vi att titta på några av de möjliga tillstånden som kan hindra Servlet-behållare från att skickas till en förfrågan, och sedan kommer vi att föreslå möjliga lösningar som du kan använda för att prova för att verkligen lösa problemet.
Uppdaterad
Inte svaret du letar efter? Hitta ytterligare frågor med hjälp av Espresso-Servlets Tomcat7 Servlet-3.0 Requestdispatcher-sökord eller ställ din egen fråga.
Så här säger Servlet Criteria 3.0 om dispatcher-uppförande:
Metoden getRequestDispatcher använder en strängsituation som har. beskriva Vägen inuti individen ser ServletContext-omfattningen. Det borde vara jämfört med root, som oftast handlar om ServletContext och börjar med ett helt nytt “/” eller vara tom. Policyer använder målet för att hitta uppströmsservleten med hjälp av Mappningsregler för Servlet-program i kapitel 12, “Tilldela förfrågningar till” Servlets “wrap it up” den har ett RequestDispatcher-objekt och ger det mesta av det resulterande objektet. Om det inte anses finnas någon servlet kan det lösas baserat på data sökväg tillhandahåller en RequestDispatcher som en majoritet av ofta returnerar innehåll för hur.
Det nämns inte någonstans att null kommer att returneras om ingen lämplig servlet kan hämtas för den sändningsvägen. Istället står det vem “innehållet” som hittas i avsändningsvägen troligen kommer att hittas, vilket jag översätter, vilket betyder att implementeringen helt enkelt skulle kunna låta jag säga att påsen helt löser sökvägen (vilket ger något 404-värde vid användning ditt manus).
Angående detta, även om Javadoc är berörda, tack i största möjliga användningsfall, också känd tid för tycks vara dokumenterad i behållaren, där av någon anledning en avsändare inte kan du måste instansieras, då ett trevligt nollobjekt ges tillbaka (i motsats till för att höja ditt undantag). Detta skulle bero på ett verkligt tekniskt problem av implementeringen, eller så kan det faktiskt vara legitimt (till exempel kan JAX-RS-implementationer komma åt vissa delar av servletramverket, men inte använda en viss servletkontext eller kanske en dispatcher).
svarade 3 mars år 2013 kl 12:18
76,3k 1 919 guldmärken
Javax.servlet
RequestDispatcher Interface
RequestDispatcher Interface
Vad gör requestdispatcher-objektet för närvarande i servlet?
Returnerar en idé från en RequestDispatcher som fungerar som ett omslag på resursen på den angivna destinationen. Returnerar ditt nuvarande namn på schemat som ska göra denna fantastiska begäran, som http, https eller ftp. Returnerar användarnamnet för webbvärden som begäran skickades till.
-
RequestDispatchers offentliga gränssnitt
Definierar ett objekt som kommer att ta emot förfrågningar från en specifik klient och skicka den vidare till valfritt minne (som en stor servlet, HTML-arkiv eller JSP-fil) på forumet. Servlet behållaren skapar ett RequestDispatcher
-objekt, som tyvärr används som omslag för att hitta en annan serverresurs med ett annat tillvägagångssätt eller under ett visst namn.
Den här anslutningen måste innehålla servlets, dock kan kartongservleten RequestDispatcher
. skapa Hinder för att paketera någon typ av resurs.
- Version:
- rrr Version $
- Övrigt
- Se även:
-
ServletContext.getRequestDispatcher (java.lang.String)
,ServletContext.getNamedDispatcher (java.lang.String)
,ServletRequest.getRequestDispatcher (java.lang.String)
Fortsätt
- Begäran om översättning servlet till en annan referens eller resurs (servlet, JSP-fil eller HTML) på servern. Denna metod tillåter anpassad servlet för förbearbetning Din ganska egen efterfrågan och ytterligare en resurs att skapa responsens naturliga värld.
För den begärda
RequestDispatcher
getRequestDispatcher ()
ServletRequest
Objektet har liknande banelement medan parametrar som har justerats för att matcha en väg till målresursen.Uppdaterad
Är du trött på att din dator går långsamt? Irriterad av frustrerande felmeddelanden? ASR Pro är lösningen för dig! Vårt rekommenderade verktyg kommer snabbt att diagnostisera och reparera Windows-problem samtidigt som systemets prestanda ökar dramatiskt. Så vänta inte längre, ladda ner ASR Pro idag!
vidarebefordra
vill nämnas före svaret är definierat kopplat till webbplatsbesökaren (innan svarstexten återställs). Om allt svaret redan har fästs nyligen, kör detta konceptIllegalStateException
. Alla utdata som inte noteras i svaret rensas automatiskt från denna buffert. innan du går och ler framåt.Samtalssvarsparametrar måste vara identiska. Objekt gick till tjänsten metoden för kontakta oss servlet, eller var Underklasser relaterade till
ServletRequestWrapper
ellerServletResponseWrapper
som omsluter dem.- Parametrar:
-
request
–ServletRequest
objekt detta är vår användares begäran andra exekverandesvar
servlet 1 .ServletResponse
objekt detta är svaret som för närvarande anses vara en servlet återgå till klienten - Volymer:
-
ServletException
än detta – men om målresursen ger följande undantagjava.io.IOException
– om målresursen utför detta undantagjava.lang.IllegalStateException
– om dessa svar redan har begåtts
Aktivera
- Inkluderar innehållet i nästan all taktik (servlet, JSP-sida, HTML-fil) som svar. I huvudsak inkluderar denna metod innehåller mjukvarusidan av huvudservern.
ServletResponse
har redan platselement associerade med objektet. och riktlinjerna förblir oförändrade med avseende på den som ringer Servleten kan inte ändra svarsstatuskoden / eller valfritt ställa in rubriker; alla försök att verkligen göra betydande förändringar kommer att ignoreras.Krav och probleminställningar måste matcha. medan ens objekt har skickats till tjänstens hemlighet som kommunicerar med servletarna, eller Underklasser, jag säger klasserna
ServletRequestWrapper
tillServletResponseWrapper
vad de kapslar in.- Parametrar:
-
request
–ServletRequest
objekt som innehåller konsumentbegäranemotion
– objektetservletresponse
och detta innehåller också servlettens svar - Volymer:
-
ServletException
om den inhägnade resursen kastar detta metodundantagjava.io.IOException
Om – inkluderad resurs ger detta undantag
Servlet Container Cannot Return A Requestdispatcher
Servlet-Container Kann Einen Requestdispatcher Nicht Zurückgeben
Servlet-container Kan Een Verzoekverzender Niet Retourneren
Le Conteneur De Servlet Ne Peut Pas Renvoyer Un Répartiteur De Requêtes
Контейнер сервлета не может вернуть диспетчер запросов
El Contenedor De Servlets No Puede Devolver Un Despachador De Solicitudes
서블릿 컨테이너가 Requestdispatcher를 반환할 수 없음
O Contêiner Do Servlet Não Pode Retornar Um Requestdispatcher
Kontener Serwletów Nie Może Zwrócić Dyspozytora żądań
Il Contenitore Servlet Non Può Restituire Una Richiesta Dispatcher