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分离
时间: 2024-10-15 09:31:28

jsp、freemarker、velocity比较(摘自网上)的相关文章

JSP FreeMarker Velocity 原理

JSP原理 JSP的运行原理:JSP 本质上是一个Servlet. 每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet 程序,然后再把这个 Servlet 源程序编译成Servlet 的class 类文件.然后再由WEB 容器(Servlet容器)像调用 Servlet 程序一样的方式装载和解释执行这个由JSP 页面翻译成的 Servlet 程序. FreeMarker 和 velocity 原理 在Struts2框架下,Struts2框架充当了之前的Servlet角色,只

SpringMVC配置多视图JSP+freemarker,实践成功!(网上好多坑)

今天自己配置了一下SpringMVC 的多视图,本以为很简单,实践后发现各种问题,在网上查了很多资料,最后还是选择了看源码,终于知道为什么失败了,下面介绍一下. 失败配置! 成功只是改了几个小地方. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="ht

[Spring MVC] - JSP + Freemarker视图解释器整合(转)

Spring MVC中如果只使用JSP做视图,可以使用下面这段即可解决: <!-- 视图解释类 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="

大数据学习总结记录—页面静态化技术(Freemarker/velocity)&amp; 网站伪静态(UrlRewriteFilter)

Freemaker  静态化模板技术 模板的作用 模板技术在现代的软件开发中有着重要的地位,而目前最流行的两种模板技术恐怕要算freemarker和velocity了,webwork2.2对两者都有不错的支持,也就是说在webwork2中你可以随意选择使用freemarker或velocity作为view,模板技术作为view的好处是很多,尤其和jsp比较起来优点更大,众所周知jsp需要在第一次被执行的时候编译成servlet,那么这个过程是很慢的,当然很多应用服务器都提供预编译的功能,但是在开

JSP第九次课:网上商城后台--后台相关页面设计

一.后台head页设计 1.head.jsp主要代码: %@ page language="java" import="java.util.*,mybean.*" pageEncoding="utf-8"%><%Admin admin=(Admin)session.getAttribute("admin");if(admin!=null){%> 当前用户:<%=admin.getName()%>

python3安装模块,摘自网上

配置好Python3.6和pip3安装EPEL和IUS软件源 yum install epel-release -y yum install https://centos7.iuscommunity.org/ius-release.rpm -y 安装Python3.6 yum install python36u -y yum install python36u-devel -y 创建python3连接符 ln -s /bin/python3.6 /bin/python3 安装pip3 yum i

Struts2知多少(2) Struts2 是什么

Struts2是流行和成熟的基于MVC设计模式的Web应用程序框架. Struts2不只是Struts1下一个版本,它是一个完全重写的Struts架构. WebWork框架开始以Struts框架为基础,其目标是提供一个加强和改进框架Struts来使web开发的开发人员更容易. 一段时间后,WebWork框架和Struts社区联手打造的著名的Struts2框架. Struts 2框架的特点: 这里有一些强大的功能,可能会迫使你考虑Struts2: POJO表单和POJO动作 - Struts2的S

JAVA多用户商城系统源码

最近公司要搞商城,让我多方咨询,最后看了很多,要不就是代码注释不全,要不就是bug多,要么就是文档缺少,最后决定自己开发一套商城. 下面是开发的一些心得体会,权且记录下来,给自己做个记录把.   网址:www.redpigmall.net,本人QQ:4407509,有问题可以联系本人 之前一直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重. 由于JAVA是开源的,最近几年hadoop等开源产品越来越成熟,而且是基于JAVA的,所以最终选择JAVA最后后台开发语言,现

Struts2 内核之我见

Struts2 内核之我见 完整分析 Struts2 内核中文文档 本文首先探讨了 Struts2 核心控制器的源码,以帮助解读 Struts2 的工作流程.接着讲解相关外围类.最后对 Struts 的工作流程进行完整总结. 7 评论: 常 磊, 技术部经理, 中能发展 2011 年 7 月 13 日 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用. 现在就开始免费试用 相信熟悉 Struts1 的程序员,对 Struts2 会迷惑,凡事是是而非.我也曾经遇到了这种情况.St