页面静态化
2016-06-29 19:25
357 查看
一.对页面静态化的了解
1.动态页面静态化
静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页静态页面网址中一般不含“?”、“=”、“&”等特殊符号。静态页面不能自主管理发布更新的页面如果想更新网页内容,要通过FTP软件把文件DOWN下来用网页制作软件修改(通过fso等技术例外) 常见的静态页面举例.html扩展名的、.htm扩展名的。 注意:静态页面并非网站上没有动画的就是静态页面。
2.静态页面的好处
a、静态网页的内容稳定,页面加载速度快。
b、静态网页的没有数据库支持,在网站制作和维护方面的工作量较大。
c、静态网页的交互性差,有很大的局限性。
3.简单的列举一个小例子(FreeMarker生成html)
1.User.java
2.新建类FreeMarkutil
3.新建测试类
4.创建user.ftl
1.动态页面静态化
静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页静态页面网址中一般不含“?”、“=”、“&”等特殊符号。静态页面不能自主管理发布更新的页面如果想更新网页内容,要通过FTP软件把文件DOWN下来用网页制作软件修改(通过fso等技术例外) 常见的静态页面举例.html扩展名的、.htm扩展名的。 注意:静态页面并非网站上没有动画的就是静态页面。
2.静态页面的好处
a、静态网页的内容稳定,页面加载速度快。
b、静态网页的没有数据库支持,在网站制作和维护方面的工作量较大。
c、静态网页的交互性差,有很大的局限性。
3.简单的列举一个小例子(FreeMarker生成html)
1.User.java
package com.hlj.bean; public class User { private String userName; private String userPassword; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } }
2.新建类FreeMarkutil
package com.hlj.controller; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; public class FreeMarkerutil { //templatePath模板文件存放路径 //templateName 模板文件名称 //filename 生成的文件名称 public static void analysisTemplate(String templatePath,String templateName,String fileName,Map<?,?>root){ try { Configuration config=new Configuration(); //设置要解析的模板所在的目录,并加载模板文件 config.setDirectoryForTemplateLoading(new File(templatePath)); //设置包装器,并将对象包装为数据模型 config.setObjectWrapper(new DefaultObjectWrapper()); //获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致 //否则会出现乱码 Template template=config.getTemplate(templateName,"UTF-8"); //合并数据模型与模板 FileOutputStream fos = new FileOutputStream(fileName); Writer out = new OutputStreamWriter(fos,"UTF-8"); template.process(root, out); out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); }catch (TemplateException e) { e.printStackTrace(); } } }
3.新建测试类
package com.hlj.test; import java.util.HashMap; import java.util.Map; import com.hlj.bean.User; import com.hlj.controller.FreeMarkerutil; public class Clienttest { public static void main(String[] args){ User user=new User(); user.setUserName("张三"); user.setUserPassword("123"); Map<String,Object> root=new HashMap<String, Object>(); root.put("user", user); String templatesPath="D:/templates"; String templateFile="/user.ftl"; String htmlFile=templatesPath+"/user.html"; FreeMarkerutil.analysisTemplate(templatesPath,templateFile,htmlFile,root); } }
4.创建user.ftl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv=Content-Type content="text/html; charset=utf-8"> <title>user.ftl</title> </head> <body> ${user.userName} ${user.userPassword} </body> </html>
相关文章推荐
- html首行缩进2字符,可以使用CSS属性中的【text-indent】进行设置。
- C++编程笔记:dll的生成与使用
- 华为OJ平台——整形数组合并
- Android Studio下测试用例的编写
- cmd
- Android——加载自定义html+JavaScript
- Windows下Redis的安装及PHP扩展使用
- 5类系统推荐算法
- HDU 1848 Fibonacci again and again (斐波那契博弈SG函数)
- Response有关
- 工厂模式
- openstack-networking-neutron(三)---用户态和内核态的区别
- (一) asp.net WebUploader 上传
- Git分支管理
- 资源推荐:FootLOL: Epic Fail League
- Markdown 字体,字号和颜色
- go语言实现一个简单的登录注册web小程序
- dreaming
- bzoj 3552: 最右非零的数 && hduoj 1066: Last non-zero Digit in N!(求N!的最后一个非0位)
- java 数组与链表的嵌套使用(数组链表--数据结构)