在新闻发布系统中,如果使用Jsp当作页面供人们访问,那么你会发现访问的速度远远没有HTML快.
那么这个时候就很有必要把从数据库中得到的数据,写进页面中,生成静态的HTML供人们访问.
下面就是用IO流做到这一点的一个小例子.
在D盘创建一个HTML,命名为00001当作模板.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" C>
<META NAME="Author" C>
<META NAME="Keywords" C>
<META NAME="Description" C>
</HEAD>
<BODY>
<table>
<tr>
<td>注意下面..</td>
<td id='test'></td>
</tr>
</table>
</BODY>
</HTML>
然后创建一个Java类,填入下列代码
try {
//创建文件夹
File folder = new File("D://IO");
if(!folder.isFile()){
folder.mkdir();
}
//创建文件
File file = new File("D://IO//00002.html");
if(!file.isFile()){
file.createNewFile();
}
//用字符流读取文件
BufferedReader in = new BufferedReader(new FileReader("D://00001.html"));
String str = "";
String s = "";
while((s=in.readLine())!=null){
str = str + s;
}
str = str +"<script language='javascript'>" +
"document.all.test.innerHTML = 'The innerText is plug in'"+
"</script>";
//将字符串转化成字节,写进文件.不用字符流的原因是有可能会产生乱码.
byte[] bt = str.getBytes();
FileOutputStream fos=new FileOutputStream("D://IO//00002.html");
fos.write(bt);
fos.flush();
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
运行上面的代码,会在D盘IO文件下生成00002这个HTML
代码是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" C>
<META NAME="Author" C>
<META NAME="Keywords" C>
<META NAME="Description" C>
</HEAD>
<BODY>
<table>
<tr>
<td>注意下面..</td>
<td id='test'>'The innerText is plug in'</td>
</tr>
</table>
</BODY>
</HTML>
你会发现'The innerText is plug in'已经写入到00002中去了.
这是使用IO流+javaScript把需要的资料加入到HTML中去.
那么这个时候就很有必要把从数据库中得到的数据,写进页面中,生成静态的HTML供人们访问.
下面就是用IO流做到这一点的一个小例子.
在D盘创建一个HTML,命名为00001当作模板.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" C>
<META NAME="Author" C>
<META NAME="Keywords" C>
<META NAME="Description" C>
</HEAD>
<BODY>
<table>
<tr>
<td>注意下面..</td>
<td id='test'></td>
</tr>
</table>
</BODY>
</HTML>
然后创建一个Java类,填入下列代码
try {
//创建文件夹
File folder = new File("D://IO");
if(!folder.isFile()){
folder.mkdir();
}
//创建文件
File file = new File("D://IO//00002.html");
if(!file.isFile()){
file.createNewFile();
}
//用字符流读取文件
BufferedReader in = new BufferedReader(new FileReader("D://00001.html"));
String str = "";
String s = "";
while((s=in.readLine())!=null){
str = str + s;
}
str = str +"<script language='javascript'>" +
"document.all.test.innerHTML = 'The innerText is plug in'"+
"</script>";
//将字符串转化成字节,写进文件.不用字符流的原因是有可能会产生乱码.
byte[] bt = str.getBytes();
FileOutputStream fos=new FileOutputStream("D://IO//00002.html");
fos.write(bt);
fos.flush();
fos.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
运行上面的代码,会在D盘IO文件下生成00002这个HTML
代码是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" C>
<META NAME="Author" C>
<META NAME="Keywords" C>
<META NAME="Description" C>
</HEAD>
<BODY>
<table>
<tr>
<td>注意下面..</td>
<td id='test'>'The innerText is plug in'</td>
</tr>
</table>
</BODY>
</HTML>
你会发现'The innerText is plug in'已经写入到00002中去了.
这是使用IO流+javaScript把需要的资料加入到HTML中去.