`
baobeituping
  • 浏览: 1068740 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

FreeMaker实现静态化技术(2)【网页版本】

阅读更多

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`与`freemarker`这两个工具来实现静态化的分页功能。下面将详细阐述这两个工具以及它们在静态化分页中的应用。 首先,`httpclient`是Apache的一个开源HTTP客户端库,它提供了丰富的API,...

    Freemarker网站静态化的实现实例源码(eclipse)

    Freemarker是一个强大的模板...以上就是基于Freemarker的网站静态化实例源码的主要技术点和实现流程。通过学习和实践这个案例,开发者可以深入理解如何在实际项目中运用Freemarker进行静态化,提升网站性能和用户体验。

    struts2+freemarker 生成静态页面

    4. **实现过程**:在Struts2中,可以通过自定义Result类型来实现静态化。这个Result类型会在Action处理完请求后,将生成的FreeMarker模板内容写入到一个静态HTML文件中。同时,需要设置适当的缓存策略,例如根据内容...

    网页静态化例程 网站静态化学习的第一步

    网页静态化是现代网站优化的重要技术...通过这个"网页静态化例程"的学习,你可以掌握基本的静态化技术,为构建高性能、易搜索的网站奠定基础。而压缩包中的demoStatPage可能包含了示例代码和相关资源,供你参考和实践。

    SpringBoot2 整合FreeMarker模板,完成页面静态化处理.docx

    【SpringBoot2 整合FreeMarker模板,完成页面静态化处理】 在Web开发中,页面静态化是一种提高网站性能和用户体验的技术。它涉及到将原本动态生成的页面转换为静态HTML文件,减少对服务器的依赖,加快页面加载速度...

    SSH框架和FreeMarker动态网页生成静态技术

    动态网页静态化有诸多优点,例如减少服务器负载、提高页面加载速度、有利于SEO优化等。在大型网站或高并发场景下,这种技术尤其重要。同时,通过FreeMarker与SSH框架的结合,开发者可以充分利用两者的优势,实现高效...

    动态页面静态化汇总--页面静态化方案

    动态页面静态化是一种提高网站性能和搜索引擎友好度的技术手段,主要通过将原本由服务器动态生成的HTML页面转换为预先生成的静态HTML文件。这样,用户请求时,服务器无需执行数据库查询和其他复杂操作,而是直接返回...

    freemark 页面静态化

    本示例主要探讨如何使用Freemarker实现页面静态化。 页面静态化分为两种类型:伪静态和全静态化。伪静态是将动态URL转换为静态化的URL形式,但实际请求仍然是动态处理;全静态化则是将动态内容转化为独立的HTML文件...

    自动生成静态网页技术+servlet实现

    在IT行业中,自动生成静态网页技术与Servlet的结合使用是一种高效的方法,特别是在处理高并发访问和提高网站性能时。Servlet是Java服务器端编程的一个重要组件,它允许开发者创建动态、交互式的Web应用。本篇文章将...

    java 页面静态化

    Java页面静态化是一种提高网站性能的技术,它将动态生成的网页转换为静态HTML文件,以减少服务器处理和数据库查询的时间,提升用户体验。这种技术在高访问量、数据更新不频繁的网站中尤其适用。 首先,我们需要理解...

    动态JSP页面静态化,html输出

    4. 使用第三方工具:有一些开源工具如SiteMesh、FreeMarker等可以帮助实现JSP页面静态化。这些工具通常提供了更完善的管理界面和配置选项,简化了静态化过程。 5. 混合模式:结合动态和静态页面,对于不常变化的...

    velocity freemarke 模版 静态化 实现

    Velocity和FreeMarker是两种常用的Java模板引擎,它们可以方便地结合JSP(JavaServer Pages)进行动态网页生成,并实现页面静态化。本文将详细介绍如何使用Velocity和FreeMarker模板实现页面静态化,并提供具体的...

    jsp静态化总结(jsp2html)

    2. **框架辅助**:使用如FreeMarker、Velocity等模板引擎,它们可以在运行时生成静态HTML,或者使用Struts2的StaticContentFilter进行静态化。 3. **自动化工具**:通过一些自动静态化工具,如SiteMesh、JSP2HTML等...

    freemarker+itext生成PDF

    这篇博客 "freemarker+itext生成PDF" 可能详细介绍了如何结合这两者来生成PDF文件,这在报表生成、发票打印或任何需要静态化输出的场景中非常有用。 首先,让我们了解FreeMarker。FreeMarker是一个基于模板的语言,...

    freemarker编辑器

    Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,比如Spring MVC框架就广泛使用了Freemarker作为其模板技术。本教程将基于提供的"freemarker编辑器"来详细介绍如何配置和使用Freemarker,以及它在...

    上品折扣网站静态化方案1

    【上品折扣网站静态化方案】是针对电商网站性能优化的一种技术手段,旨在提高网页加载速度,提升用户体验,减轻服务器压力。以下是对该方案的详细解释: 1. **基本架构**: - 静态化流程包括从数据库和配置文件...

    freemarker 与sitemesh 整合例子

    Freemarker和Sitemesh是两个在Web开发中常用的开源技术。Freemarker是一个模板引擎,主要用于生成动态HTML或其他文本格式的输出,而Sitemesh则是一个页面布局和装饰框架,用于统一网站的外观和感觉。这两者的整合...

    springboot+webflux+mongodb+freemarker

    【标题】"SpringBoot+WebFlux+MongoDB+FreeMarker"是一个综合性的技术栈,主要涉及四个核心组件,它们分别是Spring Boot、WebFlux、MongoDB和FreeMarker。这四个组件共同构建了一个轻量级、反应式和非阻塞式的Web...

    资源前后端分离式分布式微服务架构项目CMS页面静态化讲义+源码+视频

    通过学习FreeMarker的使用、轮播图DataUrl接口开发、GridFS文件管理以及页面预览功能的开发等内容,可以帮助开发者深入理解并掌握页面静态化的关键技术。此外,通过实际案例的学习,还能够帮助读者更好地理解和应用...

    struts1.2+freeMarker

    - 静态化技术可以应用于不经常改变但访问频繁的页面,例如产品详情页或文章列表页。这可以显著降低服务器负载,改善用户体验。 5. **FreeMarker的优势** - 高效:FreeMarker的模板解析和渲染速度较快,尤其适合...

Global site tag (gtag.js) - Google Analytics