表现层 FreeMarker与JSP

在java领域,表现层技术主要有三种:jsp、freemarker、velocity。

jsp是大家最熟悉的技术优点:1、功能强大,可以写java代码2、支持jsp标签(jsp tag)3、支持表达式语言(el)4、官方标准,用户群广,丰富的第三方jsp标签库5、性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。

velocity是较早出现的用于代替jsp的模板语言优点:1、不能编写java代码,可以实现严格的mvc分离2、性能良好,据说比jsp性能还要好些3、使用表达式语言,据说jsp的表达式语言就是学velocity的缺点:1、不是官方标准2、用户群体和第三方标签库没有jsp多。3、对jsp标签支持不够好

freemarker优点:1、不能编写java代码,可以实现严格的mvc分离2、性能非常不错3、对jsp标签支持良好4、内置大量常用功能,使用非常方便5、宏定义(类似jsp标签)非常方便6、使用表达式语言缺点:1、不是官方标准2、用户群体和第三方标签库没有jsp多

选择freemarker的原因:1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。2、宏定义比jsp tag方便3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便4、支持jsp标签5、可以实现严格的mvc分离
时间: 2024-11-05 13:35:09

表现层 FreeMarker与JSP的相关文章

表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)

转自:http://www.blogjava.net/jiabao/archive/2007/04/08/109189.html 为了实现web层(struts)和持久层(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式.DAO模式为了减少业务逻辑和数据访问逻辑之间的耦合,当一个持久曾框架被应用时,该模式将会减少业务对象和该框架之间的耦合,这样我们可以不修改业务对象而选择不同的持久层框架的实现.实际

Stripes视图框架实现纯Java代码控制表现层参考文档

Stripes是一个开放源码的Web应用程序框架的基础上的模型 - 视图 - 控制器(MVC)模式.它的目的是通过使用Java技术,如在Java 1.5.x或以上版本中引入,实现"约定优于配置"的注解和泛型,它比Struts2框架更轻量.Stripes强调一组简单的约定整个框架的想法,减少配置的开销.在实践中,这意味着几乎没有Stripes的应用程序需要的任何配置文件,从而降低开发和维护工作. 1.Stripes特性 行动基于MVC框架 没有配置文件 POJO的 注解取代XML配置文件

请问JAVA三层架构,持久层,业务层,表现层,都该怎么理解?和MVC三层模型有什么区别

持久层用来固化数据,如常说的DAO层,操作数据库将数据入库业务层用来实现整体的业务逻辑 如 前台获得了数据,逻辑层去解析这些数据,效验这些数据等操作表现层很好解释  你现在看到的网页 一些界面 都属于表现层的东西可以用一些Html,jsp,Swing来实现至于mvc么对应的是 model(模型) view(视图) Controller(控制)在javaweb中就很好理解了再XX系统中,前台页面属于view 贯穿前台后台持久层的一套模型就是model(EJB,Spring来实现)  而连接前台后台

【转载】 JAVA三层架构,持久层,业务层,表现层的理解

JAVA三层架构,持久层,业务层,表现层的理解 转载:http://blog.csdn.net/ljf_study/article/details/64443653 SSH: Struts(表示层)+Spring(业务层)+Hibernate(持久层) Struts: Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求. 在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发. (View:沿用JSP,HTTP,Form,Tag,Resourse : Co

面向对象——三层架构(表现层、业务层、持久层)

三层架构:即表现层.业务层.持久层. ① 持久层:采用DAO模式,建立实体类和数据库表映射(ORM映射).也就是哪个类对应哪个表,哪个属性对应哪个列.持久层 的目的就是,完成对象数据和关系数据的转换. ② 业务层:采用事务脚本模式.将一个业务中所有的操作封装成一个方法,同时保证方法中所有的数据库更新操作,即保证同时成 功或同时失败.避免部分成功部分失败引起的数据混乱操作. ③ 表现层:采用MVC模式. M称为模型,也就是实体类.用于数据的封装和数据的传输. V为视图,也就是GUI组件,用于数据的

web开发 -- 表现层

web开发 -- 表现层 Java应用程序通常会分层开发,常见的是三层 : 表现层.逻辑层.数据层,层与层之间是通过接口进行交互的. 今天来说说 "表现层",应用程序的界面层也被称为表现层,专门用于图形化的跟用户进行交互. 通常来说 表现层具有如下几个主要功能: (1) 展示数据 : 主要是从逻辑层获取需要展示给用户看或者操作的数据 (2) 人机交互 : 用户可以在界面上输入值,也可以点击某些组件,从而引起某些动态事件 (3) 提交表单 : 收集界面参数,调用逻辑层接口 表现层的基本实

少一些套路,多一些真诚 ——groovy消灭表现层套路

  初次认识groovy是在2009年,当时看了Manning出版的<Groovy in Action 1st Edition>,对groovy这个语言的交互性shell,以及灵活的语法留下了深刻的印象,但限制于自己对脚本语言的特性了解甚少,社区基础的薄弱,以及所谓java is best的年少轻狂,没有进行实际应用,只是作为一种兴趣的萌芽种在了知识的土壤里.   转眼间到了2016年9月,突然在Manning网站上发现一本似曾相似的书籍-<Groovy in Action 2nd Ed

使用FreeMarker替换JSP的10个理由

你还在使用 Java 服务器页面(俗称JSP)吗?我曾经也是,但是几年前我抛弃了它们,并且再也没有用过JSP了.JSP 是个很好的概念,但是它却剥夺了 web 开发的乐趣. 对我而言,这些都是小事,比如无法在页面模板上使用单独的文件header.jsp 和 footer.jsp,不能调用表达式语言的方法,在运行时无法合并,重新排列页面的各个部分.所以我转而使用 FreeMarker 模板.FreeMarker 已经存在一段时间了,如果你最近没有关注过 FreeMarker 的话,那这有些建议给你

应用程序框架实战三十:表现层及ASP.NET MVC介绍(一)

本文将介绍表现层及ASP.NET MVC的一些要点,特别是ASP.NET MVC的一些抽象和封装技巧,如果你对MVC还不了解,可以参考<ASP.NET MVC4 高级编程>,作者Jon Galloway等,这本书由ASP.NET MVC团队成员编写,相当不错. 表现层的职责 表现层的职责是展示和收集数据,将领域层的数据和逻辑展示出来,并收集用户输入的相关信息. 搞清楚表现层的职责以后,你就应该清楚,表现层不是你应该编写业务逻辑的地方,这也是分层架构的核心. 如果要展示一个计算值,不应该在表现层