校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 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 項目生成靜態頁面的代碼的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    一本色道亚洲精品aⅴ| 日韩欧美国产电影| 日本高清不卡视频| 欧美日韩在线一区二区| 欧美私人免费视频| 日韩精品一区二| 秋霞电影网一区二区| 日本中文在线一区| 国产一区二区视频在线| 国产91精品在线观看| 色爱区综合激月婷婷| 91精品国产综合久久精品性色| 日韩精品一区二区三区视频在线观看 | 亚洲精品国产成人久久av盗摄| 亚洲视频1区2区| 日本欧美一区二区| 国产99精品国产| 色猫猫国产区一区二在线视频| 欧美乱妇一区二区三区不卡视频| 欧美日韩一区高清| 国产丝袜美腿一区二区三区| 一区二区在线观看不卡| 狠狠色综合播放一区二区| 97久久超碰精品国产| 亚洲精品一区二区三区在线观看| 亚洲色图在线看| 狠狠色综合色综合网络| 在线观看国产精品网站| 国产蜜臀av在线一区二区三区| 午夜不卡av在线| 91日韩在线专区| 中文字幕精品一区二区三区精品| 亚洲一区国产视频| av不卡在线播放| 国产午夜亚洲精品午夜鲁丝片| 图片区日韩欧美亚洲| 99国产精品久久久久久久久久久| 一区二区三区蜜桃| 国产激情一区二区三区四区| 日韩午夜激情视频| 亚洲网友自拍偷拍| **欧美大码日韩| 成人一区二区三区| 国产精品免费aⅴ片在线观看| 国产一区二区三区四区五区美女 | 精品国产第一区二区三区观看体验| 亚洲最大色网站| 欧美视频精品在线观看| 亚洲国产精品人人做人人爽| 欧美手机在线视频| 亚洲五月六月丁香激情| 欧美福利视频导航| 亚洲.国产.中文慕字在线| 欧美日韩一本到| 日本美女一区二区| 日韩一级高清毛片| 久久99久久99| 《视频一区视频二区| 91福利国产精品| 亚洲成av人片在www色猫咪| 欧美日韩国产在线观看| 久久国产视频网| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩亚州综合| 国产综合一区二区| 国产精品久久三| 欧美区一区二区三区| 久久国产精品免费| 中文字幕精品综合| 欧美精品一二三四| 粉嫩av一区二区三区在线播放| **性色生活片久久毛片| 欧美日韩国产一级| 成人免费观看男女羞羞视频| 亚洲国产日日夜夜| 日韩一级二级三级| 欧美性受xxxx黑人xyx性爽| 精品伊人久久久久7777人| 日韩一区中文字幕| 2024国产精品| 欧美日韩免费观看一区二区三区| 欧美欧美午夜aⅴ在线观看| 国产在线精品国自产拍免费| 亚洲国产日日夜夜| 国产精品灌醉下药二区| 精品国产精品一区二区夜夜嗨| 色综合咪咪久久| 国产+成+人+亚洲欧洲自线| 青青草97国产精品免费观看| 最新成人av在线| 亚洲影院在线观看| 国产欧美日韩三区| 久久综合色播五月| 欧美大尺度电影在线| 欧美日韩国产美| 在线免费视频一区二区| 欧美在线一区二区| 欧美男女性生活在线直播观看 | 91九色02白丝porn| 91麻豆.com| 色哦色哦哦色天天综合| av电影天堂一区二区在线| 不卡一区二区在线| 91在线观看污| 欧美性色黄大片| 欧美日韩久久一区二区| 欧美日韩在线不卡| 欧美一区国产二区| 精品美女在线观看| 国产精品热久久久久夜色精品三区| 国产欧美日韩三级| 国产精品久久久久9999吃药| 中文字幕欧美一区| 亚洲精品久久久蜜桃| 日韩制服丝袜av| 国产麻豆视频一区二区| 99久久免费国产| 在线观看av一区| 精品人在线二区三区| 国产日产欧美一区| 一级日本不卡的影视| 久久电影网站中文字幕| 成人一区二区三区| 69精品人人人人| 亚洲国产成人午夜在线一区| 亚洲色图视频网| 琪琪久久久久日韩精品| 国产精品 欧美精品| 欧美色视频在线观看| 久久亚洲一区二区三区四区| 亚洲人精品午夜| 天堂久久一区二区三区| 成人综合在线网站| 色素色在线综合| 久久久久久久久久久久久女国产乱| 1024成人网| 岛国av在线一区| 精品国产成人系列| 午夜精品久久久久久久| 成人av在线网| 亚洲欧洲av在线| 国产盗摄视频一区二区三区| 欧美日韩国产一二三| 亚洲综合在线观看视频| heyzo一本久久综合| 精品国产乱码久久久久久影片| 久久青草国产手机看片福利盒子| 水野朝阳av一区二区三区| 在线观看一区日韩| 亚洲日本在线观看| 99久久99久久精品免费观看| 久久久久久97三级| 久久99精品国产麻豆婷婷洗澡| 欧美老年两性高潮| 日韩成人一区二区三区在线观看| 欧美日韩国产片| 日本vs亚洲vs韩国一区三区二区| 欧美日韩视频专区在线播放| 亚洲成人中文在线| 欧美一二三区精品| 久久精品国产久精国产爱| 精品国产电影一区二区| 国产麻豆精品久久一二三| 久久精品一区二区三区不卡| 丁香激情综合国产| 亚洲啪啪综合av一区二区三区| 91极品美女在线| 亚洲日穴在线视频| 91亚洲精华国产精华精华液| 日韩一区在线看| 久久精品免视看| 欧美r级在线观看| 另类中文字幕网| 亚洲欧美中日韩| 91精品国产丝袜白色高跟鞋| 精品无码三级在线观看视频| 国产精品精品国产色婷婷| 欧美久久久久免费| 国产成人av电影| 日韩一区中文字幕| 91色婷婷久久久久合中文| 视频在线观看91| 2020国产精品自拍| 一本在线高清不卡dvd| 一区二区三区蜜桃| 久久综合99re88久久爱| 欧美三日本三级三级在线播放| 成人免费高清在线观看| 国产精品一色哟哟哟| 日韩高清在线一区| 亚洲已满18点击进入久久| 国产精品久久久一本精品| 国产亚洲一区字幕| 久久亚洲综合av| 久久久影视传媒| 国产欧美一区二区精品性| 日韩一区二区中文字幕| 欧美疯狂做受xxxx富婆| 在线播放国产精品二区一二区四区| 欧美中文字幕一二三区视频|