`

根据 url生成html 静态化

阅读更多
package com.mjp.core.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Date;
import java.util.List;

import org.apache.log4j.Logger;



/**将根据url生成静态的html
* @author mojianpo
*
*/
public class MakeHtml {
private static long star = 0;
private static long end = 0;
private static long ttime = 0;

private static final Logger logger = Logger.getLogger(MakeHtml.class.getName());
/**
* 根据url 生成对应的 html代码
*
* @param httpUrl
* @return
*/
public static String getHtmlCode(String httpUrl) {
httpUrl = StringUtil.nvl(httpUrl);
if(httpUrl.equals("")){
return "";
}
Date before = new Date();
star = before.getTime();
String htmlCode = "";
try {
InputStream in;
URL url = new java.net.URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/4.0");
connection.connect();
in = connection.getInputStream();
java.io.BufferedReader breader = new BufferedReader(
new InputStreamReader(in, "utf-8"));
String currentLine;
while ((currentLine = breader.readLine()) != null) {
htmlCode += currentLine + "\n";
}
} catch (Exception e) {
logger.error(e.getCause());
e.printStackTrace();
} finally {
Date after = new Date();
end = after.getTime();
ttime = end - star;


logger.debug("执行时间:" + ttime + "秒");
}
return htmlCode;
}

/**
* 根据给的的url List 生成给定名称路径的html文件列表
*
* @param urlLst
*            url列表
* @param fileLst
*            要生成的文件的全路径列表
* @param isDel
*            true 表示 要删除存在的文件
*/
public static synchronized void writeHtml(List<String> urlLst, List<String> fileLst,
boolean isDel) {
if(urlLst == null || fileLst == null ||(urlLst.size() != fileLst.size())){
return;
}
for (int i = 0,count = urlLst.size();i < count; i++) {
writeHtml(urlLst.get(i), fileLst.get(i),isDel);
}

}

/**
* 根据给的的url 生成给定名称路径的html文件
*
* @param url
*           
* @param filePath
* @param isDel
*            true 表示 要删除存在的文件
*/
public static synchronized void writeHtml(String url, String filePath,
boolean isDel) {
Writer ow = null;
try {
File writeFile = new File(filePath);
boolean isExit = writeFile.exists();
File folder = writeFile.getParentFile();
if(folder.exists() == false){
folder.mkdirs();
}
if (isExit != true) {
writeFile.createNewFile();
} else {
if (isDel) {
writeFile.delete();
writeFile.createNewFile();
}
}
ow = new OutputStreamWriter(new FileOutputStream(filePath), "utf-8");
ow.write(getHtmlCode(url));
} catch (Exception ex) {
logger.debug(ex.getMessage());
} finally {
try {
ow.close();
} catch (Exception ex) {
logger.debug(ex.getMessage());
}
logger.debug(url + "\n" + filePath + "\n is make html ok..................");
}
}

/**测试main函数
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String httpUrl = "http://localhost:4848/";
//writeHtml(httpUrl, "f:/a.html", true);
URL url = new java.net.URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection = (HttpURLConnection) url.openConnection();
System.out.println(connection.getResponseCode());
}

}
分享到:
评论

相关推荐

    通过URL生成静态页面

    - **预渲染**:在用户访问之前,通过自动化工具或者服务器定时任务,根据URL生成对应的HTML文件。 - **按需生成**:当用户首次访问某个URL时,动态生成HTML,然后保存供后续请求使用。 - **服务端渲染(SSR)**:...

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

    3. **生成HTML**:结合数据和模板生成完整的HTML页面。 4. **保存为静态文件**:将生成的HTML页面保存到服务器的文件系统上,通常是在一个公共可访问的目录下。 5. **配置URL重写**:为了使用户能够通过原来的动态...

    url转html将远程url生成本地静态文本

    总之,将远程URL生成本地静态文本是一项实用的技术,可以帮助我们在离线环境下访问网页内容,或者进行数据分析。通过Python等工具,我们可以轻松实现这个功能,并通过计划任务自动化处理,满足各种应用场景的需求。

    生成HTML静态页面

    在IT行业中,生成HTML静态页面是一项常见的需求,尤其是在构建高性能、高可扩展性的网站时。ASP.NET是一个由微软开发的强大的Web应用程序框架,它提供了多种方法来实现动态内容转化为静态HTML页面,从而提高网站的...

    php生成静态化实例

    "PHP生成静态化实例"这一主题涉及到的是通过PHP动态生成HTML页面并将其存储为静态文件的技术。这一过程通常被称为静态化或者静态网页生成,对于提高网站性能、减轻服务器压力以及优化搜索引擎排名等方面都有显著的...

    ASP.NET生成静态HTML页面

    这些工具或组件可以帮助开发者自动化整个静态化流程,简化开发工作。 例如,`HttpHandler`可以拦截特定的请求,然后生成对应的静态页面。而`HttpModule`则可以在整个应用程序级别处理请求,实现全局的静态页面生成...

    html静态页面生成

    总之,通过.NET后台批量生成HTML静态页面,不仅可以提高网站性能,还有利于SEO优化。理解并掌握这一技术,对于.NET开发者来说是非常有价值的。在实践中,可以根据项目需求选择合适的实现方式,确保高效且稳定地生成...

    .net静态生成HTML

    .NET静态生成HTML是一种提高网站性能和用户体验的技术,它涉及到C#和ASP.NET编程语言的应用。在网站开发中,动态生成的HTML页面会根据用户请求实时从数据库获取数据并构建页面,这种方式虽然灵活,但可能会对服务器...

    生成html静态网页

    生成HTML静态网页的方法多种多样,可以根据不同的需求选择适合的技术和工具。以下将详细讲解生成HTML静态网页的相关知识点。 1. HTML基础:HTML由一系列元素(tags)组成,每个元素都有特定的含义和用途。例如,`...

    asp.net 页面静态化、生成静态页面实例

    3. 在HttpHandler中,检查请求的URL是否需要静态化。如果需要,读取动态内容,生成HTML,并保存到服务器的指定目录。 4. 设置HTTP响应,使其返回静态HTML文件而不是执行原本的ASP.NET页面生命周期。 5. 可以选择性地...

    jsp静态化,jsp静态化

    这些工具通常提供更灵活的配置,可以根据业务需求选择静态化策略。 在实际应用中,JSP静态化需要注意以下几点: 1. **更新策略**:静态页面一旦生成,如果动态数据发生变化,需要有机制来更新对应的静态页,否则...

    ASP.NET页面静态化,伪静态化

    页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问速度。而伪静态化则是通过URL重写技术,使得动态URL看起来像静态页面的URL,...

    ASP.NET生成html静态页

    本文将深入探讨ASP.NET如何生成HTML静态页,以及其背后的原理和实践技巧。 首先,让我们理解一下静态页面和动态页面的区别。静态页面是预先生成并存储在服务器上的HTML文件,用户请求时直接发送,无需数据库查询或...

    asp静态页生成程序,在线html静态页批量生成程序,网站转html程序代码

    2. **在线批量生成**:描述中提到可以“一键生成整站html静态页”,这意味着这个程序提供了批量处理功能,用户只需访问一个ASP页面就能触发整个网站的静态化过程,大大提高了效率。 3. **代码实现**:尽管没有提供...

    文章列表生成HTML静态分页页面

    总结来说,利用aspnetpager动态原理生成HTML静态分页页面,涉及到ASP.NET控件的使用、数据处理、文件操作以及URL路由配置等多个方面。这种方法在处理大量数据展示时非常有效,同时对SEO友好,因为搜索引擎更容易抓取...

    Asp.net根据Url和模板生成静态页面

    3. **生成HTML**:在页面的代码-behind文件中,创建一个方法来遍历数据并生成HTML。可以使用StringBuilder对象来构建HTML字符串,将动态内容插入到预先定义的占位符中。 4. **保存为静态文件**:生成的HTML字符串...

    首页静态化步骤

    标题“首页静态化步骤”指的是将网站的动态首页转换为静态HTML页面的过程,这有助于提高网站的加载速度、减轻服务器负担以及优化搜索引擎排名。在Web开发中,首页静态化是常见的性能优化手段。 首先,我们需要了解...

    javaCMS 生成静态页面简单列子

    3. **内容渲染**:当用户访问网站时,CMS会根据模板和数据库中的内容动态生成HTML页面。这个过程可以通过后端服务实现,也可以由前端框架如React、Vue等进行同构渲染。 4. **静态化**:当内容在后台发布或更新时,...

    asp.net Url重写与动态生成静态页面

    在ASP.NET中,动态生成静态页面(也称为“预渲染”或“静态化”)意味着在用户请求之前,服务器会预先生成HTML页面并存储在磁盘上。当用户访问时,服务器直接返回这些静态HTML文件,而不是执行ASPX页面的完整生命...

    网页静态化 URL重写代码实例

    网页静态化是指将动态生成的网页转化为静态HTML文件,这些文件可以直接被浏览器读取而无需经过服务器的处理。这样做的好处在于减少了服务器负担,提高了页面加载速度,同时也对搜索引擎更加友好。静态HTML文件通常...

Global site tag (gtag.js) - Google Analytics