婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Java 項目生成靜態頁面的代碼

Java 項目生成靜態頁面的代碼

熱門標簽:地圖標注專業和非專業 汝南縣地圖標注app 福建電銷貓機器人收費 外呼直播語音系統 四川正規外呼系統軟件 湖北地圖標注公司 山東ai外呼電銷機器人好用嗎 甘肅銷售電銷機器人公司 智能電話機器人銷售話術
不外乎有以下因素:
1、從頁面加載時間來看:靜態頁面不需要與數據庫建立連接,尤其是訪問數據量較大的頁面,這種頁面大多要查很多結果集,因此建立連接次數就增多了,時間不可觀,而靜態頁面則省去了這些時間。
2、從便于搜索引擎抓取的角度來講:搜索引擎更喜歡靜態的網頁,靜態網頁與動態網頁相比,搜索引擎更喜歡靜的,更便于抓取,搜索引擎SEO排名更容易提高,一些大門戶站頁面大多都采用靜態或偽靜態網頁來顯示,更便于搜索引擎抓取與排名。
3、從安全性來看:靜態網頁不宜遭到黑客攻擊,因為黑客不知道你的網站的后臺、網站采用程序、數據庫的地址。
4、從穩定性來看:哪天數據庫服務器掛了,動態網頁就拜拜了!而要運行一個靜態網頁的發布服務器,相信大家都知道配置不是太高也行的吧?呵呵。

因此,我認為,生成靜態頁面具有可行性。

那么怎么把動態網頁的代碼生成靜態網頁呢?又存在哪呢?原理其實很簡單。
1、利用Freemark模板生成靜態頁面,網上搜一下大把大把的代碼隨你挑,我就不在這里啰嗦了。
我很討厭這種方式,因為對于一個數據量較大的頁面來講工作量太大,要寫模板,語法又比較怪異,不流行!
2、也是我偶爾想起來的。用Java中URLConnection抓取某個URL網頁源碼(這是原理核心)生成html文件,就是這么簡單!就是這么Easy!

代碼奉上!

1)、以下是捕捉網頁源碼程序:
復制代碼 代碼如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;

/**
* @author Xing,XiuDong
*/
public class HTMLGenerator {

    public static final String generate(final String url) {
        if (StringUtils.isBlank(url)) {
            return null;
        }

        Pattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+");
        Matcher matcher = pattern.matcher(url);
        if (!matcher.find()) {
            return null;
        }

        StringBuffer sb = new StringBuffer();

        try {
            URL _url = new URL(url);
            URLConnection urlConnection = _url.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));

            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                sb.append(inputLine);
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return sb.toString();
    }

    /**
     * Test Code
     * Target : http://www.google.cn/
     */
    public static void main(String[] args) throws IOException {
        String src = HTMLGenerator.generate("http://www.google.cn/");

        File file = new File("C:" + File.separator + "index.html");
        FileUtils.writeStringToFile(file, src, "UTF-8");
    }

}

2)、將源碼寫入Html文件,這個需要根據用戶的需求了,我根據我項目中遇到的情況寫了以下代碼:
復制代碼 代碼如下:

    /**
     * generite html source code
     *
     * @author Xing,XiuDong
     * @date 2009.06.22
     * @param request
     * @param url
     * @param toWebRoot
     * @param encoding
     * @throws IOException
     */
    public void genHtml(HttpServletRequest request, String url, boolean toWebRoot, String encoding) throws IOException {

        if (null == url) {
            url = request.getRequestURL().toString();
        }

        String contextPath = request.getContextPath();
        String seq = StringUtils.substring(String.valueOf(new Date().getTime()), -6);

        String ctxPath = super.getServlet().getServletContext().getRealPath(File.separator);
        if (!ctxPath.endsWith(File.separator)) {
            ctxPath += File.separator;
        }

        String filePath = StringUtils.substringAfter(url, contextPath);
        filePath = filePath.replaceAll("\\.(do|jsp|html|shtml)$", ".html");

        String savePath = "";
        String autoCreatedDateDir = "";
        if (!toWebRoot) {
            savePath = StringUtils.join(new String[] { "files", "history", "" }, File.separator);

            String[] folderPatterns = new String[] { "yyyy", "MM", "dd", "" };
            autoCreatedDateDir = DateFormatUtils.format(new Date(), StringUtils.join(folderPatterns, File.separator));

            filePath = StringUtils.substringBefore(filePath, ".html") + "-" + seq + ".html";
        }

        File file = new File(ctxPath + savePath + autoCreatedDateDir + filePath);
        FileUtils.writeStringToFile(file, HTMLGenerator.generate(url), encoding);
    }

