spring jdbcTemplate 注入到servlet

最近温了一下 Spring jdbcTemplate.

在使用纯粹Servlet 时发现一个问题,就是在使用纯粹Servlet 做控制器时,出现了各种问题。归纳如下:

(1)  报找不到 applicationContext.xml 的spring配置文件。

       原因:一般情况下我们会将applicationContext.xml 放置在 WEB-INF/下,这时在servlet中用硬编码的方式

wc = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
		TrainDirectionDaoImpl dao = (TrainDirectionDaoImpl) wc.getBean("trainDirectionDaoImpl");

 就会报不能找到 “applicationContext.xml文件“的错误。分析原因,是因为servlet程序是到 classes目录下去找该文件的原因,故找不到。

       应对办法:在web.xml 中做个修改,将原先的监听路径:/WEB-INF/applicationContext.xml

                      改为:classpath:applicationContext.xml,并将该文件移到 src下,或者直接拷贝到classes下。

(2)由于上一种硬编码的方式不灵活,所以会做一个改进,改为使用代理Servlet来完成。这时,如不做web.xml 的话就会出现 “nullpointException”的异常。

         应对办法:修改web.xml:将实际工作被调用的servlet 在web.xml中注释掉,只有代理Servlet 在web.xml 中注册。

(3)具体代码参考如附件。

你可能感兴趣的:(DAO,spring,xml,Web,servlet)