Afin de réduire la pression sur le serveur, le système de gestion d'articles d'origine a été modifié, passant de la récupération des données de la base de données via des fichiers JSP à un accès direct aux fichiers HTML après avoir généré des fichiers HTML statiques via JSP. Ce qui suit est un exemple simple
1.buildhtml.jsp
<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
essayer{
String title="Voici le titre" ;
String content="Ceci est la zone de contenu" ;
Éditeur de chaînes = "LaoMao" ;
Chaîne filePath = "" ;
filePath = request.getRealPath("/")+"test/template.htm";
//out.print(filePath+"
");
Chaîne templateContent="";
FileInputStream fileinputstream = new FileInputStream(filePath);//Lire le fichier du module
int longueur = fileinputstream.available();
octet octets[] = nouvel octet[longueur];
fileinputstream.read(octets);
fileinputstream.close();
templateContent = new String (octets);
//out.print(templateContent);
templateContent=templateContent.replaceAll("###title###",titre);
templateContent=templateContent.replaceAll("###content###",content);
templateContent=templateContent.replaceAll("###author###",editer);//Remplacer les emplacements correspondants dans le module
//out.print(templateContent);
// Récupère le nom du fichier en fonction de l'heure
Calendrier calendrier = Calendar.getInstance();
String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
fileame = request.getRealPath("/")+fileame;//Chemin d'enregistrement du fichier HTML généré
FileOutputStream fileoutputstream = new FileOutputStream(fileame);//Créer un flux de sortie de fichier
octet tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
}
attraper(Exception e){
out.print(e.toString());
}
%>
2. template.htm
###title###
auteur:###auteur###
###contenu###