gpt4 book ai didi

java - Struts 用 spring 排除模式

转载 作者:行者123 更新时间:2023-11-30 08:50:58 34 4
gpt4 key购买 nike

来这里之前我做了很多功课,感谢任何对我问题的指点

我需要运行一个合并的(非集成的)应用程序,它基本上是 struts2 和 Spring 以及一些基本 servlet 的组合版本。能够在 tomcat 中无错误地获取组合的 war 文件。我的意图是基于 url 模式路由到适当的框架(一个很好解决的问题:)

让我们将单个上下文称为 myctx

我的情况:

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<constant name="struts.action.excludePattern" value="/myctx/springurl1/.*?"/>

如果我在过滤器映射中将 url 模式保留为 /*,则可以访问所有原始的 struts2 操作,但无法访问与 spring 相关的内容

如果我将 struts 过滤器 url-pattern 设为 /myctx/.*?,则可以从原始 struts 组件访问注释,但可以访问 spring url。

感谢这里的任何指针

如果使用 struts 2.3.16 和 spring 3 很重要

还有其他方法吗?在 springframework 上枚举更少的 url 模式

提前致谢

-CJ

最佳答案

要从 Struts 2 框架中单独使用 spring servlet,您应该使用 struts.xml 中的配置设置从过滤器映射中排除 servlet。

<constant name="struts.action.excludePattern" value="/myctx/?.*"/>

web.xml 中的 servlet 映射(The DispatcherServlet):

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

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/myctx/*</url-pattern>
</servlet-mapping>

关于java - Struts 用 spring 排除模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30739402/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com