springmvc mvc:exclude-mapping错误提示

今天搭建一个java web项目时,增加了一个登录的拦截器,主要功能就是未登录的用户无法访问系统的任何页面。

先说明下我的web项目springmvc的版本以及刚开始配置的拦截器:

springmvc 4.3.7

 1 <!-- 拦截器 -->
 2     <mvc:interceptors>
 3         <!-- 登录拦截 -->
 4         <mvc:interceptor>
 5             <mvc:exclude-mapping path="/login"/>
 6             <mvc:exclude-mapping path="/"/>
 7             <mvc:exclude-mapping path="/dologin"/>
 8             <mvc:exclude-mapping path="/loginout"/>
 9             <mvc:mapping path="/**"/>
10             <bean class="org.yi.lc.web.common.interceptor.LoginInterceptor"/>
11         </mvc:interceptor>
12     </mvc:interceptors>

但是在spring-servlet.xml配置这个拦截器的时候,工具一直报错,运行的时候出现如下错误:

 1 org.xml.sax.SAXParseException; lineNumber: 27; columnNumber: 49; cvc-complex-type.2.4.a: 发现了以元素 ‘mvc:exclude-mapping‘ 开头的无效内容。应以 ‘{"http://www.springframework.org/schema/mvc":mapping}‘ 之一开头。
 2     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
 3     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
 4     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
 5     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
 6     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
 7     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:452)
 8     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3230)
 9     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1790)
10     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:760)
11     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)

这个错误提示刚开始没看懂,以为是不支持mvc:exclude-mapping,然后百度原因,各种解法,比如替换jar包之类的。

从对应的schema中http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd查看,发现是有这个标签的,这就说明我这个版本显然是支持的,那么这个报错事什么意思呢?

后面注意到错误提示中“开头”两个字,如果不以mvc:exclude-mapping开头是不是就可以了,尝试了一下,果然可以!

附上正确顺序的配置:

<!-- 拦截器 -->
    <mvc:interceptors>
        <!-- 登录拦截 -->
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <mvc:exclude-mapping path="/login"/>
            <mvc:exclude-mapping path="/"/>
            <mvc:exclude-mapping path="/dologin"/>
            <mvc:exclude-mapping path="/loginout"/>
            <bean class="org.yi.lc.web.common.interceptor.LoginInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>
时间: 2024-12-22 16:11:07

springmvc mvc:exclude-mapping错误提示的相关文章

坑爹的Hibernate 映射文件错误提示org.xml.sax.SAXParseException

今天整整一个上午都在和hibernate做斗争,早上一来,继续昨天的项目开发,发现spring项目不能启动,从错误中看是hibernate错误,多半是hibernate配置有错误,关键是错误提示中显示“com.mdnet.travel.core.dao.ValidCodeDAOImpl”不能注入,经过仔细查看未见异常,而且这个文件好久没有改过了.没办法把hibernate的配置改成如下配置: <bean id="sessionFactory" class="org.sp

记录一次MVC 3.0错误 HTTP 404您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。

在部署到IIS7时,MVC3报了一个找不到资源的错误,文件肯定是有的,而且页面是肯定报错的,也就说内部运行错误了,而MVC把错误没有抛出来而已: 所以对症下药,发觉我的项目里面用了rexs进行多语言,然后发现App_GlobalResources这里面的文件夹是空的,按道理来说,不应该是没有文件才对. 所以我把App_GlobalResources文件夹重新上传即可,问题解决. 以上是我的问题解决,以下我将介绍其它的类似的问题处理方法: 一.路径配置问题(转载) 有时在程序运行的时候会出现“HT

在MyEclipse中如何去掉JS或jsp语法错误提示!

在MyEclipse中如何去掉JS或jsp语法错误提示! 关于在 MyEclipse 上 WEB 工程里面的 JS/JSP 经常会有语法错误提示,这是由于 MyEclipse 对其语法要求相当严格所造成的,而这些文件本身是可以运行并没有什么错误的,在你实际应用部署中并无影响 . 此问题解决办法有两种: 一.就是您不用去管它提示,直接部署到你的 WEB 容器上运行是可以的,但此方法欠妥当. 二.选择你的工程右击菜单-- > 点击 MyEclipse 菜单项的 Exclude From Valida

在创建数据库连接时的错误提示

在学习Mvc MusicStore 过程当中,遇到在添加StoreManagerController时出现错误,显示Unable to retreive metadata for 'MvcMovie.Models.Movie'. Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separ

SpringMVC - 问题. No mapping found for HTTP request with URI

<bean id="viewResolver"        class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/html/" />        <property name="suffix&qu

解决VM安装VMTools后错误提示,实现文件共享

在VM里给Red Hat 9.0安装VMTools后重启,在系统启动过程中出现三处提示,分别为:第一处:Mounting local filesystem: Error: Cannot mount filesystem: Protocol error      [FAILED] 第二处:Starting vmware-tools: Starting VMware Tools services in the virtual machine:                      Switchi

Sqlplus登录时出现无法定位程序输入点longjmp于动态链接库的错误提示

问题描述:当我们如下Oracle sqlplus登录时出现无法定位程序输入点longjmp于动态链接库D:\app\porry\product\11.2.0\dbhome_1\bin\oracore11.dll上的错误提示. 或者,在利用Oracle PL/SQL Developer客户端登录时出现 ora-12514错误提示,但是TNS配置没有错误,错误截图如下: 解决方案:出现该问题原因在于我们安装了Oracle之后,又安装了Oracle开发工具Oracle Developer Suit.从

java配置ueditor中解决“未找到上传文件”错误提示

ueditor是一个功能十分强大的在线文本编辑器,但是在ssh框架中,确切的说实在struts2中由于其拦截器需要对request,session对象进行重新封装,这个过程中会把request对象中保存的一些内容清空,所以会导致ueditor的上传功能获取不到需要上传的内容导致“未找到上传文件”的错误! 参考网上资料和自己实验,最终的解决思路是,重写struts2中的一个转换的类,然后配置struts2使用我们重写的这个类.由于我们的工程中可能会有其他的上传等功能,为了不影响其他功能的时候,还需

UINavigationController出现nested push animation can result in corrupted navigation bar的错误提示

今天在测试过程中,出现了这样一个bug,分别有两种情景: (前提是:app是基于UINavigationController构建的) 1.从Controller-A中push进来B.在B中点击返回,返回的界面为黑色一片.再做返回操作就crash了. 如图1: 2.从Controller-A中push进入B,此时B中tableview出现错位现象(图2),tableview被navigationbar覆盖了一部分,在B中再push一个C进来.此时只显示了C的navigationbar,但下方的vi