为什么在web.xml文件中配置了监听器还要通过其他方式读取spring.xml文件

为什么在web.xml文件中配置了监听器还要通过其他方式读取spring.xml文件

http://img1.sycdn.imooc.com//climg/5c74105800016f5d14940268.jpg

http://img1.sycdn.imooc.com//climg/5c7410710001ba7d10260213.jpg

http://img1.sycdn.imooc.com//climg/5c7410940001251e15400286.jpg


已经配置了监听器读取spring.xml文件,但是在controller层还是不能自动注入service层的实体类进行调用,会报空指针异常问题,难道只能这样在每个contrtoller层都要这样初始化service层的实体类进行调用吗

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

你好同学,我说的扫描是在application.xml中的配置扫描注入bean的代码哦,建议同学检查一下是否缺少如下代码呢?祝学习愉快~

http://img1.sycdn.imooc.com//climg/5c751cc20001e0c910660174.jpg

  • huachun 提问者 #1
    这个也设置了的,可能是不能读取classpath*:下面的路径吧,所以把Srping.xml文件放到了resources文件夹下现在好了
    2019-02-26 19:08:12
  • chrismorgen 回复 提问者 huachun #2
    是的,同学,配置文件一定要放在resources资源文件下,否则是读取不到的,祝学习愉快~
    2019-02-26 19:09:28
  • huachun 提问者 回复 chrismorgen #3
    嗯,能帮忙回答下这个问题的标题吗?为什么在web.xml文件中配置了监听器还要通过其他方式读取spring.xml文件
    2019-02-27 00:56:53
提问者 huachun 2019-02-26 13:34:54

http://img1.sycdn.imooc.com//climg/5c74cfa30001037b04760920.jpg

http://img1.sycdn.imooc.com//climg/5c74cfbb00018c4904780917.jpg

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
 <display-name>Archetype Created Web Application</display-name>
   <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:spring.xml</param-value>
   </context-param>
   <context-param>
       <param-name>log4jConfigLocation</param-name>
       <param-value>log4j.properties</param-value>
   </context-param>

   <!--编码过滤器-->
 <!--声明编码过滤器-->
 <filter>
   <filter-name>Encoding</filter-name>
   <filter-class>com.imooc.bookms.common.global.EncodingFilter</filter-class>
   <init-param>
     <param-name>Encoding</param-name>
     <param-value>UTF-8</param-value>
   </init-param>
 </filter>
 <!--编码过滤器映射路径-->
 <filter-mapping>
   <filter-name>Encoding</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>
   <!--配置监听器读取spring.xml的配置-->
   <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
   <!--开启log4j监听-->
   <listener>
       <listener-class>org.springframework.web.context.support.XmlWebApplicationContext</listener-class>
   </listener>
 <!--================================-->
 <!--servlet配置-->
 <!--<servlet>
   <servlet-name>DispatcherServlet</servlet-name>
   <servlet-class>com.imooc.bookms.common.global.DispatcherServlet</servlet-class>
 </servlet>
 <servlet-mapping>
   <servlet-name>DispatcherServlet</servlet-name>
   <url-pattern>*.do</url-pattern>
 </servlet-mapping>
-->
 <!--=========================-->

</web-app>

chrismorgen 2019-02-26 11:45:24

你好同学,建议你检查一下classpath中配置的spring.xml文件的路径是否正确呢?如果问题没有解决,建议你将项目的展开目录结构的截图粘贴一下,方便老师具有针对性的为你解答,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师