Spring 3.0 nicht vorwärts Anfrage von HandlerInterceptorAdapter
Ich will redirect zur Startseite, wenn session-unwirksam sein.
Meine spring-servlet.xml ist
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<mvc:interceptor>
<mvc:mapping path="/**" />
<bean class="com.xxx.MyInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
Interceptor :
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
if ((null == request.getSession(false))
|| (null == request.getSession(false).getAttribute(
"user"))) {
System.out.println("user logged out...");
RequestDispatcher rd = request.getRequestDispatcher("loginForm.htm");
rd.forward(request, response);
return false;
}
return super.preHandle(request, response, handler);
}
Aber es funktioniert nicht...
Wenn Anwendung gestartet, wird die Nachricht gedruckt werden mehrere Male und am Ende gibt es stack overflow..
Danke.
InformationsquelleAutor Naresh J | 2012-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es scheint, das problem ist in deinem mapping-Pfad. Seit seiner zugeordnet
/**
Ihre loginForm.htm ist auch immer abgefangen. Sie haben zwei Lösungen um dieses problem zu beheben.Entweder definieren
<mvc:resources location="/resources/" mapping="/resources/**" />
so, dass die *.htm-Anfragen nicht abgefangen werden. Ersetzen Sie die Lage und mapping-Werte wie pro Ihre Pfad, wo die *.htm-Dateien sind.Und eine weitere Möglichkeit ist die änderung der Zuordnung in intercepter mit so etwas wie
/*.do
oder etwas anderes.Hoffe, dies hilft Ihnen. Cheers.
Das ist das, was ich habe versucht zu erklären, da alle Ihre Anfrage Zuordnungen enden mit *.htm sind Sie immer in einer Endlosschleife. Es muss eine gewisse Ausgrenzung aus diesem Muster andere weisen, dein problem wird bestehen bleiben. 🙂
Thankx für die Richtung... problem Gelöst durch ändern LoginForm.htm zu LoginForm.tun und interceptor Zuordnung von "/**" , "/*.htm"..
Erfreut zu hören, dass. 🙂
InformationsquelleAutor Japan Trivedi