其实利于SEO搜索的可以有伪静态和纯动态。下面就分两种情况介绍:
1、如果是伪静态只要想办法包装一下url,让他看起来像个静态地址就行。
如果想要真静态,可以通过io,把页面写到一个真实的html文件中,以后可以直接访问这个这个文件地址。
2、java生成静态页面无需特殊配置,非常简单的,下面有各种输出需求,看你要哪种就拿去用吧
importjavax.servlet.http.HttpServletRequest;
importjava.util.List;
importjava.util.ArrayList;
importjava.util.Date;
importjava.net.URL;
importjava.net.URLConnection;
importjava.io.*;
publicclassJspToHtml{
privatestaticStringtitle="标题测试";
privatestaticStringcontext="标题测试";
privatestaticStringediter="标题测试";
/**
*根据本地模板生成静态页面
*@paramJspFilejsp路经
*@paramHtmlFilehtml路经
*@return
*/
publicstaticbooleanJspToHtmlFile(StringfilePath,StringHtmlFile){
Stringstr="";
longbeginDate=(newDate()).getTime();
try{
StringtempStr="";
FileInputStreamis=newFileInputStream(filePath);//读取模块文件
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
while((tempStr=br.readLine())!=null)
str=str+tempStr;
is.close();
}catch(IOExceptione){
e.printStackTrace();
returnfalse;
}
try{
str=str.replaceAll("###title###",
title);
str=str.replaceAll("###content###",
context);
str=str.replaceAll("###author###",
editer);//替换掉模块中相应的地方
Filef=newFile(HtmlFile);
BufferedWritero=newBufferedWriter(newFileWriter(f));
o.write(str);
o.close();
System.out.println("共用时:"+((newDate()).getTime()-beginDate)+"ms");
}catch(IOExceptione){
e.printStackTrace();
returnfalse;
}
returntrue;
}
/**
*根据url生成静态页面
*
*@paramu动态文件路经如:http://www.163.com/x.jsp
*@parampath文件存放路经如:x:\\abc\bbb.html
*@return
*/
publicstaticbooleanJspToHtmlByURL(Stringu,Stringpath){
//从utl中读取html存为str
Stringstr="";
try{
URLurl=newURL(u);
URLConnectionuc=url.openConnection();
InputStreamis=uc.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
while(br.ready()){
str+=br.readLine()+"\n";
}
is.close();
//写入文件
Filef=newFile(path);
BufferedWritero=newBufferedWriter(newFileWriter(f));
o.write(str);
o.close();
str="";
returntrue;
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}
}
/**
*根据url生成静态页面
*
*@paramurl动态文件路经如:http://www.163.com/x.jsp
*@returnd
*/
publicstaticStringBuffergetHtmlTextByURL(Stringurl){
//从utl中读取html存为str
StringBuffersb=newStringBuffer();
try{
URLu=newURL(url);
URLConnectionuc=u.openConnection();
InputStreamis=uc.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
while(br.ready()){
sb.append(br.readLine()+"\n");
}
is.close();
returnsb;
}catch(Exceptione){
e.printStackTrace();
returnsb;
}
}
/**
*测试main函数
*
*@paramarg
*/
publicstaticvoidmain(String[]arg){
longbegin=System.currentTimeMillis();
//循环生成20个html文件
for(intk=0;k<20;k++){
Stringurl="E:\\workspace\\oa\\golatel\\utils\\Temp\\mb.htm";//模板文件地址
Stringsavepath="d:/"+k+".html";//生成文件地址
JspToHtmlFile(url,savepath);
}
System.out.println("用时:"+(System.currentTimeMillis()-begin)+"ms");
}
}
//模板文件名称leon.html