每个人都是一个国王,在自身的世界里纵横跋扈,你不要听我的,但你也不要让我听你的。阳光洒在心中,惊醒一帘幽梦;问候如沐清风,蓝了朗朗晴空;泛起甜甜笑容,心事一切随风;开启快乐一天,身心时时放松。早安!
主要原理请参考http://blog.hunan2s.com/article.asp?id=233经过一翻调试,成功了。。呵附上源码。。JDK1.5+ECLIPSE+TOMCAT5.0.28+MYSQL5.0数据库TEST ,表名news
字段: idint自动增长 ,Titlevarchar(20),Contentvarchar(200),Authorvarchar(10)makeFile.jsp<%
Connectionconn=DBconn.getConnection();
Statementstmt=conn.createStatement();
ResultSetRs=stmt.executeQuery("select*fromnews");
System.out.println("success");%><%StringfilePath=request.getRealPath("/")+"template.htm";System.out.println(filePath);StringtemplateContent;
FileInputStreamfileinputstream=newFileInputStream(filePath);
intlenght=fileinputstream.available();//available()返回可以不受阻塞地从此文件输入流中读取的字节数。bytebytes[]=newbyte[lenght];fileinputstream.read(bytes);//read(byte[]b)从此输入流中将最多b.length个字节的数据读入一个字节数组中。fileinputstream.close();
//templateContent=newString(bytes);
Stringtitle;
Stringcontent;
Stringauthor;
while(Rs.next())
{
templateContent=newString(bytes);//如果不用这句,则替换一次之后,templateContent中就没有#**#标志了。所以要重新生成
title=Rs.getString("Title");
content=Rs.getString("Content");
author=Rs.getString("Author");
out.println(title+"********"+content+"****"+author);
out.print("以下是模板内容:<br>"+templateContent+"<br>以下是置换以后的html内容<br><hr>");
templateContent=templateContent.replaceAll("#title#",title);
templateContent=templateContent.replaceAll("#author#",author);//替换掉模块中相应的地方
templateContent=templateContent.replaceAll("#content#",content);//根据时间得文件名
Calendarcalendar=Calendar.getInstance();
Stringfileame=String.valueOf(calendar.getTimeInMillis())+".html";
fileame=request.getRealPath("/")+"Html/"+fileame;//生成的html文件保存路径
out.print(templateContent);
FileOutputStreamfileoutputstream=newFileOutputStream(fileame);//建立文件输出流
bytetag_bytes[]=templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();}if(conn!=null)
{
conn.close();
}
if(stmt!=null)
{
stmt.close();
}%>//数据库连接文件importjava.sql.*;
publicclassDBconn{publicDBconn(){//TODOAuto-generatedconstructorstub
}publicstaticConnectiongetConnection()
{
Connectionconn=null;try{
Class.forName("org.gjt.mm.mysql.Driver");
conn=DriverManager.getConnection("jdbc:mysql://"+"localhost"+"/"+"test"+
"?useUnicode=true&characterEncoding=GB2312","root","111111");}
catch(Exceptione)
{
e.printStackTrace();
}
returnconn;
}
/*publicstaticvoidmain(String[]args)throwsException
{
Connectioncon=getConnection();
System.out.println(con.isClosed());}
*/
}// 模板文件template.htm
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>#title#</title>
</head><body>
<tablewidth="380"height="107"border="0"cellpadding="0"cellspacing="1"bgcolor="#FFCC99">
<tr>
<tdheight="16"bgcolor="#FFCC99"><divalign="center">#title#</div></td>
</tr>
<tr>
<tdbgcolor="#FFFFFF">#content#</td>
</tr>
<tr>
<tdheight="13"align="right"bgcolor="#FFFFFF">#author#</td>
</tr>
</table>
</body>
</html>
以上就是用JSP生成静态页面。现在的你的位置并不重要,重要的是你前进的方向。更多关于用JSP生成静态页面请关注haodaima.com其它相关文章!