日期:2014-05-18  浏览次数:20719 次

jsp 的网站静态化方法
我想请教大家的jsp的静态化方法。
  能够告诉我才用那种静态化方法,比较优秀?谢谢!

            我的QQ:   39002818,欢迎和我联系。

------解决方案--------------------
这下面是一个例子,你看看吧!!


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>