研究了一下jsp动态生成静态页面 废话不多说了 直接上代码
/**
* @author jeedroid
* @time 2011-11-24 00:47:52
*/
package com.jeedroid.makehtml;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class MakeHtml
{
public static void makeHtml(String url)
{
try {
//读取要访问的文件的内容
URL _url=new URL(url);
URLConnection conn=_url.openConnection();
InputStream inputStream=conn.getInputStream();
BufferedReader buffer=new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder=new StringBuilder();
String line=null;
while((line=buffer.readLine())!=null)
{
stringBuilder.append(line);
}
String fileContent=stringBuilder.toString();
inputStream.close();
String htmlFileName=generateFileName(url);
File htmlFile=new File("DHtml/",htmlFileName);
if(!htmlFile.exists())
{
htmlFile.createNewFile();
//把fileContent写入到html文件中
FileWriter fileWriter=new FileWriter(htmlFile,true);
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
bufferedWriter.write(fileContent);
bufferedWriter.close();
fileWriter.close();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//generate html filename according to request url
public static String generateFileName(String url)
{
String preFileName=url.substring(url.lastIndexOf("/"));
//需要把请求参数中的"?"转换一下 否则文件名不能出现问号
String fileName=preFileName.replace("?", URLEncoder.encode("?"));
return fileName.replace(".", "_")+".html";
}
}
然后用junit做了下测试
package com.jeedroid.makehtml;
import static org.junit.Assert.*;
import org.junit.Test;
public class MakeHtmlTest
{
@Test
public void testMakeHtml()
{
MakeHtml.makeHtml("http://localhost:8080/DynamicToHtml/index.jsp");
}
}
还不错 直接生成了静态页面 访问的时候只要用urlrewriter把对index.jsp的请求导向servlet,然后调用上面的javabean,转向html页面就行了 只要url一样就直接显示那个html 哈哈
分享到:
相关推荐
JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码JSP动态生成HTML静态页面源码
jsp生成静态页面的方法的最简单的代码,这儿的实现是通过Servlet代码,把客户端的请求以IO流创建静态的页面,响应客户端
在JSP输出的基础上将标签内的内容保存成静态文件,下次及可以直接调用
JSP生成静态HTML页面的几种方法
jsp生成静态页面 生成静态页面 完全可以运行的例子!!!!
用过滤器为JSP文件生成静态页面
java/jsp生成静态页面html/htm
jsp生成静态页面资料 jsp生成静态页面资料
java程序,让程序员编写的动态jsp最终生成静态的html,可适用,方便可以下载看看
jsp生成静态页面,全面生成。 生成静态页面
查询数据库,将JSP生成静态页面,减少服务器负担
JSP生成静态页面[归类].pdf
1、为什么要做:节省不停操作数据库的开支,减少解析JSP页面的...为了简便,你这里就可以采用数据库,当然你要全部采用静态页面也可以,可能操作就复杂一点,不过,如果你能够完整理解这个示例,那其它的都不是问题。
jspjsp通用静态页面生成系统
JSP版PowerDiamond生成静态wap wml页面
通过动态批量生成静态页面,可使企业在对外发布服务器选择上,缩减对硬件的投资,并同时降低企业的互联网接入费用。 Engineer系统可与目前98%以上文章管理系统进行无缝结合,2%特例系统,也可通过二次编码进行整合,...
主要介绍了动态JSP页生成静态HTML的方法,以实例形式较为详细的分析了JSP生成静态HTML页面的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
JDK 1.5 +ECLIPSE +TOMCAT 5.0.28 + MYSQL 5.0 数据库TEST ,表名news 字段: id int 自动增长 , Title varchar(20) , Content varchar(200) , Author varchar(10) makeFile.jsp <...
JSP生成静态HTML页面的最为普遍的三种方法: 前两种比较好理解,看多自然明白,这第三种需对Filter对象进一步理解。
FreeMarkerUtil操作以及类(jsp静态页面生成) 导入到项目中,做好模板,生成就可以了. 支持EL表达式