Bonjour,

j'ai une petite question sur la récupération de la session dans ma webapp (Spring 3.0.6.RELEASE).


Pour récupérer la session dans certaines couches de l'application, j'utilise ce bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
		RequestAttributes ra = RequestContextHolder.currentRequestAttributes();
 
		HttpServletRequest curRequest =
					((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
 
		HttpSession session = curRequest.getSession();
J'ai modifié mon web.xml pour lui ajouter le listener RequestContextListener, en plus du ContextLoaderListener qui était déjà présent :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<!-- Spring start context Listener -->
	<listener>
		<display-name>spring context loader</display-name>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
 
 
	<listener>
	    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
	</listener>
La question que je me pose c'est si propre de faire comme ça ?
Sachant que c'est une application qui est basée sur GWT. Dans la couche GWT, on hérite de com.google.gwt.user.server.rpc.RemoteServiceServlet, ce qui nous permet aussi d'utiliser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(config
				.getServletContext());
pour récupérer la session.