<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    軟件藝術(shù)思考者  
    混沌,彷徨,立志,蓄勢(shì)...
    公告
    日歷
    <2006年8月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導(dǎo)航

    隨筆分類(86)

    隨筆檔案(85)

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

     

    引子:
    我們以兩個(gè)大型網(wǎng)站為例作比較:
    51job和智聯(lián)招聘(先聲明我不是為他們作廣告,僅以他們?yōu)槔骷夹g(shù)上的比較)
    51job采用的是比較“先進(jìn)”的php技術(shù),而智聯(lián)用的是比較落后的asp.但我們可能會(huì)明顯的感覺到51job的反應(yīng)速度相比智聯(lián)招聘實(shí)在是太慢了,為什么會(huì)這樣?細(xì)心的人可能會(huì)察覺到了。智聯(lián)雖然用的是asp,但他采用了另一種更巧妙的技術(shù)--asp生成靜態(tài)頁(yè)技術(shù)。所有的動(dòng)態(tài)頁(yè)基本上都轉(zhuǎn)換成了html靜態(tài)頁(yè),不用訪問(wèn)數(shù)據(jù)庫(kù),當(dāng)然反應(yīng)快了。
    下面我們討論一下jsp怎么轉(zhuǎn)換成html??
    首先要做一個(gè)模板。后綴不限,但一般都用*.template例子
    <html>
    <head>
    <title>#title#</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <LINK href="../css.css" rel=stylesheet type=text/css>
    </head>

    <body>
    <P align="center">
    #title#<BR><BR><BR>
    作者:#author#<BR><BR>
    <BR>
    #content#<BR><BR><BR><BR>
    </P>
    </body>
    </html>
    做一個(gè)處理模板的類或者jsp文件、(為說(shuō)明問(wèn)題我們從簡(jiǎn)單入手以一個(gè)jsp文件為例)
    ?filePath = request.getRealPath("/")+"WEB-INF/templates/template.htm";
    ?out.print(filePath);
    ?String templateContent="";
    ?FileInputStream fileinputstream = new FileInputStream(filePath);//讀取模塊文件
    ?int lenght = fileinputstream.available();
    ?byte bytes[] = new byte[lenght];
    ?fileinputstream.read(bytes);
    ?fileinputstream.close();
    ?templateContent = new String(bytes);
    ?out.print("以下是模板內(nèi)容:<br>"+templateContent+"<br> 以下是置換以后的html內(nèi)容<br><hr>");
    ?templateContent=templateContent.replaceAll("#title#",title);
    ?templateContent=templateContent.replaceAll("#author#",editer);//替換掉模塊中相應(yīng)的地方
    ?templateContent=templateContent.replaceAll("#content#",content);
    ?// 根據(jù)時(shí)間得文件名
    ?Calendar calendar = Calendar.getInstance();
    ?String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
    ?fileame = request.getRealPath("/")+fileame;//生成的html文件保存路徑

    ?out.print(templateContent);
    ?FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件輸出流
    ?byte tag_bytes[] = templateContent.getBytes();
    ?fileoutputstream.write(tag_bytes);
    ?fileoutputstream.close();
    嗯,核心技術(shù)就是這樣了,如果大家要求的性能更高,可以改用freemarker做模板。freemarker的使用方法可以參閱我的另一篇文章《Freemarker 模板工具的作用及使用

    posted on 2006-07-28 14:42 智者無(wú)疆 閱讀(3351) 評(píng)論(16)  編輯  收藏 所屬分類: about java
    評(píng)論:
    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   白白 Posted @ 2006-07-28 15:59
      哇...又有新內(nèi)容出來(lái)了,累了休息會(huì)兒!  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   lalala Posted @ 2006-07-28 18:35
      你用網(wǎng)通的吧?上海電信打開51job速度嗖嗖的,北京網(wǎng)通連個(gè)美國(guó)代理服務(wù)器訪問(wèn)51job的速度比直接訪問(wèn)還快。  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   Harry Posted @ 2006-07-31 09:29
      templateContent=templateContent.replaceAll("#title#",title);
      templateContent=templateContent.replaceAll("#author#",editer);//替換掉模塊中相應(yīng)的地方
      templateContent=templateContent.replaceAll("#content#",content);

      以上這些代碼中, title, editor(不是editer), content從哪里來(lái)呢? 不是一樣要訪問(wèn)數(shù)據(jù)庫(kù)? 所以, 能否解釋一下這句話? "智聯(lián)雖然用的是asp,但他采用了另一種更巧妙的技術(shù)--asp生成靜態(tài)頁(yè)技術(shù)。所有的動(dòng)態(tài)頁(yè)基本上都轉(zhuǎn)換成了html靜態(tài)頁(yè),不用訪問(wèn)數(shù)據(jù)庫(kù),當(dāng)然反應(yīng)快了。"
        回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   智者無(wú) Posted @ 2006-07-31 14:17
      我不認(rèn)為訪問(wèn)51job速度很慢是因?yàn)槲矣昧司W(wǎng)通。這么大的網(wǎng)站就沒有個(gè)網(wǎng)通的服務(wù)器?顯然是不可能的。
      至于用美國(guó)的代理服務(wù)器訪問(wèn)51為什么比直接訪問(wèn)還快:我可以告訴你,這是因?yàn)榇碓L問(wèn)器通常都設(shè)置一個(gè)很大的cache,訪問(wèn)它的時(shí)候根本不用再中轉(zhuǎn)到國(guó)內(nèi)服務(wù)器了。
      實(shí)際上,cache和我們的靜態(tài)頁(yè)技術(shù)的原則是一樣的。  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   白白 Posted @ 2006-07-31 15:41
      哦,是嗎?我還是聽不懂你在說(shuō)什么!還是頂一下吧.  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   jspark Posted @ 2006-08-01 10:54
      templateContent=templateContent.replaceAll("#title#",title);
      templateContent=templateContent.replaceAll("#author#",editer);//替換掉模塊中相應(yīng)的地方
      templateContent=templateContent.replaceAll("#content#",content);

      請(qǐng)問(wèn)title、editor、content從那來(lái)的?不用訪問(wèn)數(shù)據(jù)嗎  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   CPlayer Posted @ 2006-08-01 18:32
      不錯(cuò)呀  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   ljt Posted @ 2006-08-09 11:40
      感謝 一直在尋找 終于開竅  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   一農(nóng) Posted @ 2006-08-10 22:51
      還有一種生成靜態(tài)頁(yè)面的方法,你在網(wǎng)上搜
      extends HttpServletResponseWrapper
      就可以了解到了.  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   智者無(wú)疆 Posted @ 2006-08-11 09:27
      謝謝一農(nóng)的留言。  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   白白 Posted @ 2006-08-11 14:57
      very good!!  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   壞男孩 Posted @ 2006-09-15 15:26
      拿走了,你要是不愿意我就刪除了。  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   xiaobai Posted @ 2006-09-15 15:37
      拿走可以,但請(qǐng)尊重我的勞動(dòng)果實(shí),注明出處。謝謝  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   后學(xué)者 Posted @ 2006-10-13 18:06

      要是 內(nèi)容有幾個(gè)段落呢?

      怎么保證依然保持這些段落的樣子,而不是搞成了一整段???  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   **智者無(wú)疆 Posted @ 2006-10-19 15:23
      內(nèi)容最終是什么樣子的,除了用模板控制之外,還與替換內(nèi)容的樣式有關(guān)。  回復(fù)  更多評(píng)論   

    • # re: JSP生成靜態(tài)頁(yè)實(shí)踐及其設(shè)計(jì)思想   嘿嘿 Posted @ 2006-12-27 17:50
      謝謝樓主無(wú)私的貢獻(xiàn)  回復(fù)  更多評(píng)論   

     
    Copyright © 智者無(wú)疆 Powered by: 博客園 模板提供:滬江博客


       觀音菩薩贊

    主站蜘蛛池模板: 色爽黄1000部免费软件下载| 吃奶摸下高潮60分钟免费视频| 永久免费精品影视网站| 亚洲福利电影一区二区?| 国产aⅴ无码专区亚洲av麻豆 | 亚洲国产一区视频| 野花高清在线电影观看免费视频| 182tv免费视频在线观看| 一本久久免费视频| 综合一区自拍亚洲综合图区| 亚洲中文无码av永久| 色婷婷亚洲十月十月色天| 亚洲一区二区三区香蕉| 亚洲国产天堂久久久久久| 国产午夜鲁丝片AV无码免费| 好爽…又高潮了免费毛片| 很黄很黄的网站免费的| 久久精品一本到99热免费| 免费污视频在线观看| 国产在线一区二区综合免费视频| 一区在线免费观看| eeuss在线兵区免费观看| 一个人免费观看视频在线中文| 又长又大又粗又硬3p免费视频| 女bbbbxxxx另类亚洲| 亚洲av中文无码乱人伦在线观看 | av无码免费一区二区三区| 最新黄色免费网站| 精品国产sm捆绑最大网免费站 | 亚洲第一二三四区| 亚洲精品熟女国产| 亚洲大尺码专区影院| 亚洲日本国产乱码va在线观看| 亚洲精品在线电影| 久久久久se色偷偷亚洲精品av | 国产国产人免费人成免费视频 | 国产免费福利体检区久久| eeuss影院ss奇兵免费com| 色播在线永久免费视频网站| 人妻在线日韩免费视频| 99精品视频免费观看|