JSP页面静态化

package com.pageStatic;

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

public class Test {

 public static void convert2Html(String sUrl, String charset,
 String sSavePath, String sHtmlFile) throws IOException {

       int HttpResult;
       URL url = new URL(sUrl);
       URLConnection urlconn = url.openConnection();
       System.out.println(sSavePath);
       // 抽象类 URLConnection
       // 是所有类的超类,它代表应用程序和 URL
       // 之间的通信链接,通过在 URL 上调用
       // openConnection 方法创建连接对象
       urlconn.connect(); // 使用 connect 方法建立到远程对象的实际连接
       HttpURLConnection httpconn = (HttpURLConnection) urlconn;
       // 每个
       // HttpURLConnection
       // 实例都可用于生成单个请求,
       // 但是其他实例可以透明地共享连接到
       // HTTP 服务器的基础网络
        HttpResult = httpconn. getResponseCode();
       // getResponseCode可以从 HTTP
       // 响应消息获取状态码
       if (HttpResult != HttpURLConnection.HTTP_OK) {

       } else {
       InputStreamReader isr = new InputStreamReader(httpconn. getInputStream(),
       charset);
       BufferedReader in = new BufferedReader(isr);
       String inputLine;
       if (!sSavePath.endsWith("/")) {
          sSavePath += "/";
       }
      FileOutputStream fout = new FileOutputStream(sSavePath + sHtmlFile);
     while ((inputLine = in.readLine()) != null) {
        System.out.println(inputLine);
         fout.write((inputLine+"/n").getBytes());
     }

      in.close();
      fout.close();
   }
 }

 public static void main(String[] args) throws IOException {
          Test ru = new Test();
          String filePath =ru. getClass(). getResource("."). getPath().toString(); // 取得项目根目录
          filePath = filePath.substring(1, filePath.indexOf("WEB-INF"));
          convert2Html("http://localhost:8088/huajiao/index1.do", "UTF-8", filePath + "/","index.html");
 }
}

参数sUrl可以是.do 也可以是jsp

把web.xml里的配置

<welcome-file-list>
  <welcome-file>/sHtmlFile(生成之后的HTML文件,在此就是index.html)</welcome-file>
 </welcome-file-list>

JSP页面静态化

时间: 2024-10-24 22:19:10

JSP页面静态化的相关文章

浅谈——页面静态化

现在互联网发展越来越迅速,对网站的性能要求越来越高,也就是如何应对高并发量.像12306需要应付上亿人同时来抢票,淘宝双十一--所以,如何提高网站的性能,是做网站都需要考虑的. 首先网站性能优化的方面有很多:1,使用缓存,最传统的一级二级缓存:2,将服务和数据库分开,使用不同的服务器,分工更加明确,效率更加高:3,分布式,提供多台服务器,利用反向代理服务器nginx进行反向代理,将请求分散开来:4,数据库的读写分离,不同的数据库,将读操作和写操作分开,并实时同步即可:5,分布式缓存,使用memc

Asp.net动态页面静态化之初始NVelocity模板引擎

Asp.net动态页面静态化之初始NVelocity模板引擎 静态页面是网页的代码都在页面中,不须要运行asp,php,jsp,.net等程序生成client网页代码的网页,静态页面网址中一般不含"?"."="."&"等特殊符号. 静态页面不能自主管理公布更新的页面,假设想更新网页内容,要通过FTP软件把文件DOWN下来用网页制作软件改动(通过fso等技术例外) 常见的静态页面举例:.html扩展名的..htm扩展名的. 注意:静态页面并

FreeMarker页面静态化入门

一.什么是页面静态化 在访问 新闻.活动商品等详情页面时,路径可以是xx[id].html,服务器端根据请求 id, 动态生成 html 网页,下次访问数据时,无需再查询数据,直接将 html 静态页面返回 ---- 减 少 数 据 库 交 互 , 提 高 查 询 性 能. 二.使用技术Freemarker 在这里由于我是使用Struts2, 默认使用 freemarker 实现 自定义标签模板,项目导入 struts2 就已经导入freemarker jar 包 2.1:什么是Freemark

web day21 web过滤器Filter,应用案例统计IP,解决全站乱码,粗粒度权限控制,页面静态化

JavaWeb三大组件 1. 都需要在web.xml中进行配置 Servlet Listener(2个感知监听器不需要配置) Filter 过滤器 它会在一组资源(jsp.servlet..css..html等等)的前面执行! 它可以让请求得到目标资源,也可以不让请求达到! * 过滤器有拦截请求的能力! 登录: 允许它访问AServlet.BServlet.CServlet ------------------------------- 过滤器如何编写 1. 写一个类实现Filter接口 2.

各种系统性能优化技术,采用vilocity实现商品页面静态化

1.大型门户网站系统:>10万的访问量   行业网站(当当网,卓越网):20万-30万,一个小时内会跟数据库的交互至少20万-30万,会产生数据库瓶颈,每个数据库都有一个最大连接数(socket),一般服务器连接数2000个,如果超过2000,后面连接就会处于等待,在某一时间(短暂)内,有1万人访问了该产品页面,会跟数据库发生1万次交互,在这么短时间内,数据库处理能力是有限(如只能处理2000个连接),则8000个处于等待状态,等待超时的30s内可以再处理5000个链接,还有3000个连接 1)

Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则.强大的功能.高效的渲染效率.详尽的帮助说明与不断的更新与维护.常见的前端模板引擎有: 常用的java后台模板引擎:jsp.FreeMarker.Velocity等. 请不要迷恋速度,为了推广的测试可能是片面的,好的模板引擎经得起时间考验,建议大家选择成熟的.常用的模板引擎.另外不管前后端的模板引擎

PHP实现HTML页面静态化的方法

随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化. 一般情况下会从以下方面来做优化 动态页面静态化 优化数据库 使用负载均衡 使用缓存 使用CDN加速 现在很多网站在建设的时候都要进行静态化的处理,为什么网站要进行静态化处理呢?我们都知道纯静态网站是所有的网页都是独立的一个html页面,当我们访问的时候不需要经过数据的处理直接就能读取到文件,访问速度就可想而知了,而其对

freemark 页面静态化

1. 页面静态化是什么? 页面静态化有很多含义,在WEB开发中,静态网页一般理解为网站中大部分超级链接所引用的页面是单独的HTML静态页面文件(如.htm..html等页面文件,html语言本身是静态的,不支持数据的传递,可以防止SQL注入 ). 2. 为什么都要把页面静态化呢? 对于现在的互联网应用(Web Application)来说,动态页面是占有绝对高的地位的,正因为有了动态化,才有了现在互联网的丰富多彩,但是如同所有别的事实一样,好处往往都是有代价的.为了产生出动态的效果,每一次对页面

如何处理java高并发问题---之页面静态化

转载:如何处理java高并发问题---之页面静态化 解决java中的高并发问题可以从硬件软件等方面入手,硬件如:服务器:软件如:系统缓存.页面静态化等.这里我写的是页面静态化的简单小例子.之所以将这个小例子记录下来是因为之前对页面静态化有误解,原以为静态化页面就是在项目编写中前端页面利用html就可以.但是在参考网上资料后发现理解误差很大,以下是我在参考了一些网上资料后写的实现页面静态化的简单实例: 项目结构图 1.业务处理类Servlet.java(这里为了方便采用的servlet,可根据项目