JavaWeb - JSP & Freemarker & Velocity 区别

简介: JavaWeb - JSP & Freemarker & Velocity 区别

在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分离。

目录
相关文章
|
Java 关系型数据库 MySQL
基于jsp,javaweb银行柜员业务绩效考核系统
基于jsp,javaweb银行柜员业务绩效考核系统
249 0
|
Java
19JavaWeb基础 - JSP的其它内容补充
19JavaWeb基础 - JSP的其它内容补充
94 0
|
Java
18JavaWeb基础 - 图解JSP输出缓冲区原理
18JavaWeb基础 - 图解JSP输出缓冲区原理
112 0
|
Java
17JavaWeb基础 - JSP的九大内置对象/四大作用域
17JavaWeb基础 - JSP的九大内置对象/四大作用域
173 0
|
存储 前端开发 Java
JavaWeb基础6——Request,Response,JSP&MVC
Request继承体系、获取请求头行体的方法、IDEA使用模板创建Servlet、请求参数中文乱码解决、请求转发、Respones重定向、Response响应字节字符数据、JSP、EL 表达式、JSTL标签、MVC模式和三层架构
JavaWeb基础6——Request,Response,JSP&MVC
|
前端开发 JavaScript Java
Jsp在Javaweb中扮演什么角色?
Jsp在Javaweb中扮演什么角色?
|
SQL druid Java
javaweb案例实训之基于jsp和servlet的用户管理开发[增删改查及登录注销]
javaweb案例实训之基于jsp和servlet的用户管理开发[增删改查及登录注销]
142 0
|
SQL 数据可视化 数据库
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
基于jsp+servlet的javaweb实现最基本的用户注册登陆注销功能
163 0
|
存储 前端开发 Java
JavaWeb:servlet+jsp+mybatis商品管理增删改查
商品管理通常包括增加(添加)、删除、修改和查询商品信息
409 2
JavaWeb:servlet+jsp+mybatis商品管理增删改查
|
SQL 缓存 Oracle
JavaWeb之JSP(下)
这篇文档是关于Java Web中JSP(Java Server Pages)技术的主要内容包括:JSP的常用命令使用,EL表达式的概念,和使用,JSTL表达式的概念和使用方式的总结.