在web.xml&amp;中替换<servlet-mapping> Spring MVC </servlet-mapping>

时间:2012-02-06 21:48:45

标签: java spring-mvc url-routing

因为我的URL非常复杂,并且斜杠之间的每个部分都取决于我的数据库的内容,我想这对我来说还不够。我想我需要编写一些URL解析器,它遍历斜杠之间的url部分并调用某种处理程序。

有没有办法如何编写这样的URL解析器,它将获取字符串并返回一个表示当前请求的对象,该对象将替换?我只设法找到只使用web.xml定义的url-routing的简单教程。

由于

1 个答案:

答案 0 :(得分:1)

Spring非常灵活,因此您可以自定义URL解析。看一下这个教程http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch16s11.html,注意DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter。看来你应该研究它们是如何工作的并覆盖一些功能。

但在你开始之前,请再想一想。你真的需要这个,@RequestMapping不满足你吗?实际上,您可以将路径变量{myvar}用于URL模式定义。变量可以是不同类型,包括枚举。我用过这个,发现很方便。例如,您可以创建enum MyType ONE, TWO;在枚举级别定义抽象方法并为每个元素覆盖它。然后,您可以将MyType类型的路径变量用于请求映射,并直接从标有@RequesteMapping注释的方法调用此方法。