ZeroBlue

留出时间,让自己微笑。
posts - 6, comments - 12, trackbacks - 0, articles - 0
   :: 首页 ::  :: 联系 ::  :: 管理

 

package  com.schedule;

import  java.io.BufferedReader;
import  java.io.FileOutputStream;
import  java.io.IOException;
import  java.io.InputStreamReader;
import  java.io.OutputStreamWriter;
import  java.net.HttpURLConnection;
import  java.net.MalformedURLException;
import  java.net.URL;
import  java.util.HashMap;
import  java.util.Iterator;
import  java.util.Map;

public   class  StaticPageService  {
    
private  Map < String, String >  urlMap;

    
private  String realPath;

    
public   void  createFile()  {
        
if  (urlMap  ==   null {
            
throw   new  NullPointerException( " The url map is should not be null! " );
        }

        Iterator
< String >  keys  =  urlMap.keySet().iterator();
        String inputLine;
        String enter 
=   " \n " ;
        StringBuffer buffer 
=   new  StringBuffer();
        
try   {
            
while  (keys.hasNext())  {
                String key 
=  keys.next();
                URL url 
=   new  URL(key);
                HttpURLConnection uc 
=  (HttpURLConnection) url.openConnection();
                BufferedReader in 
=   new  BufferedReader( new  InputStreamReader(uc.getInputStream()));
                
if (buffer.length() > 0 )buffer.delete( 0 ,buffer.length());
                
while  ((inputLine  =  in.readLine())  !=   null {
                    buffer.append(inputLine);
                    buffer.append(enter);
                }

                String file 
=  realPath  +  urlMap.get(key);
                OutputStreamWriter fw 
=   new  OutputStreamWriter(
                        
new  FileOutputStream(file),  " GBK " );
                fw.write(buffer.toString());
                in.close();
                fw.close();
            }

        }
  catch  (MalformedURLException e)  {
            e.printStackTrace();
        }
  catch  (IOException e)  {
            e.printStackTrace();
        }

    }


    
/**
     * 
@param  urlMap
     *            the urlMap to set
     
*/

    
public   void  setUrlMap(Map < String, String >  urlMap)  {
        
this .urlMap  =  urlMap;
    }


    
/**
     * 
@param  realPath
     *            the realPath to set
     
*/

    
public   void  setRealPath(String realPath)  {
        
this .realPath  =  realPath;
    }


    
public   static   void  main(String[] args)  {
        StaticPageService service 
=   new  StaticPageService();
        Map
< String, String >  urlMap  =   new  HashMap < String, String > ();
        
// map的key为要生成静态页面的url,value为生成后的静态文件保存的路径
        urlMap.put( " http://localhost:8080/index.jsp " " /temp/index1.html " );
        urlMap.put(
" http://www.yahoo.com.cn/ " " /temp/index2.html " );
        
// 此参数用来设置当前Web应用的真实路径
        service.setRealPath( " d: " );
        service.setUrlMap(urlMap);
        service.createFile();
    }


}


评论

# re: 只有少量页面需要生成静态页面时,可以试试这个类  回复  更多评论   

2006-08-31 11:50 by leeight262
用过了,不错

# re: 只有少量页面需要生成静态页面时,可以试试这个类  回复  更多评论   

2007-09-13 16:00 by zeroblue
代码保存之后,以下语句多了空格,删掉即可:
service.setRealPath( " d: " );
urlMap.put( " http://localhost:8080/index.jsp " , " /temp/index1.html " );
urlMap.put( " http://www.yahoo.com.cn/ " , " /temp/index2.html " );
new FileOutputStream(file), " GBK " );

blogjava提供的编辑器功能一堆,华而不实,非常不好用,我试着重新编辑,结果无功而返。

只有注册用户登录后才能发表评论。


网站导航: