- 浏览: 747758 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
梦行Monxin商城系统:
java网上商城与php网上商城比较 -
梦行Monxin商城系统:
java网上商城与php网上商城比较 -
任楚娴:
你好,请问html = nvl(html); 这句中的nvl( ...
java html串转换成文本串 -
u013246812:
,谢拉!
jQuery ui Dialog 讲解参数 -
大宝剑99:
...
前端优化
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());
}
}
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());
}
}
发表评论
-
全国最新行政区划代码(Tree)json数据以及地理数据
2020-11-11 21:23 382基于阿里提供的地理数据 http://datav.aliyun ... -
小知识点--解锁 AppChecker ping ip
2019-06-19 08:40 442在使用AppChecker 进行主动拨测的时候,目 ... -
记录年会小系统
2018-02-04 14:42 1144有点意思,年会过后,抽奖活动saas小系统扒光看看:支持P ... -
jdbc方式以 sys账号连接oracle数据的问题
2017-08-22 10:44 484多年以后,在操作oracle 时 发现 jdbc 连 ... -
proguard 代码混淆
2016-11-22 10:59 692url:http://proguard.sourceforg ... -
solr 表达式意义
2015-02-03 19:29 7781. “:”指定字段查指定值,如返回所有值*:* 2. “? ... -
solr 安装配置
2015-02-03 13:15 747solr 安装配置步骤: 1 首先下载solr(最新 ... -
javax.net.ssl.SSLKeyException: RSA premaster secre临时解决方案
2014-11-25 19:38 4420javax.net.ssl.SSLKeyException ... -
compass 小知识点
2014-09-15 10:22 940今天发现排序不管事, 查了一下:索引的问题:排序的列不进 ... -
java_opts 常用
2014-08-14 13:16 1221JVM设置,可以查考如下配置example:# Memory ... -
RPC Socket 服务调用模型
2014-04-09 16:14 602最近在看Dubbo 服务框架, 通过RPC 实现了输入和 ... -
JVM 基本参数
2014-04-03 11:49 789基本的JVM参数:-classpath, -cp: 设置类搜 ... -
eclipse 快捷键失效解决方法
2014-01-17 17:20 722有时候eclispe快捷键失效了,编码起来太难受了。 ... -
Compass+ lucene 通用代码(脱离数据库)
2013-11-08 15:09 920最近需要通过检索分类的方式进行处理,所以就写了接口与实 ... -
DEBUG远程tomcat
2013-08-21 13:35 1003一、在windows系统中:打开%CATALINE_H ... -
自动获取网页内容,然后写入excel文档中
2013-07-05 15:22 3451今天需要将北京物业公司名称以及电话给整理出来,发现爱帮 ... -
继续学习jersey+spring 构建RESTful风格 webservice
2013-03-13 10:36 3462j先说一下springmvc rest风格 spring ... -
尽量少使用jaxb 进行xml与对象互换
2013-03-09 17:33 1354尽量少使用jaxb 进行xml与对象互换 问题不少,这个好 ... -
Cookie path的设置
2013-02-21 10:58 1951cookie path 设置 IE对如下的co ... -
http 相关知识点
2012-10-11 10:49 1066Host头域 Host头域指定请求资源的Intenet主机和 ...
相关推荐
- **预渲染**:在用户访问之前,通过自动化工具或者服务器定时任务,根据URL生成对应的HTML文件。 - **按需生成**:当用户首次访问某个URL时,动态生成HTML,然后保存供后续请求使用。 - **服务端渲染(SSR)**:...
3. **生成HTML**:结合数据和模板生成完整的HTML页面。 4. **保存为静态文件**:将生成的HTML页面保存到服务器的文件系统上,通常是在一个公共可访问的目录下。 5. **配置URL重写**:为了使用户能够通过原来的动态...
总之,将远程URL生成本地静态文本是一项实用的技术,可以帮助我们在离线环境下访问网页内容,或者进行数据分析。通过Python等工具,我们可以轻松实现这个功能,并通过计划任务自动化处理,满足各种应用场景的需求。
在IT行业中,生成HTML静态页面是一项常见的需求,尤其是在构建高性能、高可扩展性的网站时。ASP.NET是一个由微软开发的强大的Web应用程序框架,它提供了多种方法来实现动态内容转化为静态HTML页面,从而提高网站的...
"PHP生成静态化实例"这一主题涉及到的是通过PHP动态生成HTML页面并将其存储为静态文件的技术。这一过程通常被称为静态化或者静态网页生成,对于提高网站性能、减轻服务器压力以及优化搜索引擎排名等方面都有显著的...
这些工具或组件可以帮助开发者自动化整个静态化流程,简化开发工作。 例如,`HttpHandler`可以拦截特定的请求,然后生成对应的静态页面。而`HttpModule`则可以在整个应用程序级别处理请求,实现全局的静态页面生成...
总之,通过.NET后台批量生成HTML静态页面,不仅可以提高网站性能,还有利于SEO优化。理解并掌握这一技术,对于.NET开发者来说是非常有价值的。在实践中,可以根据项目需求选择合适的实现方式,确保高效且稳定地生成...
.NET静态生成HTML是一种提高网站性能和用户体验的技术,它涉及到C#和ASP.NET编程语言的应用。在网站开发中,动态生成的HTML页面会根据用户请求实时从数据库获取数据并构建页面,这种方式虽然灵活,但可能会对服务器...
生成HTML静态网页的方法多种多样,可以根据不同的需求选择适合的技术和工具。以下将详细讲解生成HTML静态网页的相关知识点。 1. HTML基础:HTML由一系列元素(tags)组成,每个元素都有特定的含义和用途。例如,`...
3. 在HttpHandler中,检查请求的URL是否需要静态化。如果需要,读取动态内容,生成HTML,并保存到服务器的指定目录。 4. 设置HTTP响应,使其返回静态HTML文件而不是执行原本的ASP.NET页面生命周期。 5. 可以选择性地...
这些工具通常提供更灵活的配置,可以根据业务需求选择静态化策略。 在实际应用中,JSP静态化需要注意以下几点: 1. **更新策略**:静态页面一旦生成,如果动态数据发生变化,需要有机制来更新对应的静态页,否则...
页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问速度。而伪静态化则是通过URL重写技术,使得动态URL看起来像静态页面的URL,...
本文将深入探讨ASP.NET如何生成HTML静态页,以及其背后的原理和实践技巧。 首先,让我们理解一下静态页面和动态页面的区别。静态页面是预先生成并存储在服务器上的HTML文件,用户请求时直接发送,无需数据库查询或...
2. **在线批量生成**:描述中提到可以“一键生成整站html静态页”,这意味着这个程序提供了批量处理功能,用户只需访问一个ASP页面就能触发整个网站的静态化过程,大大提高了效率。 3. **代码实现**:尽管没有提供...
总结来说,利用aspnetpager动态原理生成HTML静态分页页面,涉及到ASP.NET控件的使用、数据处理、文件操作以及URL路由配置等多个方面。这种方法在处理大量数据展示时非常有效,同时对SEO友好,因为搜索引擎更容易抓取...
3. **生成HTML**:在页面的代码-behind文件中,创建一个方法来遍历数据并生成HTML。可以使用StringBuilder对象来构建HTML字符串,将动态内容插入到预先定义的占位符中。 4. **保存为静态文件**:生成的HTML字符串...
标题“首页静态化步骤”指的是将网站的动态首页转换为静态HTML页面的过程,这有助于提高网站的加载速度、减轻服务器负担以及优化搜索引擎排名。在Web开发中,首页静态化是常见的性能优化手段。 首先,我们需要了解...
3. **内容渲染**:当用户访问网站时,CMS会根据模板和数据库中的内容动态生成HTML页面。这个过程可以通过后端服务实现,也可以由前端框架如React、Vue等进行同构渲染。 4. **静态化**:当内容在后台发布或更新时,...
在ASP.NET中,动态生成静态页面(也称为“预渲染”或“静态化”)意味着在用户请求之前,服务器会预先生成HTML页面并存储在磁盘上。当用户访问时,服务器直接返回这些静态HTML文件,而不是执行ASPX页面的完整生命...
网页静态化是指将动态生成的网页转化为静态HTML文件,这些文件可以直接被浏览器读取而无需经过服务器的处理。这样做的好处在于减少了服务器负担,提高了页面加载速度,同时也对搜索引擎更加友好。静态HTML文件通常...