เพื่อลดแรงกดดันต่อเซิร์ฟเวอร์ ระบบการจัดการบทความดั้งเดิมได้เปลี่ยนจากการดึงข้อมูลจากฐานข้อมูลผ่านไฟล์ 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+"
");
สตริง 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
<หัว>
<ร่างกาย>
###title### |
ผู้เขียน:###author### |
###เนื้อหา### |