Web applications Struts 2到spring mvc的迁移
我正处于将Struts 2应用程序迁移到SpringMVC框架的早期阶段。我已经在项目中添加了几个spring模块,包括SpringCore、SpringSecurity,现在我将尝试脱离struts,转而支持SpringMVC 不过,我遇到了一些困难——我正在尝试将我的一些struts操作重新映射到bean。下面是一个例子: 我在struts.xml文件中配置了一个操作:Web applications Struts 2到spring mvc的迁移,web-applications,spring-mvc,struts2,migration,Web Applications,Spring Mvc,Struts2,Migration,我正处于将Struts 2应用程序迁移到SpringMVC框架的早期阶段。我已经在项目中添加了几个spring模块,包括SpringCore、SpringSecurity,现在我将尝试脱离struts,转而支持SpringMVC 不过,我遇到了一些困难——我正在尝试将我的一些struts操作重新映射到bean。下面是一个例子: 我在struts.xml文件中配置了一个操作: ... /WEB-INF/jsp/tools/home.jsp ... 因此,基本上我有一个tools.home js
...
/WEB-INF/jsp/tools/home.jsp
...
因此,基本上我有一个tools.home jsp页面,它是上面定义的操作的视图。我已经为此视图创建了一个控制器类(基本上只是将实现从操作中移除,并将其移动到groovy控制器类中):
@控制器
@请求映射(“/tools”)
类控制器{
...
公共字符串getAllRerts(){
...
返回ActionSupport.SUCCESS;
}
...
}
现在我正试图找出如何将这两个连接起来,这就是我遇到的困难
mvc调度器
org.springframework.web.servlet.DispatcherServlet
1.
mvc调度器
/PBDashboard/*
servlet.xml:
//Spring应该自动找到我的控制器,因为它存在于这个包中
<context:component-scan base-package="com.carfax.pb.dashboard.processing.action" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
/WEB-INF/jsp/
.jsp
My web.xml具有Struts2筛选器和筛选器映射,设置如下:
支柱2
org.apache.struts2.dispatcher.FilterDispatcher
支柱2
/*
当我导航到appname/tools时,我得到一个struts错误,它说“没有为命名空间/和操作名工具映射的操作”
这显然是正确的,但我觉得我已经建立了一个SpringMVC应该使用的映射
有没有人能告诉我一些关于如何正确地做到这一点的信息/甚至更好,并指出我的错误?如果我是正确的,您的web.xml还应该在/*上具有Struts过滤器。然后您可以将DispatcherServlet映射为默认servlet(/),并使用类似以下内容排除Struts.xml中迁移的操作:
<constant name="struts.action.excludePattern" value="/tools"/>
Struts应该处理除/tools之外的所有请求,并将/tools URL留给Spring处理。嗨,Mike,我仍然有问题。我的web.xml确实包含Struts的过滤器/映射。我将排除模式添加到Struts.xml文件中。我将Dispatcher Servlet映射到“/”我还是遇到了同样的错误。Iv'e也尝试了/PBDashboard/*但仍然没有成功。您使用的是什么Stuts版本?excludePattern只是在2.1+或其他版本中添加的……要添加struts excludePattern是一个正则表达式,请参见示例。