研究了一下jsp动态生成静态页面 废话不多说了 直接上代码
/**
* @author jeedroid
* @time 2011-11-24 00:47:52
*/
package com.jeedroid.makehtml;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class MakeHtml
{
public static void makeHtml(String url)
{
try {
//读取要访问的文件的内容
URL _url=new URL(url);
URLConnection conn=_url.openConnection();
InputStream inputStream=conn.getInputStream();
BufferedReader buffer=new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder=new StringBuilder();
String line=null;
while((line=buffer.readLine())!=null)
{
stringBuilder.append(line);
}
String fileContent=stringBuilder.toString();
inputStream.close();
String htmlFileName=generateFileName(url);
File htmlFile=new File("DHtml/",htmlFileName);
if(!htmlFile.exists())
{
htmlFile.createNewFile();
//把fileContent写入到html文件中
FileWriter fileWriter=new FileWriter(htmlFile,true);
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
bufferedWriter.write(fileContent);
bufferedWriter.close();
fileWriter.close();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//generate html filename according to request url
public static String generateFileName(String url)
{
String preFileName=url.substring(url.lastIndexOf("/"));
//需要把请求参数中的"?"转换一下 否则文件名不能出现问号
String fileName=preFileName.replace("?", URLEncoder.encode("?"));
return fileName.replace(".", "_")+".html";
}
}
然后用junit做了下测试
package com.jeedroid.makehtml;
import static org.junit.Assert.*;
import org.junit.Test;
public class MakeHtmlTest
{
@Test
public void testMakeHtml()
{
MakeHtml.makeHtml("http://localhost:8080/DynamicToHtml/index.jsp");
}
}
还不错 直接生成了静态页面 访问的时候只要用urlrewriter把对index.jsp的请求导向servlet,然后调用上面的javabean,转向html页面就行了 只要url一样就直接显示那个html 哈哈
分享到:
相关推荐
**JSP生成静态页面**是一种优化网站性能的技术,它通过将动态内容转化为静态HTML文件,减少服务器处理请求的负担,提高网页的加载速度。这种方式在高流量网站中尤其常见,因为静态页面可以被缓存,减少了数据库查询...
1. **检测变化**:系统需要监听JSP文件或数据源的变化,一旦发现变化,就需要重新生成静态页面。 2. **预编译JSP**:当检测到变化后,使用JSP的`jsp:include`或`jsp:forward`指令,将JSP页面预编译成Servlet,并...
### jsp生成静态页面的方法 在Web开发领域中,动态页面技术如JSP(Java Server Pages)被广泛应用于构建复杂的网站应用。然而,在某些场景下,为了提高网站性能、减轻服务器压力或便于SEO优化,将动态生成的内容...
总结起来,"JSP文件生成静态页面"是一个旨在优化Web应用性能的技术,通过过滤器在请求处理阶段生成HTML并转发给客户端,降低了服务器处理动态请求的负担。这一技术需要对Java Web、Servlet过滤器以及HTML静态化有...
jsp生成静态页面 生成静态页面 完全可以运行的例子!!!!
在Web开发领域,JavaServer Pages (JSP) 是一种广泛使用的服务器端脚本语言,用于创建动态、交互式的网页。JSP技术允许开发者将HTML代码与Java代码混合编写,然后在服务器端运行Java代码,生成HTML页面返回给客户端...
JSP生成静态页面是提高网站性能的一种常见策略,因为它可以减少服务器处理的负担,加快用户加载速度。下面将详细解释JSP生成静态页面的概念、原理以及实现方法。 1. **静态页面与动态页面的区别** 静态页面是由纯...
java/jsp生成静态页面html/htm
5. 链接更新:如果动态页面包含其他动态链接,需要修改为静态页面的URL,确保页面间的导航正常。 三、实现步骤 1. 创建Servlet:编写一个Servlet,配置在web.xml中,设定URL映射规则,使得特定的JSP请求会被这个...
在IT行业中,动态网站开发是常见的应用场景,而“查询数据库,由JSP生成静态页面”是一种优化网站性能的策略。这种技术旨在通过将频繁访问的数据转换为静态HTML页面,从而减轻服务器的压力,提高用户访问速度,提升...
这种方式称为"JSP生成静态页面",也就是标题和描述中提到的主题。 静态页面与动态页面的主要区别在于,静态页面的内容在服务器端被一次性生成,然后发送给客户端,而动态页面则是在每次请求时由服务器实时计算并...
### 让JSP编程HTML生成静态页面 #### 知识点概述 在现代Web开发中,将动态生成的内容转换为静态HTML页面有时是必要的。这不仅有助于提高网站性能(因为静态页面加载更快),还能增强SEO效果,使得搜索引擎更容易...
本文将深入探讨JSP如何生成静态页面,以及这一过程对网站性能的影响。 一、JSP简介 JSP是一种基于Java的服务器端技术,由Sun Microsystems(现为Oracle公司的一部分)开发。它允许开发者在HTML页面中嵌入Java代码,...
JSP 生成静态 HTML 页面的几种方法 JSP 技术广泛应用于 web 开发领域,其中一个重要的应用场景是生成静态 HTML 页面。静态 HTML 页面相比动态页面具有许多优点,例如加载速度快、搜索引擎友好、减少服务器负载等。...
3. 实现静态化逻辑:在Servlet或Filter中,当接收到请求时,判断是否需要生成静态页面。如果需要,可以使用JSP的`javax.servlet.jsp.JspWriter`对象将JSP内容写入到HTML文件中,然后返回该HTML文件的路径。 4. 配置...
总的来说,通过URL生成静态页面是提高网站性能的重要手段,它结合了动态网站的灵活性和静态网站的速度优势。在实际应用中,需要根据项目需求选择合适的实现策略,并注意平衡性能、更新、安全等因素。
在Java编程领域,生成静态页面是一项常见的任务,尤其在构建网站、文档系统或者API文档时。这个过程通常涉及将动态内容转化为HTML格式的静态文件,以便于提高网站的加载速度和减少服务器负担。本篇文章将深入探讨...
总结,通过JSP生成静态页面并实现分页功能,可以提高Web应用的性能和用户体验。这个过程中涉及到了动态页面与静态页面的转换、数据库查询优化、用户交互设计等多个方面,是Web开发中的一个重要实践。
《JSP生成静态页面》 在Web开发中,提高页面加载速度和搜索引擎友好性是重要的优化目标之一。静态页面由于不涉及服务器端处理,通常比动态页面更快,更易于搜索引擎抓取。JSP生成静态页面的技术就是为了实现这一...
### JSP结合JavaBean生成静态页面的技术要点及实现方法 #### 一、为什么要生成静态页面? 在Web开发中,动态页面(如JSP)虽然功能强大且易于维护,但每次请求都需要从数据库获取数据并执行复杂的逻辑处理,这无疑...