【问题标题】:Setting up spring-mvc in an application that already use it as a dependency of dependency在已经将 spring-mvc 用作依赖项的依赖项的应用程序中设置 spring-mvc
【发布时间】:2014-08-28 04:17:09
【问题描述】:

我不知道如何转标题,希望这是可以理解的。我正在开发一个已经存在多年并且目前正在生产中的网络应用程序。这个 web-app 使用 spring-flex 来显示一些视图,spring-flex 的依赖项之一是 spring-mvc。我认为相关链接是there

所以我已经在我的 pom 中配置了所有依赖项,并且已经在我的 web.xml 中配置了一个 DispatcherServlet 并使用手册中的确切配置(我不是进行集成的人,我正在尝试弄清楚如何完成了)。

<servlet>
    <servlet-name>flex_servlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>flex_servlet</servlet-name>
    <url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>

从我提供的链接中,我们可以看到,默认情况下,当配置 flex message-broker 时,配置是这样的(虽然在项目中看不到)

<!-- Maps request paths at /* to the BlazeDS MessageBroker -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <value>
            /*=_messageBroker
        </value>
    </property>
</bean>

<!-- Dispatches requests mapped to a MessageBroker -->
<bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"/>    

现在我想用spring-mvc做其他任务,我该怎么办?

  • 声明另一个 DispatcherServlet 还是使用同一个?
  • 如果我使用相同的,我可以直接复制上面的块并完成它以覆盖默认配置吗?
  • 如果我不使用同一个,每个 DispatcherServlet 将如何知道要使用哪个 HandlerMapping,因为它们应该自己发现它?

感谢您的帮助

编辑:为了将来参考,这里是相关文件:

【问题讨论】:

  • 我不知道为什么,但我在顶部的Hi! 不会显示
  • 你很幸运,你的thanks for your help 还在。见here

标签: java spring apache-flex spring-mvc spring-2.5


【解决方案1】:

使用 BlazeDS,您定义了一个命名服务,DispatcherServlet 将使用此名称将请求发送到适当的服务。 所以回答你的问题:

  • 声明另一个 DispatcherServlet 还是使用相同的? 使用相同的
  • 如果我使用相同的,我可以直接复制上面的块并完成它以覆盖默认配置吗? 无需更改
  • 如果我不使用同一个,每个 DispatcherServlet 将如何知道要使用哪个 HandlerMapping,因为它们应该自己发现它? 无关紧要,你用的是同一个

根据我们下面的对话,这个问题的答案也可能对您有所帮助: Spring MVC: RESTful web services + BlazeDS integration possible in the same web application?

【讨论】:

  • 抱歉,我终于找到了相关的文档,他们建议使用两个分开的 DispatcherServlet,尽管使用同一个还是可以的 docs.spring.io/spring-flex/docs/1.5.x/reference/html/…
  • 你的问题没有提到使用多种客户端类型。
  • 抱歉不清楚。目前 flex 运行良好。 /messagebroker/* 模式按预期提供。但我想在/springmvc/* 上设置我自己的一些控制器,我的问题是如何在保持另一个工作的同时做到这一点
  • 如果文档不够,这个问题的答案也可以帮助你:stackoverflow.com/questions/4053388/… 我也会更新我的答案
  • 是的,这就是我要找的。但我还需要定义一个 handlerMapping,因为我希望所有 /springmvc/*.json 请求都由同一个 bean 处理。相关文档在这里:docs.spring.io/spring-framework/docs/2.5.3/reference/… 但是他们说“DispatcherServlet 会自动检测到 HandlerMapping bean”这就是为什么我想知道如果每个人都有几个 DispatcherServlet 以了解哪些映射会影响他,它是如何工作的?
猜你喜欢
  • 1970-01-01
  • 2013-09-04
  • 2018-10-07
  • 2023-03-30
  • 1970-01-01
  • 2016-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多