Wie man Client-IP-Adresse in Spring-bean
Ich haben definieren einer Spring bean.
<beans>
<bean id="remoteService" class="edu.wustl.catissuecore.CaTissueApplictionServicImpl" />
</beans>
Gibt es eine Möglichkeit, um die IP-Adresse des Clients in dieser Klasse? Ähnlich wie in der servlet -request.getRemoteAddr()
;
1.) Ist das eine webapp oder nur ein paar zufällige Frühlings-app? 2.) Es ist toll, dass edu.wustl.catissuecore.CaTissueApplictionServicImpl (oder reg.nih.nci.system.comm.server.ApplicationServiceServerImpl?) nicht implementieren AbstractController... aber was es umzusetzen? Wenn es nicht der controller selbst, ist es ein Controller 'oben' das, dass passieren kann dies in dieser Klasse? 3.) Die Spring-Konfiguration für die Klasse schon gepostet wurde, in der wichtigsten Frage - Sie brauchen, um post code, oder zumindest beschreiben, die Vererbungshierarchie und was andere Bohnen Ihre Klasse mit der er interagiert.
InformationsquelleAutor | 2009-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die einfachste (und hässlichste) Ansatz ist die Verwendung von
RequestContextHolder
:Ohne zu wissen, mehr über Ihre Bohne und wie es verdrahtet, das ist die beste, die ich vorschlagen kann. Wenn Ihr bean ist ein controller (entweder Unterklassen
AbstractController
oder kommentiert mit@Controller
) dann sollte es in der Lage sein, direkten Zugriff auf das request-Objekt.Ich bin mit meinem code auf localhost und später auf der server-Seite. Server-Seite seine Arbeit perfekt. Aber localhost ist zurück
0:0:0:0:0:0:0:1
und sogar mitgetLocalAddr()
"es sollte in der Lage sein, direkten Zugriff auf das request Objekt" - was bedeutet das?
InformationsquelleAutor skaffman
Der beste Weg, um client-ip ist, um eine Schleife durch die Header
InformationsquelleAutor syed
Konstruieren:
und verwenden, wie diese:
InformationsquelleAutor Ümit Çakır