• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Spring MVC-How to get WebApplicationContext in Spring without ContextLoaderListener?

 
Ranch Hand
Posts: 69
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear Guys,

To my understanding, in order to get a bean, we should get the application context and call getBean. In the servlet layer it is easy, all we need to do is

In web.xml file while configuration ContextLoaderListener its worki ng fine. But I have removed ContextLoaderListener in web.xml getting null pointer in exception (userSessionCache = (UserSessionCache) webAppCtxt.getBean(“User”); in this line.)

cache.xml:

<bean id="userSessionCache" class="com.xxx.cache.UserSessionCache"/>
// test the spring framework

sessionListener.java

WebApplicationContext webAppCtxt = WebApplicationContextUtils.getWebApplicationContext(event.getSession()
.getServletContext());
private UserSessionCache userSessionCache;
userSessionCache = (UserSessionCache) webAppCtxt.getBean(“User”); I am getting null pointer exception in this line.
ERROR [SessionListener] Exception Occured in Session Listener
java.lang.NullPointerException
at com.xxx.handler.SessionListener.sessionDestroyed(SessionListener.java:61)


Is it possible to get the “WebApplicationContext” in spring mvc without ContextLoaderListener?

Thanks,
SR
 
ranger
Posts: 17347
11
Mac IntelliJ IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
First if I was using Spring MVC, I would just have the beans auto-injected into the Controller classes. I wouldn't want to call WebApplicationContextUtils.getWebApplicationContext(getServletContext());

I can do




Much simpler, but you will need the ContextLoaderListener no matter what to create the ApplicationContext for your middle tier, when the web app gets deployed. Without it you will not get your Services etc created and put into an ApplicationContext that is placed in the ServletContext. Without any ApplicationContext in the ServletContext that line WebApplicationContextUtils.getWebApplicationContext(getServletContext()); will just return NULL.

Mark
reply
    Bookmark Topic Watch Topic
  • New Topic