本文收集整理关于java实现生成本地静态页面的相关议题,使用内容导航快速到达。
内容导航:
Q1:java抓取网页内容--生成静态页面 ?
用jsoup 或者htmlpaser ,前者有点js使用的影子,关键是你怎么整理数据。
Q2:求JAVA生成静态页面 并且给出实例 100分送上
java输出静态页面与框架没有任何关系,也无需特殊配置,非常简单的...= =!
以下是我写的例子,希望对你有帮助!公司不给开Q,百度Hi即可!
import javax.servlet.http.HttpServletRequest; 
import java.util.List; 
import java.util.ArrayList; 
import java.util.Date; 
import java.net.URL; 
import java.net.URLConnection; 
import java.io.*; 
public class JspToHtml {
private static String title ="标题测试"; 
private static String context ="标题测试"; 
private static String editer ="标题测试"; 
/** 
* 根据本地模板生成静态页面 
* @param JspFilejsp路经 
* @param HtmlFile html路经 
* @return 
*/ 
public static boolean JspToHtmlFile(String filePath, String HtmlFile) { 
String str = ""; 
long beginDate = (new Date()).getTime(); 
try { 
String tempStr = ""; 
FileInputStream is = new FileInputStream(filePath);//读取模块文件 
BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
while ((tempStr = br.readLine()) != null) 
str = str + tempStr ; 
is.close(); 
} catch (IOException e) { 
e.printStackTrace(); 
return false; 
} 
try { 
str = str.replaceAll("###title###", 
title); 
str = str.replaceAll("###content###", 
context); 
str = str.replaceAll("###author###", 
editer);//替换掉模块中相应的地方 
File f = new File(HtmlFile); 
BufferedWriter o = new BufferedWriter(new FileWriter(f)); 
o.write(str); 
o.close(); 
System.out.println("共用时:" + ((new Date()).getTime() - beginDate) + "ms"); 
} catch (IOException e) { 
e.printStackTrace(); 
return false; 
} 
return true; 
} 
/** 
* 根据url生成静态页面 
* 
* @param u动态文件路经 如:http://www.163.com/x.jsp 
* @param path 文件存放路经如:x:\abc\bbb.html 
* @return 
*/ 
public static boolean JspToHtmlByURL(String u, String path) { 
//从utl中读取html存为str 
String str = ""; 
try { 
URL url = new URL(u); 
URLConnection uc = url.openConnection(); 
InputStream is = uc.getInputStream(); 
BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
while (br.ready()) { 
str += br.readLine() + "\n"; 
} 
is.close(); 
//写入文件 
File f = new File(path); 
BufferedWriter o = new BufferedWriter(new FileWriter(f)); 
o.write(str); 
o.close(); 
str = ""; 
return true; 
} catch (Exception e) { 
e.printStackTrace(); 
return false; 
} 
} 
/** 
* 根据url生成静态页面 
* 
* @param url 动态文件路经 如:http://www.163.com/x.jsp 
* @return d 
*/ 
public static StringBuffer getHtmlTextByURL(String url) { 
//从utl中读取html存为str 
StringBuffer sb = new StringBuffer(); 
try { 
URL u = new URL(url); 
URLConnection uc = u.openConnection(); 
InputStream is = uc.getInputStream(); 
BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
while (br.ready()) { 
sb.append(br.readLine() + "\n"); 
} 
is.close(); 
return sb; 
} catch (Exception e) { 
e.printStackTrace(); 
return sb; 
} 
} 
/** 
* 测试main 函数 
* 
* @param arg 
*/ 
public static void main(String[] arg) { 
long begin = System.currentTimeMillis(); 
//循环生成20个html文件 
for (int k = 0; k < 20; k++) { 
String url = "E:\workspace\oa\golatel\utils\Temp\mb.htm";//模板文件地址 
String savepath = "d:/" + k + ".html";//生成文件地址 
JspToHtmlFile(url, savepath); 
} 
System.out.println("用时:" + (System.currentTimeMillis() - begin) + "ms"); 
} 
}
//模板文件名称 leon.html