Trouble Shoot - The prefix "context" for element "context:component-scan" is not bound. Spring MVC

问题: 在Spring MVC WEB 开发过程中, 在自己定义的xml配置文件中发现错误. 

The prefix "context" for element "context:component-scan" is not bound.



解决办法: 在 中加入 

xmlns:context="http://www.springframework.org/schema/context"


原因: 从错误本身来分析, context 元素没有被界定在哪里.   为什么会这样? 从 xmlns 入手, xmlns 全称 是 XML NameSpace,  它的使用规则是 xmlns:namespace-prefix="namespaceURL". 当这个命名空间被界定后, 所有带有相同的namespace-prefix 的元素都会与这个命名空间( namespaceURL) 相关联. 这样做的好处?  避免XML解析器对XML解析时的发送名字冲突.   

通俗上来说: 就是避免元素名字冲突. 例子: ①

这是个桌子
    ②这是个表格
通过界定特定的URL, 我们能区分开这个table元素是用来作为桌子tag的还是用来做表格tag的.  


补充: 添加以上解决方案之后还会出现错误.

nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:component-scan'.

解决方法: 在中,在xsi:schemaLocation中添加一下两个链接.

http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context.xsd

原因: 首先来了解下什么是(XML Schema Instance)xsi:schemaLocation. 是指具体用到的schema资源. 因为我们使用了context,所以需要提供相应的链接.

你可能感兴趣的:(JAVA,-,Spring,Framework)