有没有使用请求路径模式而不是定义的servlet url模式的Java MVC框架?

有没有使用请求路径模式而不是定义的servlet url模式的Java MVC框架?,java,model-view-controller,Java,Model View Controller,据我所知,Java世界之外的MVC(PHP和Ruby on Rails),所有请求都首先发送到前端控制器(或dispatcher…或boostrap,等等),前端控制器查看URL中的请求路径模式,以确定应该处理请求的类/方法。在JavaMVC中,servlet似乎是用部署描述符(web.xml)中的url模式映射的,但是文件扩展名和url模式似乎不是很灵活。是否有Java MVC框架使用前端控制器专门读取请求路径以确定应该执行哪些类?要破解SpringMVC来做到这一点是否相当容易?有什么例子吗

据我所知,Java世界之外的MVC(PHP和Ruby on Rails),所有请求都首先发送到前端控制器(或dispatcher…或boostrap,等等),前端控制器查看URL中的请求路径模式,以确定应该处理请求的类/方法。在JavaMVC中,servlet似乎是用部署描述符(web.xml)中的url模式映射的,但是文件扩展名和url模式似乎不是很灵活。是否有Java MVC框架使用前端控制器专门读取请求路径以确定应该执行哪些类?要破解SpringMVC来做到这一点是否相当容易?有什么例子吗?谢谢

Java servlet映射也可以按文件扩展名进行

与许多非Java框架非常相似,您可以将所有请求映射到单个servlet,然后由该servlet处理它们,但在Java中,这往往是不可取的。当然,这是可能的


如果您想在声明路径元素映射的地方获得更多REST样式的URL,您可能需要查看Spring 3.0中的Spring MVC设置。

Java servlet映射也可以按文件扩展名进行

与许多非Java框架非常相似,您可以将所有请求映射到单个servlet,然后由该servlet处理它们,但在Java中,这往往是不可取的。当然,这是可能的


如果您想要更多声明路径元素映射的REST样式URL,您可能需要查看Spring 3.0中的Spring MVC设置。

我同意URL映射不是很灵活,但您可以使用URLRewriteFilter处理映射


为此,筛选器的工作方式几乎与控制器类似。

我同意URL映射不是很灵活,但您可以使用URL重写筛选器处理映射


为此,过滤器的工作原理几乎与控制器一样。

一个工具的示例就是可以按照您的要求工作

通过,它将传入URL映射到动作类,动作类的包限定名以相当自然的方式映射传入URL

其文档中的示例:

  • 请求URL:“”
  • URL的提取部分:'/main/member/MemberEdit'
  • 映射(默认情况下)到操作:“hirondelle.fish.main.member.MemberAction.java”
这是一个特定工具如何执行任务的示例。由于这是web应用程序的一个基本特性,我想几乎所有这些工具都有类似的机制

我不是Spring的大用户,但我可以从它的文档中看到,它有许多将请求映射到操作的方法:


一个工具的例子是,它可以根据您的需要工作

通过,它将传入URL映射到动作类,动作类的包限定名以相当自然的方式映射传入URL

其文档中的示例:

  • 请求URL:“”
  • URL的提取部分:'/main/member/MemberEdit'
  • 映射(默认情况下)到操作:“hirondelle.fish.main.member.MemberAction.java”
这是一个特定工具如何执行任务的示例。由于这是web应用程序的一个基本特性,我想几乎所有这些工具都有类似的机制

我不是Spring的大用户,但我可以从它的文档中看到,它有许多将请求映射到操作的方法:

检查条纹:

我一直把它看作是struts的一种可能的升级。该页面上有一个与John O给出的web4j示例非常相似的示例。

签出条纹:


我一直把它看作是struts的一种可能的升级。该页面上的一个示例与John O给出的web4j示例非常相似。

FYI,MVC模型2中的Java有一个单独的Servlet作为前端控制器,而不是多个Servlet。FYI,MVC模型2中的Java有一个单独的Servlet作为前端控制器,而不是多个Servlet。