`
javne
  • 浏览: 67518 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA用URL下载网页为静态页面

阅读更多

1.可以作为项目的动态页面生成静态页面的功能

2.可以当做JSP小偷

3.可以当做全文网摘

package richin.reflect;

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

public class PageStatic {
	public static void convert2Html(String sFilePath,String sSavePath,String sHtmlFile) throws IOException
	{
		PageStatic ru = new PageStatic(); 
		String baseHref="<base href='"+sFilePath+"'></base>";
		String filePath = ru.getClass().getResource("/richin/reflect/PageStatic.class").getPath().toString(); //取得项目根目录
		filePath = filePath.substring(1, filePath.indexOf("WEB-INF")); 
	
		int HttpResult; 
		String SavePath = filePath + sSavePath; //保存路径 
		URL url=new URL(sFilePath); 
		URLConnection urlconn=url.openConnection(); //抽象类 URLConnection 是所有类的超类,它代表应用程序和 URL 之间的通信链接,通过在 URL 上调用 openConnection 方法创建连接对象 
		urlconn.addRequestProperty("Accept-Language", "zh-cn");
		urlconn.connect(); //使用 connect 方法建立到远程对象的实际连接 
		HttpURLConnection httpconn=(HttpURLConnection)urlconn; //每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络 

		HttpResult=httpconn.getResponseCode(); //getResponseCode可以从 HTTP 响应消息获取状态码 

		if(HttpResult!=HttpURLConnection.HTTP_OK) { 
		} else { 
			String charset=httpconn.getContentType();
			//System.out.println(charset);
			String charType=charset.substring(charset.lastIndexOf("=")+1);
			//System.out.println(charType);
			if("text/html".equals(charType))
				charType="GBK";
		InputStreamReader isr = new InputStreamReader(httpconn.getInputStream(),charType); 
		BufferedReader in = new BufferedReader(isr); 
		String inputLine; 
		if(!SavePath.endsWith("/")) { 
		SavePath+="/"; 
		} 
		FileOutputStream fout = new FileOutputStream(SavePath+sHtmlFile); 
		while ((inputLine = in.readLine()) != null) 
		{ 
		//System.out.println(inputLine);
		if(inputLine.toLowerCase().equals("<head>"))
		inputLine=inputLine+System.getProperty("line.separator")+baseHref;//加入basehref
		inputLine=inputLine+System.getProperty("line.separator");  //换行
		fout.write(inputLine.getBytes()); 
		} 
		in.close(); 
		fout.close(); 
		} 

	}
	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		convert2Html("http://www.51cto.com/art/200807/79080.htm","/","a4.htm"); 
	}

}

 

分享到:
评论
1 楼 soul_fly 2009-06-14  
感谢分享

相关推荐

    java 静态页面开发

    在Java Web应用中,静态页面通常是指不依赖服务器动态生成内容的网页,如HTML、图片、CSS样式表和JavaScript脚本等。 在Java中,开发静态页面主要使用Tomcat或Jetty等Web服务器,这些服务器可以托管静态资源。当...

    java 页面静态化

    Java页面静态化是一种提高网站性能的技术,它将动态生成的网页转换为静态HTML文件,以减少服务器处理和数据库查询的时间,提升用户体验。这种技术在高访问量、数据更新不频繁的网站中尤其适用。 首先,我们需要理解...

    javaCMS 生成静态页面简单列子

    Java CMS(内容管理系统)生成静态页面是一种常见的优化网站性能和提升用户体验的方法。在这个过程中,原本由动态脚本生成的网页内容被转化为HTML文件,这些HTML文件可以被浏览器直接读取,减少了服务器处理请求的...

    有关Java页面静态化

    - **定时刷新(Cron Job)**:设置定时任务,定期检查并更新静态页面,确保数据的时效性。 2. 客户端静态化: - **单页应用(SPA, Single Page Application)**:使用前端框架如React、Vue或Angular,将整个页面...

    java urlrewrite 实现伪静态化 demo源码

    Java URLRewrite是一个非常实用的库,用于在服务器端实现URL重写,进而实现网站的伪静态化。这个技术在优化网站SEO(搜索引擎优化)和提高用户体验方面具有重要作用。在这个"java urlrewrite 实现伪静态化 demo源码...

    java抓取网页内容--生成静态页面

    在Java编程中,生成静态页面是一种常见的技术,它涉及到网页内容的抓取和存储。这个程序的主要目的是从指定的URL抓取网页内容,并将其保存为一个HTML文件,即静态页面。下面将详细讲解这个过程涉及的关键知识点。 1...

    java JSP页面静态化总结_动态页面变为静态页面以减少访问数据库的次数提高速度.zip

    - **URLRewrite实现URL伪静态化**:通过URLRewrite工具,可以改变URL的展示形式,使其看起来像静态页面,但实际仍由动态页面处理。这种方法并不真正生成静态文件,但在用户看来,URL更简洁,更像静态页面。 4. **...

    java解决网站静态页面生成方案(源码)

    在这个特定的场景中,"java解决网站静态页面生成方案(源码)" 提供了一个利用Java实现的解决方案,旨在提高网站性能和用户体验。静态页面通常加载更快,对搜索引擎友好,且在高并发访问时能更好地处理负载。 生成...

    java爬虫webmagic抓取静态页面demo

    Java爬虫WebMagic是开发者常用来抓取网页数据的一个强大工具,尤其对于处理静态页面,它的易用性和灵活性使得在Java开发环境中非常受欢迎。WebMagic的设计理念是模块化,这使得我们可以灵活地组合各个组件来实现不同...

    伪静态页面生成技术|静态页面|生成技术

    伪静态页面生成技术是网站优化的重要手段,它结合了动态网页的灵活性和静态网页的优势,有助于提升SEO排名和用户体验。通过URL重写、服务器端转换或前端路由等方式,我们可以轻松实现伪静态效果。在实际应用中,合理...

    java自动生成静态页面Demo源码

    Java 自动生成静态页面技术是一种将动态网站内容转化为静态HTML页面的方法,这有助于提高网站的访问速度和搜索引擎优化。在本示例中,"java自动生成静态页面Demo源码" 提供了一个完整的实现,包括源代码和可能使用的...

    网上商城-静态页面模版

    【标题】"网上商城-静态页面模版"指的是一个用于构建在线购物平台的网页设计模板。这个模版专为初级开发者设计,旨在帮助他们快速搭建一个功能基础的网上商城网站,无需从零开始编写所有HTML、CSS和JavaScript代码。...

    java静态网页

    Java静态网页技术主要涉及到将动态网页内容转换成静态HTML页面,以便提高网站的访问速度和搜索引擎优化(SEO)。动态网页通常由服务器上的程序在请求时生成,而静态HTML页面是预先生成并存储在服务器上,用户请求时...

    java 后台管理静态html页面

    在“Hui.admin最新完整版下载”这个压缩包中,我们可以推测这可能是一个完整的后台管理系统项目,包含了前端静态HTML页面以及后端Java代码。通常这样的项目会包含以下组件: 1. **前端框架**:可能会使用Bootstrap...

    urlrewrite静态页面的使用例子

    在本文中,我们将深入探讨如何使用`urlrewrite`框架来实现静态页面的转换,这是一个在J2EE环境中常用于URL重写和管理的工具。`urlrewrite`框架可以帮助开发者优化URL结构,使其更加用户友好,同时也便于搜索引擎优化...

    JSP中把动态页面转换为静态页面.doc

    将动态页面转换为静态页面可以显著减少数据库的负载,提高网站的响应速度。 动态页面转换为静态页面的主要思路是利用Filter(过滤器)和Servlet来实现。Filter在Java Web中扮演着拦截请求的角色,可以对请求进行...

    java/jsp网站实现伪静态

    Java/JSP网站实现伪静态是一种优化网站性能和搜索引擎优化(SEO)的方法,它将动态页面的URL转换为静态或看似静态的格式,如.html。这样做可以提高网站的加载速度,减少服务器负担,并使搜索引擎更容易抓取和理解...

    java伪静态简单实例

    Java伪静态技术是一种在Web开发中用于优化搜索引擎友好度(SEO)的技术,它使得动态URL看起来像静态的HTML页面,从而提升网站的可读性和用户体验。在这个实例中,我们将探讨如何使用`urlrewrite`框架来实现Java中的...

    动态Jsp页面转换成静态Html页面

    5. 链接更新:如果动态页面包含其他动态链接,需要修改为静态页面的URL,确保页面间的导航正常。 三、实现步骤 1. 创建Servlet:编写一个Servlet,配置在web.xml中,设定URL映射规则,使得特定的JSP请求会被这个...

    jsp生成静态页面的方法

    然而,在某些场景下,为了提高网站性能、减轻服务器压力或便于SEO优化,将动态生成的内容转换为静态页面变得尤为重要。本文将详细介绍如何利用JSP与Servlet技术实现动态页面到静态页面的转换。 #### 技术背景 - **...

Global site tag (gtag.js) - Google Analytics