有没有使用请求路径模式而不是定义的servlet url模式的Java MVC框架?
据我所知,Java世界之外的MVC(PHP和Ruby on Rails),所有请求都首先发送到前端控制器(或dispatcher…或boostrap,等等),前端控制器查看URL中的请求路径模式,以确定应该处理请求的类/方法。在JavaMVC中,servlet似乎是用部署描述符(web.xml)中的url模式映射的,但是文件扩展名和url模式似乎不是很灵活。是否有Java MVC框架使用前端控制器专门读取请求路径以确定应该执行哪些类?要破解SpringMVC来做到这一点是否相当容易?有什么例子吗?谢谢 Java servlet映射也可以按文件扩展名进行 与许多非Java框架非常相似,您可以将所有请求映射到单个servlet,然后由该servlet处理它们,但在Java中,这往往是不可取的。当然,这是可能的有没有使用请求路径模式而不是定义的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来做到这一点是否相当容易?有什么例子吗
如果您想在声明路径元素映射的地方获得更多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”
- 请求URL:“”
- URL的提取部分:'/main/member/MemberEdit'
- 映射(默认情况下)到操作:“hirondelle.fish.main.member.MemberAction.java”
我一直把它看作是struts的一种可能的升级。该页面上的一个示例与John O给出的web4j示例非常相似。FYI,MVC模型2中的Java有一个单独的Servlet作为前端控制器,而不是多个Servlet。FYI,MVC模型2中的Java有一个单独的Servlet作为前端控制器,而不是多个Servlet。