เพื่อลดแรงกดดันต่อเซิร์ฟเวอร์ ระบบการจัดการบทความดั้งเดิมได้เปลี่ยนจากการดึงข้อมูลจากฐานข้อมูลผ่านไฟล์ JSP เป็นการเข้าถึงไฟล์ html โดยตรงหลังจากสร้างไฟล์ html แบบคงที่ผ่าน jsp ต่อไปนี้เป็นตัวอย่างง่ายๆ
1.buildhtml.jsp
<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
-
พยายาม{
String title="นี่คือชื่อ";
String content = "นี่คือพื้นที่เนื้อหา";
ตัวแก้ไขสตริง = "LaoMao";
สตริง filePath = "";
filePath = request.getRealPath("/")+"test/template.htm";
//out.print(filePath+"<br>");
สตริง templateContent="";
FileInputStream fileinputstream = new FileInputStream(filePath);//อ่านไฟล์โมดูล
ความยาว int = fileinputstream.available ();
ไบต์ไบต์ [] = ไบต์ใหม่ [ความยาว];
fileinputstream.read(ไบต์);
ไฟล์อินพุทสตรีม.ปิด();
templateContent = สตริงใหม่ (ไบต์);
//out.print(แม่แบบเนื้อหา);
templateContent=templateContent.replaceAll("###title###",title);
templateContent=templateContent.replaceAll("###content###",เนื้อหา);
templateContent=templateContent.replaceAll("###author###",editor);//แทนที่ตำแหน่งที่เกี่ยวข้องในโมดูล
//out.print(แม่แบบเนื้อหา);
// รับชื่อไฟล์ตามเวลา
ปฏิทินปฏิทิน = Calendar.getInstance();
ไฟล์สตริง = 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();
-
จับ (ข้อยกเว้น e) {
out.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>
</หัว>
<ร่างกาย>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td align="center">###title###</td>
</tr>
<tr>
<td align="center">ผู้เขียน:###author### </td>
</tr>
<tr>
<td>###เนื้อหา###
</td>
</tr>
</ตาราง>
</ร่างกาย>
</html>