WebLogic无法启动应用程序 - 无法找到spring配置文件

时间:2014-07-21 00:52:34

标签: java spring-mvc weblogic12c

我在web.xml中定义了以下内容

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:p360UiSpringConfig/p360UiDispatcherServlet-servlet.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>p360UiDispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

以下是我的web-inf的外观:

enter image description here

当我在WebLogic中启动应用程序时,出现以下错误:

错误java.io.FileNotFoundException:无法打开ServletContext资源[/WEB-INF/p360UiDispatcherServlet-servlet.xml]

问题是当我定义了contextConfigLocation时,为什么要在Web-Inf中查找spring配置文件?

1 个答案:

答案 0 :(得分:1)

按如下方式修改contextConfigLocation中的web.xml

修改

正在发生的事情是Spring容器正试图在WEB-INF文件夹中查找<Dispatcher Servlet Name>-servlet.xml的上下文。这是因为您没有为调度程序servlet <init-param>指定p360UiDispatcherServlet<context-param>用于指定常见的附加上下文路径,例如DAO,安全性等。理想情况下,这应该可以解决您的问题。请检查修改后的web.xml

<!-- Any Common Additional Context Paths -->
<!--<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value></param-value>
</context-param>-->

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
    <servlet-name>p360UiDispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:/p360UiSpringConfig/p360UiDispatcherServlet-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>