ومن أجل تقليل الضغط على الخادم، تم تغيير نظام إدارة المقالات الأصلي من جلب البيانات من قاعدة البيانات من خلال ملفات JSP إلى الوصول المباشر إلى ملفات html بعد إنشاء ملفات html ثابتة من خلال jsp. فيما يلي مثال بسيط
1.buildhtml.jsp
<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
يحاول{
عنوان السلسلة = "هذا هو العنوان"؛
محتوى السلسلة = "هذه منطقة المحتوى"؛
محرر السلسلة = "LaoMao"؛
سلسلة ملف المسار = ""؛
filePath = request.getRealPath("/")+"test/template.htm";
//out.print(filePath+"<br>");
محتوى سلسلة القالب = ""؛
FileInputStream fileinputstream = FileInputStream الجديد (filePath)؛ // قراءة ملف الوحدة النمطية
int lenght = fileinputstream.available();
بايت بايت[] = بايت جديد[الطول];
fileinputstream.read(bytes);
fileinputstream. Close();
templateContent = new String(bytes);
//out.print(templateContent);
templateContent=templateContent.replaceAll("###title###",title);
templateContent=templateContent.replaceAll("###content###"،content);
templateContent=templateContent.replaceAll("###author###"،editer);// استبدل الأماكن المقابلة في الوحدة النمطية
//out.print(templateContent);
// احصل على اسم الملف بناءً على الوقت
تقويم التقويم = Calendar.getInstance();
String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
fileame = request.getRealPath("/")+fileame;// مسار حفظ ملف html الذي تم إنشاؤه
FileOutputStream fileoutputstream = new FileOutputStream(fileame);// إنشاء دفق إخراج ملف
بايت tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream. Close();
}
قبض (استثناء ه) {
print(e.toString());
}
%>
2. template.htm
<html>
<الرأس>
<title>###title###</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="../css.css" rel=stylesheet type=text/css>
</الرأس>
<الجسم>
<عرض الجدول = "500" الحدود = "0" محاذاة = "المركز" خلية الحشو = "0" تباعد الخلايا = "2">
<تر>
<td align="center">###title###</td>
</tr>
<تر>
<td align="center">المؤلف:###author### </td>
</tr>
<تر>
<td>###المحتوى###
</TD>
</tr>
</table>
</الجسم>
</html>