有没有办法让我在代码中实例化Spring MVC DispatcherServlet,而不是将它放入web.xml中并让它由Web服务器实例化?Spring MVC DispatcherServlet的惰性实例化?
原因是我想检查一个memCache,看看我是否最近已经呈现了正在请求的页面,如果是这样,只需从memCache中返回,而不是通过Spring MVC和控制器。
DispatcherServlet的〜2秒实例化非常重要,因为我使用的是Google App Engine,并且可能最终需要等待2秒钟才能等待页面。
我已经试过
dispatcherServlet = new DispatcherServlet();
dispatcherServlet.init();
dispatcherServlet.service(request, response);
,但我得到的初始化调用此异常:
[java] java.lang.NullPointerException
[java] at org.springframework.web.servlet.HttpServletBean$ServletConfigPropertyValues.<init>(HttpServletBean.java:196)
[java] at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:114)
基本上,我正在寻找的是实例代码一个servlet,而不必办法在web.xml中指定它,而不必拨打电话
getServletConfig().getServletContext().getServlet("dispatcherServlet");
你能详细阐述一下你的方法吗?我(并且我想象了其他一些重要的人)已经使用GAE + Spring,并且任何加快启动时间的方法都会受到好评。 – yincrash 2011-08-19 03:55:56