欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JSP生成静态的hmtl文件

程序员文章站 2022-06-15 13:03:58
(sun企业级应用的首选)生成静态的hmtl文件为了减轻服务器压力,将原来的文章管理由jsp(sun企业级应用的首选)文件的从中取数据显示改为由jsp(sun企业级应用的首选)生成...

(sun企业级应用的首选)生成静态的hmtl文件
为了减轻服务器压力,将原来的文章管理由jsp(sun企业级应用的首选)文件的从中取数据显示改为由jsp(sun企业级应用的首选)生成静态html文件后直接访问html文件。下面是一个简单的示例

1.buildhtml.jsp(sun企业级应用的首选)

<%@ page contenttype="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
try{
 string title="jsp(sun企业级应用的首选)生成静态html文件";
 string content="小样,还搞不定你?";
 string editer="hpsoft";
 string filepath = "";
 filepath = request.getrealpath("/")+"template.htm";
 out.print(filepath);
 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###&nbsp;&nbsp;</td>
  </tr>
  <tr>
    <td>###content###
 </td>
 
  </tr>

</table>
</body>
</html>