Spring MVC

Spring提供了一个细致完整的MVC框架。该框架为模型、视图、控制器之间提供了一个非常清晰的划分,各部分耦合极低。Spring的MVC是非常灵活的,它完全基于接口编程,真正实现了视图无关。视图不再强制要求使用JSP,可以使用Velocity、XSLT或其他视图技术。甚至可以使用自定义的视图机制--只需要简单地实现View接口,并且把对应视图技术集成进来。Spring的Controllers由IoC容器管理,因此,单元测试更加方便。 Spring MVC框架以DispatcherServlet为核心控制器,该控制器负责拦截用户的所有请求,将请求分发到对应的业务控制器。 Spring MVC还包括处理器映射、视图解析、信息国际化、主题解析、文件上传等。所有控制器都必须实现Controller接口,该接口仅定义ModelAndView handleRequest(request,response)方法。通过实现该接口来实现用户的业务逻辑控制器。 Spring MVC框架有一个极好的优势,就是它的视图解析策略:它的控制器返回一个ModelAndView对象,该对象包含视图名字和Model,Model提供了Bean的名字及其对象的对应关系。视图名解析的配置非常灵活,抽象的Model完全独立于表现层技术,不会与任何表现层耦合:JSP、Velocity或者其他的技术--都可以和Spring整合。 但相对于Tapestry框架而言,Spring MVC依然是基于JSP/Servlet API的。 总体上来看,Spring MVC框架致力于一种完美的解决方案,并与Web应用紧紧耦合在一起。这都导致了Spring MVC框架的一些缺点。 Spring的MVC与Servlet API耦合,难以脱离Servlet容器独立运行,降低了Spring MVC框架的可扩展性。 太过细化的角色划分,太过烦琐,降低了应用的开发效率。 过分追求架构的完美,有过度设计的危险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值