闲话Java Web层框架优缺点 用哪个呢?
现在java web框架非常多 林林总总 让很多人不知道选择那个好 JSF Spring MVC Stripes Struts Tapestry和Wicket 他们都是各有千秋 面对各种问题 八仙过海 各显神通
这里就小话一下他们的优缺点
JSF优点 Java EE标准 这意味着有很大的市场需求和更多的工作机会上手快速并且相对容易有大量可用的组件库缺点 大量的JSP标签对REST和安全支持不好没有一个统一的实现 既有SUN的实现 又有Apache的实现——MyFaces 国内的OperaMasks还支持AJAX 以及有开发工具支持
Spring MVC优点 对覆盖绑定(overriding binding) 验证(validation)等提供生命周期管理与许多表示层技术/框架无缝集成 JSP/JSTL Tiles Velocity FreeMarker Excel XSL PDF等便于测试——归功于IoC缺点 大量的XML配置文件太过灵活——没有公共的父控制器没有内置的Ajax支持
Stripes (现已发布 版本)
优点 不需要书写XML配置文件良好的学习文档社区成员很热心缺点 社区比较小不如其他的项目活跃ActionBean里面的URL是硬编码的
Struts 优点 架构简单——易于扩展标记库很容易利用FreeMarker或者Velocity来定制基于控制器或者基于页面的导航缺点 文档组织得很差对新特征过分关注通过Google搜索到的大多是Struts x的文档
Tapestry优点 一旦学会它 将极大地提高生产率HTML模板——对页面设计师非常有利每出一个新版本 都会有大量的创新缺点 文档过于概念性 不够实用学习曲线陡峭发行周期长——每年都有较大的升级
Wicket优点 对Java开发者有利(不是Web开发者)
页面和显示绑定紧密社区活跃——有来自创建者的支持缺点 HTML模板和Java代码紧挨着需要对OO有较好的理解Wicket逻辑——什么都用Java搞定
就项目使用选择而言 如果是稳健起见 structs是不错的选择 如果小项目 我更请倾向于Stripes 够简单 简洁
lishixinzhi/Article/program/net/201311/12728