leobaz2
asked on
Spring\Struts2 HttpServletRequest injection?
I am planning on integrating my Struts2 application with Spring's IoC container. The only thing that is stopping me is that I can't seem to find out how to inject the HttpServletRequest, HttpServletResponse, and HttpSession into a bean with servlet or request scope. Is this even possible?
Don't think you can, why do u need to?
ASKER
Some of my beans are going to be adding cookies and looking at the request and response. I don't want to have to pass the request and response to the beans as method parameters. Here is what I was thinking of doing:
I'll have a request scoped bean called something like MyWebContext that has setters for the request and response. I'll have a struts2 intercepter that will get the bean from the Spring IoC and then set the request and responses. When the other beans need the request or reponse, I will use DI to get MyWebContext and call the appropriate getter. I think this is the best and easiest way to do it.
I'll have a request scoped bean called something like MyWebContext that has setters for the request and response. I'll have a struts2 intercepter that will get the bean from the Spring IoC and then set the request and responses. When the other beans need the request or reponse, I will use DI to get MyWebContext and call the appropriate getter. I think this is the best and easiest way to do it.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
They don't sound like request scope beans, how r they defined?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I've written custom intercepters before. I think my technique might work. I will have a request scoped bean that my intercepter will put the request and response in for each http request. Later in the processing of the request, my code can get that request scoped bean and get the request and response. This will allow singleton scoped beans to use the request, response, and session without having these objects passed throw method parameters.