动态生成静态页面

为了减轻服务器压力,将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。下面是一个简单的示例 
  
  1.buildhtml.jsp 
  
  <%@   page   contentType="text/html;   charset=gb2312"   import="java.util.*,java.io.*"%> 
  <% 
  try{ 
    String   title="This   is   Title"; 
    String   content="This   is   Content   Area"; 
    String   editer="LaoMao"; 
    String   filePath   =   ""; 
    filePath   =   request.getRealPath("/")+"test/template.htm"; 
    //out.print(filePath+"<br/>"); 
    String   templateContent=""; 
    FileInputStream   fileinputstream   =   new   FileInputStream(filePath);//读取模块文件 
    int   lenght   =   fileinputstream.available(); 
    byte   bytes[]   =   new   byte[lenght]; 
    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   calendar   =   Calendar.getInstance(); 
    String   fileame   =   String.valueOf(calendar.getTimeInMillis())   +".html"; 
    fileame   =   request.getRealPath("/")+fileame;//生成的html文件保存路径 
    FileOutputStream   fileoutputstream   =   new   FileOutputStream(fileame);//建立文件输出流 
    byte   tag_bytes[]   =   templateContent.getBytes(); 
    fileoutputstream.write(tag_bytes); 
    fileoutputstream.close(); 
  } 
  catch(Exception   e){ 
    out.print(e.toString()); 
  } 
  
  %> 
  
  2.   template.htm 
  
  <html> 
  <head> 
  <title>###title###</title> 
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"> 
  <LINK   href="../css.css"   rel=stylesheet   type=text/css> 
  </head> 
  
  <body> 
  <table   width="500"   border="0"   align="center"   cellpadding="0"   cellspacing="2"> 
      <tr>   
          <td   align="center">###title###</td> 
      </tr> 
      <tr>   
          <td   align="center">author:###author###&nbsp;&nbsp;</td> 
      </tr> 
      <tr> 
          <td>###content### 
    </td> 
    
      </tr> 
  
  </table> 
  </body> 
  </html>
原文地址: http://blog.chinaunix.net/u/26845/showart.php?id=277827

你可能感兴趣的:(html,jsp,PHP,.net,Blog)