JSF: JSF负责对客户端设备产生影响,它提供了将表示层、应用层和业务逻辑层整合在一起的工具,但是,JSF的范围被限制在表示层。
以下是JSF Framwork提供最重要的服务。
◆MVC架构
软件用户总是要操作各种数据,例如,一个潜在用户提交的注册信息,这些数据叫做model。软件开发人员必须将这些数据展现给用户,这就是视图views。在Web应用程序中,HTML文件用于描绘这些数据。
JSF将model和view结合在一起。可以用下面的方式将model属性和view组件绑定:
"#(user.username) "/>
并且,JSF还充当控制器Controller的角色,它可以响应用户的事件(例如,提交数据或者修改了某一个值),将这些事件的数据交由处理model的类以更新model。例如,可以调用一个方法来判断某个用户是否被允许登陆:
◆数据类型转换
用户在HTML表单输入的都是文本,而我们需要的可能是数字、日期等类型,JSF提供了非常简单的方法用于指定或者自定义数据转换规则。
◆验证和错误处理
在JSF中可以非常简单的实现诸如“某个字段不得为空”或“某个自动必须为数字”之类的规则。客户还希望在他输入错误数据之后得到适当的提示,JSF提供了完成绝大多数类似任务的方法。
◆国际化
JSF提供国际化发布管理,解决诸如字符编码和资源文件选择等课题。
◆自定义组件
◆可选择的渲染器
缺省的,JSF将tag渲染为HTML格式。但是,也可以非常简单的扩展它,以适应其他渲染要求,比如WML。
◆工具支持
这个得等。
webwork: Webwork是一个源代码开放的Web应用框架,用于简化基于Web的应用开发。
Webwork的最大优点是它的简单性和灵活性。Webwork有一个很小的API,它使开发者可以迅速进行开发工作。
Webwork是许多特性和适用性的组合,包括使用variour view技术,例如JavaServer Pages(JSP),Velocity,Extensible Stylesheet Language Transformations
Specification(XSLT)和JasperReporters。还有,Webwork对JFreechart有非常好的支持。和struts一样经典的框架,而且比struts更易于使用,但是社群就不如struts那么强大了。
struts2:struts和webwork合并后的东东,还没有正式发布,不知道会不会是个怪胎。
服务器:
这些框架基本不依赖特定的服务器,tomcat、jboss、weblogic都没有问题。
tomcat: Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat由Apache-Jakarta子项目支持并由来自开放性源代码Java社区的志愿者进行维护。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。做为web容器轻量小巧,如果你不是使用ejb开发,那就可以用它,快速方便。
jboss:JBoss服务器是一种优秀的J2EE服务器,和BEA的Weblogic,IBM的Websphere属于同类产品, JBoss的优势在于具有良好的性价比,实现了所有j2ee的规范和api,支持的标准新,版本快,有开放源码的所有优点,支持热deploy,适合开发环境,尤其是大的团队开发,deploy会拖掉整个团队的效率。文档太少。启动快。
JBoss为完全开放源码的免费软件,而且具有良好的运行效率和可靠性,因此已经得到越来越多的J2EE应用开发者的青睐。
他其中的web容器就是用tomcat,不过支持了ejb,速度慢一些,不适合开发阶段,可以用于真实运行环境(免费)。
weblogic: WebLogic 是一套基于JAVA功能强大的电子商务套件,提供了许多功能强大的中间件以方便编程人员编写的JSP、SERVLET 等电子商务应用,可以为企业提供一个完整的商务应用解决方案。不适合开发阶段,太慢了,适合于运行环境(收费)。