如今前后端分离,动静分离 使用freemarker实现动静分离,nginx处理静态资源文件,提高效率 加载jar包 <!-- freemarker --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>${freemarker.version}</version> </…
freemarker可以脱离web使用 前一篇文章使用了普通的方法 这回说说结合spring pom额外引入这个jar包 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency…
1. 学习计划 1.使用freemarker实现网页静态化 2.ActiveMq同步生成静态网页 2. 网页静态化 可以使用Freemarker实现网页静态化. 2.1. 什么是freemarker FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等. 目前企业中:主要用Freemarker做静态…
Freemarker是一种强大的web端模板技术,在当前Web开发中,SEO和客户端浏览速度尤为重要,其中将网页静态化是一个很好的解决方案.下面介绍Java中web开发结合Freemarker来实现静态化. 主要分为三步 1 准备好模板文件,如Test.ftl <html> <head> <title>${title}</title> <style type="text/css" link="${rccontextPath…
描述:本内容主要是讲2个tomcat之间同时共享一个静态话页面,统一入口是springMVC的一个controller,静态化的更新只需要传false.true.把完成的web项目放入a.b服务器Tomca,可同时访问同一个页面. Tomcat虚拟资源映射 一.tomcat中共享虚拟目录 .在tomcat中server.xml文件中,可配置多个tomcat映射到同一个内存服务磁盘,并共享资源 <Context docBase="C:\springMVCFreeMarker" pa…
使用Freemarker实现网页静态化 2017年08月20日 20:45:51 阅读数:1981 1.1. 什么是freemarker FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等. 目前企业中:主要用Freemarker做静态页面或是页面展示 1.2. Freemarker的使用方法 把…
1.FreeMarker实现网页静态化. FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等.目前企业中:主要用Freemarker做静态页面或是页面展示. 2.使用freemarker需要的jar. a).把下载到的jar包(freemarker-2.3.23.jar)放到\webapp\WEB…
#0 背景 工作需要实现导出PDF的功能,在进行简单调研后,我决定采用Freemarker + iTextRender进行实现. 基本思路如下: Freemarker实现根据动态数据渲染出需要导出的HTML iTextRender实现从HTML导出成PDF #1 Freemarker 渲染导出页面 FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一…
大数据大数据,身边很多朋友都在谈大数据,Big Data!!! 到底是什么,用来干嘛的,也很少有人说得出一二,那今天开始就简单说说这一二事吧 hadoop 的来源:是作者女儿的一个玩具 - 一只黄色的大象 发音 /hadu:p/  在Apache旗下作为一个开源项目 它不是云计算,却是云计算中的一部分,属于大数据这块 hadoop是一个开源的分布式计算系统   hadoop所解决的问题:      海量数据存储 - HDFS (分布式文件系统,分布在多台电脑上进行存储)可以理解为一个大型的网盘,…
刚开始不是理解 写完之后 觉得还蛮简单的 分为这几个步骤 1.获取页面模板Html 2.获取数据 3.解析模板和数据,生成静态页Html代码 4.生成静态文件 模板形式是mvc的模式,会mvc 看一下就懂了 主要是第2步和第3步 需要应用下面文件 RazorEngine.dll System.Web.Razor.dll /// <summary> /// 获取页面的Html代码 /// </summary> /// <param name="url">…
AngularJS可以通过ng-app来自动初始化模块,也可以通过angular.bootstrap(document, [module])手动启动应用,不管用哪种方法,应用启动后,动态往dom树里面添加的dom元素,无法执行angular指令,即无法通过ng-model.ng-click给动态添加的dom元素绑定数据和事件,怎么办? 动态添加dom元素的场景非常常见,如点击某页面上修改用户资料的按钮,发送ajax请求去查询用户资料,然后通过模板引擎将事先写在页面里的静态模板编译成HTML字符串…
1.解析工具类 package com.example.springbootfreemarker.utils; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; import org.springframework.beans.factory.annotation.Autowired; import…
一.什么是nginx 是一个C语言开发的HTTP反向代理服务器,性能非常高 一个俄罗斯的哥们开发的,官方提供的测试性能能够达到5W的并发,我的天呐~,实际测试差不多是2W,而淘宝的牛人可以优化到200W 运行效率非常好,占用的资源也非常低,运行稳定   二.Nginx的应用场景 有哪些 1.http服务器:Nginx是一个http服务可以独立提供http服务,可以做网页静态服务器,你可以放一些静态资源,比如HTML, JS, CSS, 图片 2.虚拟主机:可以实现在一台服务器虚拟出多个网站,同时…
一.背景 1.什么是FreeMarker FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)  2.FreeMarker特性 能够生成各种文本:HTML.XML.RTF.Java源代码等等 易于嵌入到你的产品中:轻量级:不需…
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.字符串内建函数 这些内建函数作用于表达式左侧的字符串值. 如果左侧值是数字或日期/时间/日期-时间或布尔类型(从 2.3.20 版本开始), 根据当前的number-, date/time/date-time- 和 boolean-format设置, 那么它会自动被转成字符串值(当使用${...} 插入这些值时,应用的都是一样的格式程序). boolean 字符串…
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 模板开发指南补充知识 1. 自定义指令 自定义指令可以使用 macro 指令来定义, 这是模板设计者所关心的内容. Java程序员若不想在模板中实现定义指令,而是在Java语言中实现指令的定义, 这时可以使用 freemarker.template.TemplateDirectiveModel 类来扩展 (请参考 后续章节). 1.1 基本内容 宏是有一个变量名的模板…
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 模板开发指南-入门  1.模板+数据模型=输出 假设在一个在线商店的应用系统中需要一个HTML页面,和下面这个页面类似: OUTPUT: <html> <head> <title>Welcome!</title> </head> <body> <h1>Welcome John Doe!</…
一.java 代码 @Test public void testFreeMarker() throws Exception { //1.创建一个模板文件 //2.创建一个Configuration对象 Configuration configuration = new Configuration(); //3.设置模板文件保存的目录 configuration.setDirectoryForTemplateLoading(new File("E:/workspaces/fw-item-web/s…
为了说明angularJS如何增强了标准HTML,我们先将创建一个静态HTML页面模板,然后把这个静态HTML页面模板转换成能动态显示的AngularJS模板. 在本步骤中,我们往HTML页面中添加两个手机的基本信息,用以下命令将工作目录重置到步骤1. git checkout -f step-1 请编辑app/index.html文件,将下面的代码添加到index.html文件中,然后运行该应用查看效果. app/index.html <ul> <li> <span>…
说明:刚刚接到公司的通知,实现(半自动化),即通过参数控制是否需要静态化页面(哪里我说错了,勿喷!谢谢) 1,请求.do的URL时直接生成对应的.htm文件,并将请求转发到该htm文件 2,自由控制某个页面是否需要静态化 如果看图不懂的呢,说白了这个中技术就是:java对象+ftl模型=输出html视图 1.在sprinMVC中:MVC框架中的View层组件.Html页面静态化.代码生成工具 2.为什么要用FreeMarker:简单容易学.逻辑分离明确 3.FreeMarker优点:FreeMa…
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 1.assign 概要 <#assign name1=value1 name2=value2 ... nameN=valueN> 或 <#assign same as above... in namespacehash> 或 <#assign name> capture this </#assign> 或 <#assign…
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 模板开发指南之模板 1. 总体结构 实际上用程序语言编写的程序就是模板. FTL (代表FreeMarker模板语言). 这是为编写模板设计的非常简单的编程语言. 模板(FTL编程)是由如下部分混合而成的: 文本:文本会照着原样来输出. 插值:这部分的输出会被计算的值来替换.插值由 ${ and } 所分隔(或者 #{ and },这种风格已经不建议再使用了:点击查看…
学习笔记,选自freeMarker中文文档,译自 Email: ddekany at users.sourceforge.net 模板开发指南——数值.类型 1.基本内容 1.1 什么是数值? 正如你知道的,来自于每天所使用的数字,比如16,0.5等这些用语就是 数值 的示例,也就是数字.在计算机语言中, 这些用语有着更广泛的含义,比如数值并不一定是数字类型值,比如面这个数据模型: (root) | +- user = "Big Joe" | +- today = Jul 6, 200…
为了说明angularJS如何增强了标准HTML,我们先将创建一个静态HTML页面模板,然后把这个静态HTML页面模板转换成能动态显示的AngularJS模板. 在本步骤中,我们往HTML页面中添加两个手机的基本信息,用以下命令将工作目录重置到步骤1. git checkout -f step-1 请编辑app/index.html文件,将下面的代码添加到index.html文件中,然后运行该应用查看效果. app/index.html <ul> <li> <span>…
这里对freemarker的代码进行了修改,效果:1,请求.do的URL时直接生成对应的.htm文件,并将请求转发到该htm文件2,自由控制某个页面是否需要静态化原理:对org.springframework.web.servlet.view.freemarker.FreeMarkerView类进行扩展第一步:在web.xml中将*.do请求交给SpringMVC <servlet> <servlet-name>demo</servlet-name> <servl…
最近经常有人问图片上传怎么做,有哪些方案做比较好,也看到过有关于上传图片的做法,但是都不是最好的 今天再这里简单讲一下上传图片以及图片服务器的大致理念 如果是个人项目或者企业小项目,仅仅只有十来号人使用的小项目,可以使用如下方案: 用户访问系统,使用上传图片功能,那么图片就上传到你的当前项目所在的tomcat服务器上,在/image下,上传成功后用户可以直接访问 http://ip:port/project/images/xxx.jpg 这样做在用户少的时候是没有问题的 当你的企业发展起来了,业…
最近看了nginx以及tomcat的集群,通俗的做一下简单总结吧 nginx 是一个http服务器,是由俄罗斯人发明的,目前主流的服务器,作为负载均衡服务器,性能非常好,最高支持5万个并发连接数,在淘宝被广泛使用(据说被淘宝的工程师优化到单机200万的并发,非常的厉害) 单个tomcat最大支持的用户并发量默认是150,在测试过程中250左右开始会有性能的问题 举个栗子,有3台tomcat,有N多请求同时经过nginx的时候,nginx作为一个路由,把请求分别分发给这3台tomcat,以此减少t…
静态工厂方法及实例工厂的使用: applicationContext.xml: <!-- factory-method 是指调用静态工厂方法 --> <bean id="helloWorld2" class="com.lee.spring002.createobject.method.HelloWorldFactory" factory-method="getInstance"></bean> <!--…
你是否遇到过因为同事在任务中过于放飞自我而感到头疼?或者经历过因为内容描写的不系统而导致关键信息被忽视? 现在,CODING Markdown 模板功能将帮助你解决这些困扰. 功能介绍 CODING 研发管理系统任务内容支持 Markdown 语言.Markdown 是一种轻量级标记语言,让写作者专注于写作而不用关注样式.CODING Markdown 模板功能主要用于解决企业在项目协作中的内容输出规范问题,同时可以在 CODING 研发管理系统各处的 Markdown 编辑框内实现快速填写指定…
一 freemarker加载模版机制 freemarker中的配置项template_update_delay表明模版的缓存时间,单位是s,超过缓存时间则从磁盘加载最新的模版,具体细节如下: 1)freemarker中获取模版的方法在Configuration中: 2)Configuration的getTemplate方法直接代理给TemplateCache: 3)TemplateCache中首先会尝试从缓存中加载模版: 然后根据template_update_delay来判断缓存中的模版是否需…