类似于新闻系统那样,每个页面都是静态的,这样可以提高访问速度,不知哪位兄弟姐妹有比较好的方法

解决方案 »

  1.   

    用Velocity模板,然后生成!这样会非常好的!因为我就是这么做的呵呵!非常好!
      

  2.   

    网上有很多生成HTML的新闻系统,找一个来用就行了
      

  3.   

    为了减轻服务器压力,将原来的文章管理系统由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>