日期:2014-05-16  浏览次数:20322 次

jsp生成静态页面—1
  为了减轻服务器压力,将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。首先应创建一个模板文件,文件名和文件后缀可以随意,但我一般常用的还是 *.template ,因此,这里就以 template.template 为例( 将模板文件放入 /WEB-INF/templates/ 文件夹下 ):下面是一个简单的示例



1.buildhtml.jsp
Jsp代码

   1. <%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%> 
   2. <% 
   3. try{ 
   4.      //设置字符编码  
   5.      request.setCharacterEncoding( "gb2312" );  
   6.      response.setCharacterEncoding( "gb2312" );  
   7.  
   8.      String title="This is Title"; 
   9.      String content="This is Content Area"; 
  10.      String editer="LaoMao"; 
  11.      String filePath = ""; 
  12.      // 获得模板文件的路径 
  13.      filePath = request.getRealPath("/")+"test/template.htm"; 
  14.      //out.print(filePath+"<br>"); 
  15.      String templateContent=""; 
  16.      //读取模块文件 
  17.    FileInputStream fileinputstream = new FileInputStream(filePath); 
  18.      int lenght = fileinputstream.available(); 
  19.      byte bytes[] = new byte[lenght]; 
  20.      fileinputstream.read(bytes); 
  21.      fileinputstream.close(); 
  22.      templateContent = new String(bytes); 
  23.      //out.print(templateContent); 
  24.      templateContent=templateContent.replaceAll("###title###",title); 
  25.      templateContent=templateContent.replaceAll("###content###",content); 
  26.      templateContent=templateContent.replaceAll("###author###",editer);//替换掉模块中相应的地方 
  27.    //out.print(templateContent); 
  28.      // 根据时间得文件名 
  29.    Calendar calendar = Calendar.getInstance(); 
  30.      String fileame = String.valueOf(calendar.getTimeInMillis()) +".html"; 
  31.      //生成的html文件保存路径 
  32.    fileame = request.getRealPath("/")+fileame; 
  33.      //建立文件输出流 
  34.      FileOutputStream fileoutputstream = new FileOutputStream(fileame); 
  35.    byte tag_bytes[] = templateContent.getBytes(); 
  36.      fileoutputstream.write(tag_bytes); 
  37.      fileoutputstream.close(); 
  38.  
  39. }catch(Exception e){ 
  40.      out.print(e.toString()); 
  41. } 
  42.  
  43.  
  44. %> 

<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
try{
     //设置字符编码
     request.setCharacterEncoding( "gb2312" );
     response.setCharacterEnco