`
zeroblue
  • 浏览: 47214 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

只有少量页面需要生成静态页面时,可以试试这个类

阅读更多

 

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();
    }


}

分享到:
评论

相关推荐

    动态页面生成静态页面实例

    5. **更新维护**:当动态内容改变时,需要重新生成对应的静态页面。 从提供的文件列表中,我们可以看到`web.config`文件,这是ASP.NET应用程序的配置文件,用于定义应用程序的行为,如路由规则、身份验证和错误处理...

    完整的asp生成静态页面

    完整的asp生成静态页面 asp生成静态页面,包括数据的添加、删除、修改,webeditor的使用和一些简单的js的使用根目录下index.htm页面为生成的首页asp文件夹 index.htm为后台操作页面 createhtml.asp为生成所有新闻静态...

    javaCMS 生成静态页面简单列子

    6. **动态与静态的切换**:在某些情况下,如内容频繁更新,可能需要保留动态生成页面,而在内容相对稳定的情况下,可以切换到静态页面提供服务。 7. **搜索引擎优化(SEO)**:静态页面对搜索引擎更友好,因为它们...

    .net生成静态页面

    2. **按需生成**:只在用户首次访问某个页面时生成静态页面。这需要在路由处理程序中进行特殊配置,当请求未找到静态HTML时,再执行常规的动态生成过程,并将结果保存为静态文件。 3. **缓存策略**:结合ASP.NET的...

    把php生成静态(html)页面程序类

    把php生成静态(html)页面程序类 private $template; //模版 private $file_name; //文件名 private $array; //数据数组 function __construct($file_name, $template, $array) { //构造类 $this-&gt;...

    一个静态化的例子(利用模板生成静态化页面)

    下面我们将详细探讨这个“一个静态化的例子(利用模板生成静态化页面)”。 首先,模板引擎是实现静态化过程的关键工具。模板页面通常由HTML代码组成,其中包含一些特殊的标记或指令,这些标记会被动态数据替换。...

    php静态 页面生成

    在提供的代码中,可以看到一个名为`CreateShtml`的函数,这个函数实现了PHP静态页面的生成过程。它首先通过`ob_start("callback_CteateShtml")`开启PHP的输出缓冲区,这意味着所有的输出都将被存储在内存中,而不是...

    生成静态页面 freemarker模板

    6. **更新与维护**: 当需要更新内容时,可以通过Struts2 Action重新生成对应的静态页面,或者在某些情况下,可以设计一个定时任务定期检查并更新静态页面。 总之,使用Freemarker和Struts2生成静态页面能够提高网站...

    生成静态页面并分页asp.net点击按钮把所有动态页面生成静态页面

    asp.net生成静态页面并分页 点击按钮把所有动态页面生成静态页面 asp.net生成静态页面并分页 asp.net生成静态页面并分页 asp.net生成静态页面并分页 asp.net生成静态页面并分页 asp.net生成静态页面并分页

    自动生成静态页面

    2. 按需生成(也称为“即时静态化”或“动态到静态”):当用户首次访问某个动态路由时,服务器会生成相应的静态页面并存储,后续相同请求将返回该静态页面,提高响应速度。 二、静态页面生成工具 常见的静态页面...

    JSP生成静态页面

    总的来说,JSP生成静态页面是提高网站效率的有效手段,但同时也需要谨慎处理静态化过程中的各种细节,以确保网站的正常运行和用户体验。在实际项目中,应结合具体需求和资源来选择合适的静态化策略。

    java 生成静态页面 工具类

    java 生成静态页面 工具类java 生成静态页面 工具类

    html静态页面生成

    1. 创建控制器和视图:在ASP.NET MVC或ASP.NET Core项目中,定义一个控制器,为每个需要生成静态页面的URL创建一个动作。编写相应的视图,定义页面布局和内容。 2. 渲染视图为HTML:在控制器动作中,使用`...

    NET(C#)网站后台自动生成静态页面

    在.NET(C#)环境中,创建一个能够自动生成静态页面的网站后台系统是一项常见的技术实践,尤其对于提升网站性能和搜索引擎优化(SEO)有着显著的作用。本文将深入探讨这个主题,介绍相关的关键知识点,并提供可能的...

    生成静态页面技术解决方案

    1. 新闻发布系统:生成静态页面技术解决方案可以应用于新闻发布系统,通过生成静态网页,提高网站的访问速度和减少服务器的负载量。 2. 博客系统:生成静态页面技术解决方案可以应用于博客系统,通过生成静态网页,...

    用java代码生成静态页面

    ### 使用Java代码生成静态页面的知识点 在当前的网络环境中,很多开发者会遇到需要通过程序自动生成静态HTML页面的需求。这种需求通常出现在博客系统、新闻网站或是任何需要定期更新大量内容且希望减轻服务器动态...

    ASP.NET生成静态页面

    在本文中,我们将深入探讨这个主题,包括如何实现静态页面生成、分页处理、常见问题以及代码优化。 首先,理解生成静态页的基本原理至关重要。在ASP.NET框架中,动态网页内容是由服务器端的代码生成的,而静态页面...

    根据效果图自动切图生成静态页面工具.

    在IT行业中,网页设计与开发是...对于需要频繁迭代和快速响应的设计团队来说,使用自动切图生成静态页面工具无疑是一个明智的选择,它能够提升工作效率,减少错误,让设计师和开发者可以更专注于创新和用户体验的提升。

    静态页面生成例子 ASP

    你可以通过学习和模仿这两个文件,了解如何在ASP中实现静态页面的生成。例如,你可能需要理解以下关键步骤: 1. **获取动态数据**:在生成静态页面前,首先需要获取动态内容,这通常涉及数据库查询或其他数据源的...

Global site tag (gtag.js) - Google Analytics