Para reduzir a pressão no servidor, o sistema original de gerenciamento de artigos foi alterado, passando de buscar dados do banco de dados por meio de arquivos JSP para acessar diretamente os arquivos html após gerar arquivos html estáticos por meio de jsp. A seguir está um exemplo simples
1.buildhtml.jsp
<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
tentar{
String title="Este é o título";
String content="Esta é a área de conteúdo";
String editor="LaoMao";
String caminho do arquivo = "";
filePath = request.getRealPath("/")+"test/template.htm";
//out.print(filePath+"
");
String templateContent="";
FileInputStream fileinputstream = new FileInputStream(filePath);//Lê o arquivo do módulo
comprimento interno = fileinputstream.available();
byte bytes[] = novo byte[comprimento];
arquivoinputstream.read(bytes);
arquivoinputstream.close();
templateContent = nova String(bytes);
//out.print(templateContent);
templateContent=templateContent.replaceAll("###title###",title);
templateContent=templateContent.replaceAll("###content###",content);
templateContent=templateContent.replaceAll("###author###",editer);//Substitua os locais correspondentes no módulo
//out.print(templateContent);
// Obtém o nome do arquivo com base no tempo
Calendário calendário = Calendar.getInstance();
String nomedoarquivo = String.valueOf(calendar.getTimeInMillis()) +".html";
fileame = request.getRealPath("/")+fileame;//Caminho de salvamento do arquivo html gerado
FileOutputStream fileoutputstream = new FileOutputStream(fileame);//Cria um fluxo de saída de arquivo
byte tag_bytes[] = templateContent.getBytes();
arquivooutputstream.write(tag_bytes);
arquivooutputstream.close();
}
catch(Exceção e){
out.print(e.toString());
}
%>
2.template.htm
###title###
autor:###autor###
###conteúdo###