<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/mobile/*</url-pattern>
</servlet-mapping>
如上配置。原因:
现在手上有一个十几年前开发的项目使用的Struts1.1,因为开发新功能,Struts用着费径,所以加入了SpringMVC。问题:
以前*.do请求仍然走struts进行处理。
新的请求使用SpringMVC进行处理。
请求如:http://127.0.0.1/lmclaim/mobile/party/initDriverInfo/13231mobile后面路径不定,现在想拦截/mobile/*的所有请求使用SpringMVC进行处理,但是配置后发现找不到对应方法。请问Spring有没有配置前缀的方式呀?求帮助。现在有两个不理想的处理方式
1、<url-pattern>/</url-pattern>  问题,浪费资源
2、<url-pattern>*.mvc</url-pattern> 虽然能达到效果,但是感觉闹心。

解决方案 »

  1.   

    <servlet-mapping>
    <servlet-name>springMVC</servlet-name>
    <url-pattern>/mobile/*</url-pattern>
    </servlet-mapping>然后controllor的mapping是“aaaa”,方法的mapping是“bbb”
    然后路径使用mobile/aaaa/bbbb试下。
      

  2.   

    我想你的问题在 StackOverflow 也有人问了,其实主要涉及到 ContextLoaderPlugIn 的使用, 
    StackOverflow :https://stackoverflow.com/questions/5835910/how-to-integrate-an-old-struts-application-with-spring-3-x
    这里有个 Github 例子参考: https://github.com/genedelisa/Struts1Spring/blob/master/src/main/webapp/WEB-INF/struts-config.xml
    这个也是不过不维护了,因为有了 ContextLoaderPlugin : http://struts.sourceforge.net/struts-spring/