problem

problem1 : spring  mvc应用程序在运行时报错(注意并不是启动时报错) :java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/Dispatcher-servlet.xml]

 

解决:第一种方法(这个方式用来处理 配置文件名称不是默认的Dispatcher-servlet.xml)

a.在src目录下面添加applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
             classpath:/org/springframework/beans/factory/xml/spring-beans-2.0.xsd
         http://www.springframework.org/schema/aop 
         http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
         http://www.springframework.org/schema/tx 
         http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
         <bean id="urlMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/login.do">loginController</prop>
			</props>
		</property>
	</bean>
	<bean id="loginController" class="com.pb.web.controller.LoginController">
		<property name="successView" value="showAccount"></property>
		<property name="failView" value="login"></property>
	</bean>

	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

</beans>

b.修改web.xml,添加init-param

其中param-value参数指定Dispatcher-servlet.xml(在这里为applicationContext.xml文件)文件所在位置

 

<servlet>
        <!--这里决定Spring默认配置文件的名称为Dispatcher-servlet.xml。-->
        <servlet-name>Dispatcher</servlet-name>
       <!-- Spring首先会去找你指定的配置文件(这里是contextConfigLocation,指定配置文件位置)。如果你指定了配置文件的位置,那么spring就不会再去找默认的配置文件了-->
        <!--如果你没有指定配置文件位置的话,Spring会去找默认配置文件(默认配置文件的文件名随servlet-name而定,这里是/WEB-INF/Dispatcher-servlet.xml配置文件)。-->
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
	        <param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
               <!-- 也可以这样写
                 <param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
                 -->
	</init-param>
</servlet>

 

第二种方式:  是在WEB-INF目录下添加[servlet-name]-servlet.xml文件,在这里是Dispatcher-servlet.xml

 

problem2:  Spring在初始化xml配置文件,报错Cannot find the declaration of element 'beans'。

参考:http://llyzq.iteye.com/blog/1117288

 

你可能感兴趣的:(em)