【现象】:
1.spring配置信息如下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 自动扫描dao和service包(自动注入) --> <context:component-scan base-package="com.makelove88.**.dao,com.makelove88.**.service" /> <import resource="classpath*:*/applicationContext-*.xml" /> </beans>
2.错误信息如下
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 8 in XML document from URL [file:/E:/InstallSoftware/tomcat/tomcat7u50_8888/webapps/jms/WEB-INF/classes/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 109; 元素 "context:component-scan" 的前缀 "context" 未绑定。 at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4961) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5455) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 109; 元素 "context:component-scan" 的前缀 "context" 未绑定。 at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:289) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347) at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:429) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391) ... 22 more 十一月 09, 2016 10:09:32 上午 org.apache.catalina.core.StandardContext listenerStart 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
【问题分析】
配置文件中使用了context标签,但未声明。
【解决方案】
在配置文件中加上context的声明
<?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:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <!-- 自动扫描dao和service包(自动注入) --> <context:component-scan base-package="com.makelove88.**.dao,com.makelove88.**.service" /> <import resource="classpath*:*/applicationContext-*.xml" /> </beans>
捐助分享者
以前并不喜欢编程,但是现在已经是一个为程序而痴迷的IT迷,在此分享一些自己整理并优化后的东西,希望能给IT迷们有所帮助,有欣喜,也还有汗水,同时也希望大家能支持一下。 当然,有钱捧个钱场(支持支付宝和微信捐助,加入it资料中心扣扣群),没钱捧个人场,有了大家的支持,我们会更有动力,会做的更好的,谢谢各位。
相关推荐
总结来说,解决“元素 'context:component-scan' 的前缀 'context' 未绑定”的问题,关键在于正确地在XML配置文件中引入 `context` 命名空间。一旦完成这个修正,Spring就能够识别 `context:component-scan` 元素,...
在上述配置中,`context:component-scan`标签用于扫描指定包下的所有带有@Controller注解的类,使Spring能够自动管理这些类。`InternalResourceViewResolver`是视图解析器,它定义了视图文件的前缀和后缀。`mvc:...
第三步,基本的`spring-mvc-servlet.xml`配置文件可能如下所示: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
<artifactId>spring-context <version>5.x.x.RELEASE <groupId>org.springframework <artifactId>spring-webmvc <version>5.x.x.RELEASE ``` 2. **配置Spring MVC**:在项目的src/main/webapp/WEB-...
在Spring MVC中,核心配置文件是整个应用的基石,它定义了组件扫描、视图解析、数据绑定、拦截器以及各种处理器映射等关键元素。下面将详细解释`springMVC.xml`这个核心配置文件中的重要知识点。 1. **组件扫描**:...
`Config.xml`是Spring MVC的配置文件,其中定义了组件扫描、处理器映射器、处理器适配器等关键元素。`<context:component-scan>`标签用于扫描指定包(如`net.xiaxin.action`)下的类,以便Spring能够识别并管理带有...
1. `<context-param>` 和 `<contextLoaderListener>`:这两个元素用于初始化Spring的ApplicationContext,它会加载指定的配置文件(在这个例子中是`/WEB-INF/classes/spring/*-config.xml`)。 2. `<servlet>` 和 `...
- **组件扫描**:通过`<context:component-scan>`标签启用,指定需要扫描的包,以便Spring自动发现@Controller、@Service、@Repository等注解的类。 - **视图解析器**:如`<bean id="viewResolver" class="org....
加载/WEB-INF/spring-mvc/目录下的所有XML 作为 Spring MVC 的配置文件 <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc/*.xml</param-value> </init-param> <load-on-...
首先,Spring MVC注解允许开发者以声明式的方式配置控制器,避免了传统的XML配置文件。这极大地简化了代码,提高了可读性和维护性。例如,`@RequestMapping`注解就是其中的关键,它可以在类级别或方法级别使用,用于...
- 开发SpringMVC项目需要引入一系列的jar包,这些jar包包括但不限于:commons-logging, spring-aop, spring-beans, spring-context, spring-core, spring-expression, spring-web以及spring-webmvc。 - 在web.xml...
【Spring MVC 学习文档】 Spring MVC 是 Spring 框架的一个模块,专门用于构建 Web 应用程序。它提供了一种模型-视图-控制器(MVC)架构,简化了开发过程,允许开发者将业务逻辑与表现层分离。在这个学习文档中,...
- Controller扫描:使用`<context:component-scan>`标签定义SpringMVC扫描Controller的包路径。 - 视图解析器:如`<bean id="viewResolver" class="org.springframework.web.servlet.view....
2. **引入 SpringMVC 的 Maven 依赖**:通过添加`<dependency>`标签引入`spring-webmvc`依赖和其他必要的库。 ```xml <groupId>org.springframework <artifactId>spring-webmvc <version>4.3.14.RELEASE ...
在上面的配置中,`context:component-scan`扫描指定包下的所有类,寻找带有@Controller、@Service、@Repository等注解的组件。`mvc:annotation-driven`启用注解驱动,使得我们可以使用如`@RequestMapping`等注解。`...
4. **扫描Controller**:使用`<context:component-scan>`标签指定要扫描的Controller类的包,例如`base-package="com.mvc.controller"`。这样,Spring MVC会在启动时自动发现并注册这些Controller。 5. **配置视图...
- `<context:component-scan>`:在配置文件中指定基础包,Spring会扫描这个包及其子包下的所有类,查找带有特定注解的组件,如`@Controller`、`@Service`、`@Repository`等。 - `<mvc:annotation-driven>`:开启...
<context:component-scan base-package="com.ylink.zfpt.web.spring"/> <bean id="annotationHandlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> ...
- 使用 `<context:component-scan>` 标签扫描包含控制器的包,这样 Spring 会自动发现并管理标记了 `@Controller` 的类。 2. **@RequestMapping** `@RequestMapping` 用于映射 HTTP 请求到控制器方法。它可以应用...
XML配置可能包括`<mvc:annotation-driven>`元素来启用注解驱动的控制器,以及`<context:component-scan>`元素来扫描包含控制器的包。 2. **DispatcherServlet**:这是Spring MVC的核心组件,负责接收HTTP请求并分发...