spring 3.0.5如何使用可配置的URI路径定义拦截器

发布于 2024-10-16 10:27:48 字数 1156 浏览 8 评论 0原文

我正在使用 spring 3.0.5 MVC 并尝试为指定路径 /fx 定义 LoginInterceptor 。我查了一下,发现使用方法是:

<mvc:interceptors>
    <!-- Changes the locale when a 'locale' request parameter is sent; e.g. /?locale=de -->
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
    <mvc:interceptor>
        <mapping path="/fx"/>
        <bean class="com.fxiapi.auth.LoginInterceptor" />
    </mvc:interceptor>
</mvc:interceptors>

我想将其用于除某些 URI 的登录页面之外的任何页面。他们是忽略登录页面 URI 的一种方法。另外,使用这个我得到以下异常:

2011-02-07 11:04:22,756 错误 http-0.0.0.0-8680-1 上下文初始化失败 org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:ServletContext 资源 [/WEB-INF/spring/appServlet/servlet-context.xml] 中的 XML 文档中的第 31 行无效;嵌套异常是 org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:从元素“mapping”开始发现无效内容。预期为 '{"http://www.springframework.org/schema/mvc":mapping}' 之一。 在 org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)

有人可以帮忙吗?如果我不能使用标签,有什么替代方法?

I am using spring 3.0.5 MVC and trying to defined LoginInterceptor for specified path /fx. I looked up and found the way to use is:

<mvc:interceptors>
    <!-- Changes the locale when a 'locale' request parameter is sent; e.g. /?locale=de -->
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
    <mvc:interceptor>
        <mapping path="/fx"/>
        <bean class="com.fxiapi.auth.LoginInterceptor" />
    </mvc:interceptor>
</mvc:interceptors>

I want to use this for any page other than Login page for certain URI. Is their a way to ignore login page URI. Also, using this was I am getting following exception:

2011-02-07 11:04:22,756 ERROR http-0.0.0.0-8680-1 Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 31 in XML document from ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'mapping'. One of '{"http://www.springframework.org/schema/mvc":mapping}' is expected.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)

Can someone please help? Whats the alternate if I cant use tag?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我很坚强 2024-10-23 10:27:48

错误消息告诉您出了什么问题 - 您还需要 元素上的名称空间前缀:

<mvc:interceptor>
    <mvc:mapping path="/fx"/>
    ...
</mvc:interceptor>

The error message tells you what's wrong - you need the namespace prefix on the <mapping> element also:

<mvc:interceptor>
    <mvc:mapping path="/fx"/>
    ...
</mvc:interceptor>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文