來源:http://blog.csdn.net/xxd851116
您可能感興趣的文章:
  • Java中的static靜態代碼塊的使用詳解
  • javaweb中靜態文件的常用處理方法匯總
  • Java UrlRewriter偽靜態技術運用深入分析
  • 深入淺析Java中Static Class及靜態內部類和非靜態內部類的不同
  • java中靜態變量和實例變量的區別詳細介紹
  • Java中的靜態綁定和動態綁定詳細介紹
  • Java中static靜態變量的初始化完全解析
  • 使用java將動態網頁生成靜態網頁示例
  • JAVA中使用雙括號來初始化靜態常量的小技巧
  • Java靜態方法和實例方法區別詳解

標簽:肇慶 白銀 南充 吳忠 黔東 梅州 臨沂 昌都

巨人網絡通訊聲明:本文標題《Java 項目生成靜態頁面的代碼》,本文關鍵詞  Java,項目,生成,靜態,頁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Java 項目生成靜態頁面的代碼》相關的同類信息!
  • 本頁收集關于Java 項目生成靜態頁面的代碼的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产日韩欧美精品一区| 不卡的电影网站| 国产午夜久久久久| 91麻豆swag| 日韩精品成人一区二区三区| 精品一区二区在线播放| 九色|91porny| 99国产精品久久久久久久久久久 | 久久精品视频网| 一区二区三区欧美亚洲| 国产精品久线观看视频| 亚洲精品一区二区三区精华液| 欧美性感一类影片在线播放| 91女厕偷拍女厕偷拍高清| 成人av午夜电影| 不卡免费追剧大全电视剧网站| 国产成人免费视频网站| 国产激情视频一区二区在线观看| 精品在线观看视频| 狠狠狠色丁香婷婷综合激情 | 国产一区二区视频在线播放| 久久精品二区亚洲w码| 美女国产一区二区| 国产一区二区三区久久久| 国产一区 二区 三区一级| 韩国中文字幕2020精品| 国产在线精品免费| 国产成人综合亚洲网站| 成人毛片视频在线观看| 色综合中文字幕国产 | 国产91对白在线观看九色| 国产一区久久久| 不卡欧美aaaaa| 91美女蜜桃在线| 欧美日韩精品高清| 日韩欧美一区中文| 国产夜色精品一区二区av| 中文字幕一区三区| 五月天亚洲婷婷| 国产乱码精品一品二品| 91美女在线观看| 欧美精品亚洲二区| 久久久五月婷婷| 中文字幕一区二| 婷婷六月综合网| 国产91对白在线观看九色| 欧美中文字幕不卡| 久久久久久久久久看片| 亚洲免费观看高清完整版在线| 五月天激情小说综合| 成人午夜在线播放| 欧美日韩另类一区| 国产精品国产三级国产专播品爱网| 中文字幕亚洲区| 久久国产日韩欧美精品| 99久久免费视频.com| 欧美综合视频在线观看| 久久亚区不卡日本| 亚洲国产视频一区| 国产一区二区免费看| 成人h版在线观看| 欧美日韩日日骚| 国产精品成人一区二区三区夜夜夜| 五月激情丁香一区二区三区| 韩国欧美一区二区| 制服丝袜成人动漫| 国产一区免费电影| 日韩欧美电影一二三| 一区二区三区四区视频精品免费 | 91精品免费在线| 国产精品久久久久aaaa樱花 | 成人v精品蜜桃久久一区| 69久久夜色精品国产69蝌蚪网| 久久精品视频免费观看| 亚洲国产精品一区二区久久| 成人网男人的天堂| 精品国产伦理网| 久久av老司机精品网站导航| 91小视频免费观看| 国产欧美精品一区| 久久精品国产亚洲5555| 欧美亚洲国产一区在线观看网站| 日本一区二区三级电影在线观看| 久久狠狠亚洲综合| 精品毛片乱码1区2区3区| 亚洲国产综合在线| 色综合天天综合狠狠| 亚洲欧洲性图库| 成人免费高清视频| 日本一区二区高清| 国产精品一区一区三区| 91精品国产色综合久久不卡蜜臀| 亚洲制服欧美中文字幕中文字幕| 91伊人久久大香线蕉| 国产精品国产a| 成人午夜免费av| 国产欧美日韩综合精品一区二区| 免费观看91视频大全| 欧美精品日韩精品| 欧美日韩www| 亚洲美腿欧美偷拍| 在线中文字幕不卡| 综合分类小说区另类春色亚洲小说欧美| 国产一区二区网址| 国产亚洲精久久久久久| 成人av在线资源网站| 亚洲免费三区一区二区| 欧美天天综合网| 青青草成人在线观看| 4hu四虎永久在线影院成人| 日韩精品五月天| 久久欧美中文字幕| 91年精品国产| 免费成人av在线| 国产女人18水真多18精品一级做| 99riav久久精品riav| 三级精品在线观看| 国产一区欧美日韩| 亚洲欧洲美洲综合色网| 欧美体内she精高潮| 久久er精品视频| 国产精品久久久久久久久久久免费看| 麻豆精品精品国产自在97香蕉| 国产精品色婷婷| 亚洲欧美日韩国产另类专区| 丰满放荡岳乱妇91ww| 91在线高清观看| 图片区日韩欧美亚洲| 久久免费看少妇高潮| 色综合久久综合网欧美综合网| 久久久久国产精品麻豆ai换脸| 亚洲国产电影在线观看| 亚洲综合成人在线| 1024国产精品| 99久久99精品久久久久久| 精品视频在线免费观看| 欧美一区二区黄| 9191成人精品久久| 欧美人xxxx| 在线不卡一区二区| 欧美成人精品福利| 中文乱码免费一区二区| 不卡视频在线看| 欧美精品一卡二卡| 国产一区在线观看麻豆| 懂色av中文字幕一区二区三区| 国产激情偷乱视频一区二区三区| 7777精品久久久大香线蕉| 亚洲成人动漫在线免费观看| 99久久精品国产网站| 99麻豆久久久国产精品免费 | 成人久久18免费网站麻豆| 久久久91精品国产一区二区精品 | 欧美制服丝袜第一页| 视频一区视频二区中文字幕| 精品国偷自产国产一区| 色久优优欧美色久优优| 国产一区二区伦理| 亚洲国产aⅴ成人精品无吗| 久久久久久亚洲综合| 欧美视频中文一区二区三区在线观看| 国产乱色国产精品免费视频| 日韩高清中文字幕一区| 樱花影视一区二区| 国产亚洲一本大道中文在线| 3d动漫精品啪啪| 一本久久综合亚洲鲁鲁五月天| 国产一区三区三区| 免费成人美女在线观看.| 亚洲成人午夜电影| 亚洲精品成人少妇| 中文字幕第一区综合| 欧美电影免费观看完整版| 91精品欧美一区二区三区综合在 | 777奇米成人网| 在线观看成人免费视频| 亚洲国产激情av| 精品对白一区国产伦| 精品精品欲导航| 精品久久国产字幕高潮| 欧美日韩成人一区| 欧美日韩午夜影院| 色婷婷亚洲精品| 欧洲精品一区二区三区在线观看| 成人一区在线观看| av高清不卡在线| 成人v精品蜜桃久久一区| 精品一区二区三区欧美| 蜜臀av一区二区| 日韩av午夜在线观看| 日本免费新一区视频| 激情综合网av| 丁香啪啪综合成人亚洲小说| 成人综合婷婷国产精品久久蜜臀 | 色综合天天综合网天天狠天天| 91豆麻精品91久久久久久| 欧美日韩1区2区| 久久精品亚洲精品国产欧美kt∨| 欧美日韩一级视频| 精品国产乱码久久久久久蜜臀|