SpringBoot 利用freemaker生成静态页面
1、
<!-- freemarker模板 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-freemarker</artifactId>
			<version>1.4.1.RELEASE</version>
		</dependency>
2、修改配置
spring.freemarker.suffix=.ftl
spring.freemarker.templateEncoding=UTF-8
spring.freemarker.templateLoaderPath=classpath:templates/
spring.freemarker.content-type=text/html
3、在请求controller中加入生成静态页面代码,可自己封装,此处只做演示
/**
	 * @Description (http://127.0.0.1/abc.html 访问静态页面)
	 * @param root
	 * @param request
	 */
	private void freeMarkerToHtml(Map<String, Object> root, HttpServletRequest request,String id) {
		try {
			String path = null;
			Template temp = configuration.getTemplate("abc.ftl");
			// 以classpath下面的static目录作为静态页面的存储目录,同时命名生成的静态html文件名称
			String html = TestController.class.getResource("/").toString() + "static/";
			File dirfile = new File(html);
			if (!dirfile.exists()) {
				dirfile.mkdir();
			}
			path = html + id + ".html";
			// String path = this.getClass().getResource("/").toURI().getPath()
			// + "static/student.html";
			Writer file = new FileWriter(new File(path.substring(path.indexOf("/"))));
			temp.process(root, file);
			file.flush();
			file.close();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (TemplateException e) {
			e.printStackTrace();
		}
	}
@RequestMapping("/testhtml/{id}")
	public String gethtml(HttpServletRequest request, Model model,@PathVariable("id") String id) {
		String w = "Welcome FreeMarker jinxudong 哈喽!";
		Map root = new HashMap();
		root.put("w", w);
		freeMarkerToHtml(root, request,id);
		model.addAttribute("w", w);
		return "abc";
	}
可以吧对外开放的页面地址写错静态页的地址 不请求数据库 提高并发量
例如:后台请求地址:http://127.0.0.1/testhtml/1000
静态页地址:http://127.0.0.1/1000.html
SpringBoot 利用freemaker生成静态页面的更多相关文章
- 浅谈php生成静态页面
		
一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...
 - .net 生成 静态页面
		
.net 生成 静态页面 <!--Main.Aspx--> <%@ page language="C#" %> <%@ import namespac ...
 - 比较详细PHP生成静态页面教程
		
一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客 ...
 - PHP生成静态页面的方法
		
在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存 等实现页面静态化,今天就以PHP实例教程形 ...
 - 三种C#.net生成静态页面的方法
		
ASP.NET生成静态页面方法主要有三种 第一种方法:向服务器的动态页面发送请求,获取页面的html代码.这种方法缺点显而易见:速度慢.另外如果请求的动态页面有验证控件的话,返回的html页面却无 ...
 - PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
		
1.server会依据文件的后缀名去进行解析,假设是HTML文件则server不会进行语法解析.而是直接输出到浏览器. 2.假设一个页面中所有都是HTML代码而没有须要解析的PHP语法,则没有必要保存 ...
 - Java项目生成静态页面
		
第一次做项目需要生成静态页面,网上很多大牛对将网页生成静态页面有很多异议.说一下我的看法. 不外乎有以下因素: 1.从页面加载时间来看:静态页面不需要与数据库建立连接,尤其是访问数据量较大的页面,这种 ...
 - PHP生成静态页面详解
		
PHP生成静态页面详解 看到很多朋友在各个地方发帖问PHP生成静态文章系统的方法,以前曾做过这样一个系统,遂谈些看法,以供各位参考.好了,我们先回顾一些基本的概念. 一,PHP脚本与动态页面. PHP ...
 - PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
		
1.服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器. 2.如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件 ...
 
随机推荐
- view组件
			
view标签的属性值: hover-class:按下的点击态 属性值:字符串 如果:hover-class="none" 按下就没有点击态 hover-stop-pro ...
 - 主流架构 : MVP
			
1 背景 MVC 平时开发APP时会发现,activity职责非常重.以MVC角度来看: M:model数据操作层(网络请求,耗时操作,数据存取,其他逻辑操作) V:view,指xml布局文件,其实并 ...
 - CSS - 初始值、指定值、计算值、应用值、实际值
			
初始值:未提供指定值且未从父元素指定值继承的 CSS 属性的值. 指定值:通过直接声明或 CSS 属性的值. 计算值:通过需要计算得到的值,如,继承和相对的尺寸.(注意:有些计算要等到布局确定才能进行 ...
 - jmeter之自动重定向和跟随重定向用法
			
jmeter工具里面有自动重定向和跟随重定向这2种选择,那么他们到底有啥区别呢? 目录 1.自动重定向和跟随重定向 2.举个例子 1.自动重定向和跟随重定向 01.3XX的请求一般要使用跟随重定向,2 ...
 - 《Using Databases with Python》Week1 Object Oriented Python 课堂笔记
			
Coursera课程<Using Databases with Python> 密歇根大学 Charles Severance Week1 Object Oriented Python U ...
 - [转载]OpenSSL身份认证 RSA、ECC、SM2
			
一.生成证书openSSL生成RSA证书1 生成自签CA 生成CA密钥genrsa -aes256 -passout pass:123456 -out ca_rsa_private.pem 20481 ...
 - 安装mysql8.0.17时候报错1251-Client does not support authentication protocol requested by server; consider upgrading MySQL client
			
当mysql数据库安装时候选择的是加密密码时候,用navicat连接时候报错1521,这时候可以cmd之后登陆mysql执行下列代码就可以了 代码: mysql> alter user root ...
 - DP---DAG、背包、LIS、LCS
			
DP是真的难啊,感觉始终不入门路,还是太弱了┭┮﹏┭┮ DAG上的DP  一般而言,题目中如果存在明显的严格偏序关系,并且求依靠此关系的最大/最小值,那么考虑是求DAG上的最短路或者是最长路.(据说 ...
 - Temporal-Difference Learning for Prediction
			
In Monte Carlo Learning, we've got the estimation of value function: Gt is the episode return from t ...
 - Nginx https服务器证书安装步骤
			
本文档指导您如何在 Nginx 服务器中安装 SSL 证书. 说明: 本文档以证书名称 www.domain.com 为例. Nginx 版本以 nginx/1.16.0 为例. 当前服务器的操作系统 ...