1.在WebRoot目录下新建一个templates文件夹,再建立一个test.ftl文件
<%@ page language="java" import="java.util.*,java.sql.*,com.test.*" pageEncoding="GB2312" isELIgnored="false"%>
<%@ taglib prefix="s" uri="/WEB-INF/classes/oscache.tld" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
${message}
</body>
</html>
2.新建一个LoginServlet
package com.test;
import java.io.IOException;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class LoginServlet extends HttpServlet {
/**
* Constructor of the object.
*/
private Configuration cfg;
public LoginServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void init() throws ServletException {
cfg = new Configuration();
cfg.setServletContextForTemplateLoading(this.getServletContext(),"WEB-INF/templates");
//这个地方与JAVA的调用方式不用,第一个参数放的是WEB应用的ServletContext实例,第二个参数放的是模板的路径
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Map root = new HashMap();
root.put("message","Hello FreeMaker");
Template t = cfg.getTemplate("test.ftl");
resp.setContentType("text/html;charset="+t.getEncoding());
Writer out = resp.getWriter();//通过获得一个Writer将模板和数据进行输出进行输出
try {
t.process(root, out);
} catch (Exception e) {
e.printStackTrace();
}
}
}
3.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.test.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
分享到:
相关推荐
本项目利用了`httpclient`与`freemarker`这两个工具来实现静态化的分页功能。下面将详细阐述这两个工具以及它们在静态化分页中的应用。 首先,`httpclient`是Apache的一个开源HTTP客户端库,它提供了丰富的API,...
Freemarker是一个强大的模板...以上就是基于Freemarker的网站静态化实例源码的主要技术点和实现流程。通过学习和实践这个案例,开发者可以深入理解如何在实际项目中运用Freemarker进行静态化,提升网站性能和用户体验。
4. **实现过程**:在Struts2中,可以通过自定义Result类型来实现静态化。这个Result类型会在Action处理完请求后,将生成的FreeMarker模板内容写入到一个静态HTML文件中。同时,需要设置适当的缓存策略,例如根据内容...
网页静态化是现代网站优化的重要技术...通过这个"网页静态化例程"的学习,你可以掌握基本的静态化技术,为构建高性能、易搜索的网站奠定基础。而压缩包中的demoStatPage可能包含了示例代码和相关资源,供你参考和实践。
【SpringBoot2 整合FreeMarker模板,完成页面静态化处理】 在Web开发中,页面静态化是一种提高网站性能和用户体验的技术。它涉及到将原本动态生成的页面转换为静态HTML文件,减少对服务器的依赖,加快页面加载速度...
动态网页静态化有诸多优点,例如减少服务器负载、提高页面加载速度、有利于SEO优化等。在大型网站或高并发场景下,这种技术尤其重要。同时,通过FreeMarker与SSH框架的结合,开发者可以充分利用两者的优势,实现高效...
动态页面静态化是一种提高网站性能和搜索引擎友好度的技术手段,主要通过将原本由服务器动态生成的HTML页面转换为预先生成的静态HTML文件。这样,用户请求时,服务器无需执行数据库查询和其他复杂操作,而是直接返回...
本示例主要探讨如何使用Freemarker实现页面静态化。 页面静态化分为两种类型:伪静态和全静态化。伪静态是将动态URL转换为静态化的URL形式,但实际请求仍然是动态处理;全静态化则是将动态内容转化为独立的HTML文件...
在IT行业中,自动生成静态网页技术与Servlet的结合使用是一种高效的方法,特别是在处理高并发访问和提高网站性能时。Servlet是Java服务器端编程的一个重要组件,它允许开发者创建动态、交互式的Web应用。本篇文章将...
Java页面静态化是一种提高网站性能的技术,它将动态生成的网页转换为静态HTML文件,以减少服务器处理和数据库查询的时间,提升用户体验。这种技术在高访问量、数据更新不频繁的网站中尤其适用。 首先,我们需要理解...
4. 使用第三方工具:有一些开源工具如SiteMesh、FreeMarker等可以帮助实现JSP页面静态化。这些工具通常提供了更完善的管理界面和配置选项,简化了静态化过程。 5. 混合模式:结合动态和静态页面,对于不常变化的...
Velocity和FreeMarker是两种常用的Java模板引擎,它们可以方便地结合JSP(JavaServer Pages)进行动态网页生成,并实现页面静态化。本文将详细介绍如何使用Velocity和FreeMarker模板实现页面静态化,并提供具体的...
2. **框架辅助**:使用如FreeMarker、Velocity等模板引擎,它们可以在运行时生成静态HTML,或者使用Struts2的StaticContentFilter进行静态化。 3. **自动化工具**:通过一些自动静态化工具,如SiteMesh、JSP2HTML等...
这篇博客 "freemarker+itext生成PDF" 可能详细介绍了如何结合这两者来生成PDF文件,这在报表生成、发票打印或任何需要静态化输出的场景中非常有用。 首先,让我们了解FreeMarker。FreeMarker是一个基于模板的语言,...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,比如Spring MVC框架就广泛使用了Freemarker作为其模板技术。本教程将基于提供的"freemarker编辑器"来详细介绍如何配置和使用Freemarker,以及它在...
【上品折扣网站静态化方案】是针对电商网站性能优化的一种技术手段,旨在提高网页加载速度,提升用户体验,减轻服务器压力。以下是对该方案的详细解释: 1. **基本架构**: - 静态化流程包括从数据库和配置文件...
Freemarker和Sitemesh是两个在Web开发中常用的开源技术。Freemarker是一个模板引擎,主要用于生成动态HTML或其他文本格式的输出,而Sitemesh则是一个页面布局和装饰框架,用于统一网站的外观和感觉。这两者的整合...
【标题】"SpringBoot+WebFlux+MongoDB+FreeMarker"是一个综合性的技术栈,主要涉及四个核心组件,它们分别是Spring Boot、WebFlux、MongoDB和FreeMarker。这四个组件共同构建了一个轻量级、反应式和非阻塞式的Web...
通过学习FreeMarker的使用、轮播图DataUrl接口开发、GridFS文件管理以及页面预览功能的开发等内容,可以帮助开发者深入理解并掌握页面静态化的关键技术。此外,通过实际案例的学习,还能够帮助读者更好地理解和应用...
- 静态化技术可以应用于不经常改变但访问频繁的页面,例如产品详情页或文章列表页。这可以显著降低服务器负载,改善用户体验。 5. **FreeMarker的优势** - 高效:FreeMarker的模板解析和渲染速度较快,尤其适合...