Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带弹簧的支柱排除模式_Java_Spring_Spring Mvc_Servlets_Struts2 - Fatal编程技术网

Java 带弹簧的支柱排除模式

Java 带弹簧的支柱排除模式,java,spring,spring-mvc,servlets,struts2,Java,Spring,Spring Mvc,Servlets,Struts2,在来这里咨询专家之前,我做了很多家庭作业,非常感谢各位对我的问题提出的建议 我需要运行一个合并(未集成)的应用程序,该应用程序基本上是struts2和Spring以及一些基本servlet的组合版本。能够在tomcat中无错误地获取合并的war文件。我的意图是基于url模式路由到适当的框架(一个屡试不爽的问题:) 让我们将单个上下文称为myctx 我的情况: 支柱2 org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter

在来这里咨询专家之前,我做了很多家庭作业,非常感谢各位对我的问题提出的建议

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

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

我的情况:


支柱2
org.apache.struts2.dispatcher.ng.filter.strutspreadexecutefilter
支柱2
/*

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

如果我在过滤器映射中将url模式保留为
/*
,则可以访问所有原始struts2操作,但无法从spring相关应用程序访问任何操作

如果我将struts过滤器url模式设置为
/myctx/*?
,则可以从原始struts组件访问noting,但可以访问spring url

谢谢你的指点

如果有问题,请使用支柱2.3.16和弹簧3

还有别的办法吗?关于springframework无需枚举的url模式

先谢谢你


-CJ

要将SpringServlet与Struts2框架分开使用,您应该使用
Struts.xml
中的配置设置将servlet从过滤器映射中排除


web.xml
()中的servlet映射:


春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
/myctx/*

我在struts.xml中的原始帖子中缺少一些代码。感谢您的回答。肯定有帮助。但是,'具有以下特性:a)/myctx/struts_操作应由struts2处理b)/myctx/spring_rqts应由springservlet处理,rest c)/myctx/rest_srvlts应由具有这些映射的基本servlet处理。在这种情况下,excludePattern将如何工作--抱歉,我尝试了所有组合,但仍然没有得到结果。。我可以根据需要枚举所有url模式(spring和base Servlet很少,因此希望在排除模式中枚举),非常感谢任何指针!难以置信的是,由于库中有一个格式错误的jar,其中包含一个旧的struts.xml,它很高兴地优先于主struts.xml,而主struts.xml正在编辑并重新运行以进行调试。一旦错误的lib被纠正,事情就迎刃而解了:)再次感谢罗曼。