Heim  >  Artikel  >  Java  >  So verwenden Sie die FreeMarker-Vorlage, um die statische Seitenverarbeitung in SpringBoot2 abzuschließen

So verwenden Sie die FreeMarker-Vorlage, um die statische Seitenverarbeitung in SpringBoot2 abzuschließen

WBOY
WBOYnach vorne
2023-05-15 20:49:04939Durchsuche

1. Seitenstatisierung

1. Dynamische und statische Seiten

Statische Seiten, die auf geladene HTML-Seiten verweisen, ohne dass Serverdaten und Kompilierungsprozesse erforderlich sind. Sie werden zur Anzeige direkt in den Browser geladen . herauskommen. Laienhaft ausgedrückt bedeutet dies, dass eine unabhängige HTML-Seite ohne Dateninteraktion mit dem Server generiert wird.

Beschreibung der Vor- und Nachteile:

Der Inhalt statischer Webseiten ist stabil und die Seitenladegeschwindigkeit ist extrem schnell;
  • Interagiert nicht mit dem Server, was die Sicherheit verbessert;
  • Statische Webseiten haben schlechte Interaktivität und geringe Echtzeitdaten;
  • Die Dimensionskosten sind hoch und es werden viele HTML-Seiten generiert;
  • Dynamische Seite

bezieht sich auf eine Webprogrammierungstechnologie, die im Gegensatz zu statischen Webseiten steht Der Inhalt der Seite muss unabhängig vom Caching durch Anfordern des Servers abgerufen werden. Wenn sich die Daten in der Serviceschnittstelle ändern, ändert sich auch der auf der Seite geladene Inhalt, der angezeigte Inhalt ändert sich jedoch dynamisch Ergebnisse der Datenbankoperation.

Beschreibung der Vor- und Nachteile:

Echtzeiterfassung von Daten von dynamischen Webseiten mit geringer Latenz;
  • Aufgrund der Datenbankinteraktion sind die Seitenwartungskosten sehr gering;
  • Interaktion mit dem Datenbank in Echtzeit, die Kosten für die Sicherheitskontrolle sind hoch; im Vergleich leichter zu verstehen.
  • 2. Anwendungsszenarien

    Es gibt viele Anwendungsszenarien für die statische Verarbeitung dynamischer Seiten, wie zum Beispiel:
  • Der Kopf und das Ende großer Websites werden gleichmäßig geladen, nachdem sie statisch waren;

Medien-Websites, der Inhalt wird gerendert. Direkt in HTML-Webseiten umgewandelt.

Statische Webseiten, die von CDN-Edge-Knoten unterstützt werden Technologie: Schneller Service Die Reaktionsgeschwindigkeit oder die Weiterentwicklung des Antwortknotens, wie z. B. allgemeine Prozesse, Seiten- (Client-) Anforderungsdienste, Dienstverarbeitung, Antwortdaten, Seitenladen, eine Reihe von Prozessen sind nicht nur komplex, sondern auch zeit- aufwändig, wenn es auf statischer Technologie basiert Laden Sie nach der Verarbeitung die statische Seite direkt und die Anforderung endet.
  • 2. Prozessanalyse

    Die statische Seitenkonvertierung ist ein relativ komplexer Prozess, und der Kernprozess ist wie folgt:
  • Entwickeln Sie eine Seitenvorlage, also einen statischen Webseitenstil

  • Stellen Sie eine Schnittstelle zur Seitenvorlage bereit. Erhalten Sie Daten.

Schreiben Sie den Analyseprozess der Datenschnittstellen-Rückgabeparameter. Führen Sie die Daten und die Seitenvorlage basierend auf der Analyse-Engine zusammen

Statische HTML-Seite wird auf den Dateiserver hochgeladen;

So verwenden Sie die FreeMarker-Vorlage, um die statische Seitenverarbeitung in SpringBoot2 abzuschließen

Client (Client) erhält die URL-Ladeanzeige der statischen Seite; Der Prozess ist ungefähr wie oben. Wenn sich die Antwortparameter der Datenschnittstelle ändern, müssen statische Seiten neu generiert werden, sodass die Echtzeitleistung beim Laden von Daten viel geringer ist.
  • 3. Code-Implementierungsfall

    1. Grundlegende Abhängigkeiten
  • FreeMarker ist eine Vorlage, die auf den zu ändernden Daten basiert und zum Generieren von Ausgabetext (HTML-Webseiten, E-Mails, Konfigurationsdateien, Quellcode usw.) verwendet wird .) Universalwerkzeug.

    <dependency>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-freemarker</artifactid>
    </dependency>
    2. Seitenvorlage
  • Der von FreeMarker entwickelte Vorlagenstil wird hier verwendet. Die Syntax von

    
        <title>PageStatic</title>
    
    
    主题:${myTitle}<br>
    
    
    作者:${data.auth} 日期:${data.date}<br>
    
                                                                                                                                          #list>     
    规格描述产品详情
    ${info.desc}So verwenden Sie die FreeMarker-Vorlage, um die statische Seitenverarbeitung in SpringBoot2 abzuschließen

        So verwenden Sie die FreeMarker-Vorlage, um die statische Seitenverarbeitung in SpringBoot2 abzuschließen #list> FreeMarker ist im Wesentlichen dieselbe wie die ursprüngliche HTML-Syntax, verfügt jedoch über einen eigenen Satz von Datenverarbeitungs-Tags, deren Verwendung nicht kompliziert ist.
  • 3. Parsing-Prozess

    Durch das Parsen können die Daten der Seitenvorlage und der Datenschnittstelle zusammengeführt werden.
@Service
public class PageServiceImpl implements PageService {
    private static final Logger LOGGER = LoggerFactory.getLogger(PageServiceImpl.class) ;
    private static final String PATH = "/templates/" ;
    @Override
    public void ftlToHtml() throws Exception {
        // 创建配置类
        Configuration configuration = new Configuration(Configuration.getVersion());
        // 设置模板路径
        String classpath = this.getClass().getResource("/").getPath();
        configuration.setDirectoryForTemplateLoading(new File(classpath + PATH));
        // 加载模板
        Template template = configuration.getTemplate("my-page.ftl");
        // 数据模型
        Map<string> map = new HashMap();
        map.put("myTitle", "页面静态化(PageStatic)");
        map.put("tableList",getList()) ;
        map.put("imgList",getImgList()) ;
        // 静态化页面内容
        String content = FreeMarkerTemplateUtils.processTemplateIntoString(template, map);
        LOGGER.info("content:{}",content);
        InputStream inputStream = IOUtils.toInputStream(content,"UTF-8");
        // 输出文件
        FileOutputStream fileOutputStream = new FileOutputStream(new File("F:/page/newPage.html"));
        IOUtils.copy(inputStream, fileOutputStream);
        // 关闭流
        inputStream.close();
        fileOutputStream.close();
    }
    private List<tableinfo> getList (){
        List<tableinfo> tableInfoList = new ArrayList() ;
        tableInfoList.add(new TableInfo(Constant.desc1, Constant.img01));
        tableInfoList.add(new TableInfo(Constant.desc2,Constant.img02));
        return tableInfoList ;
    }
    private List<string> getImgList (){
        List<string> imgList = new ArrayList() ;
        imgList.add(Constant.img02) ;
        imgList.add(Constant.img02) ;
        return imgList ;
    }
}</string></string></tableinfo></tableinfo></string>

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die FreeMarker-Vorlage, um die statische Seitenverarbeitung in SpringBoot2 abzuschließen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen