亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺析頁面中Java與JavaScript腳本的區(qū)別

        2012-12-31 00:00:00邱麗娟

        摘要:本文以一個顯示當(dāng)前日期的功能為引例,分別利用Java腳本和JavaScript腳本嵌入在HTML頁面中實現(xiàn),由兩者表面上的不同,進(jìn)一步分析出兩者實質(zhì)的區(qū)別,即它們的執(zhí)行過程是不一樣的。

        關(guān)鍵詞:JavaScript;Java;JSP

        中圖分類號:TP312.2 文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2012) 07-0000-01

        眾所周知,在HTML頁面中可以嵌入Java和JavaScript腳本,但兩者的表示方式不同,這也是兩者表面上的區(qū)別。JavaScript腳本是以“”為邊界,而Java腳本是以“<%”和“%>”為邊界。而且嵌入JavaScript后頁面的文件擴(kuò)展名既可以仍然是.htm,也可以修改成.jsp,但嵌入Java后的文件擴(kuò)展名必須要改為.jsp,因此稱嵌入Java腳本的頁面文件為JSP文件?,F(xiàn)在我們來看一個簡單的例子,即在瀏覽器的頁面中顯示當(dāng)前的日期。

        假設(shè)用JavaScript腳本實現(xiàn)的頁面對應(yīng)的文件叫ShowDate1.jsp,代碼如下。

        顯示日期

        您計算機(jī)上當(dāng)前日期為:

        而用Java腳本實現(xiàn)的頁面對應(yīng)的文件叫ShowDate2.jsp,代碼如下。

        <%@page language=\"java\" import=\"java.util.*,java.text.*\"

        contentType=\"text/html;charset=GBK\"%>

        顯示日期

        <%SimpleDateFormat formater=new SimpleDateFormat(\"yyyy年MM月dd日\");

        String strCurrentDate=formater.format(new Date());%>

        您計算機(jī)上當(dāng)前日期為:

        <%=strCurrentDate %>

        表面看過去,以上兩個頁面都是獲取日期然后顯示出來。但顯示的結(jié)果可能不同,因為它們獲取的是不同計算機(jī)上的日期。含有JavaScript和Java的頁面顯示的分別是客戶端和服務(wù)器的日期。因為JavaScript和Java分別是運行在客戶端和服務(wù)器上的,即Java與JavaScript實質(zhì)區(qū)別是執(zhí)行原理不同。打開瀏覽器運行ShowDate1.jsp,然后選擇菜單欄的“查看”#61664;“源文件”,看到的代碼與ShowDate1.jsp的源代碼相同。但是,用同樣的方法查看ShowDate2.jsp的源文件,看到的代碼是下面這樣的。

        顯示日期

        您計算機(jī)上當(dāng)前日期為:

        2012年4月30日

        這與ShowDate2.jsp的源代碼不同,所有夾在“<%”和“%>”中的代碼不見了,而且源代碼中“<%=strCurrentDate %>”的位置變成日期。這說明,保存在客戶端的ShowDate1.jsp和ShowDate2.jsp,經(jīng)過服務(wù)器回到客戶端,前者的代碼沒變,而后者的代碼被改動了。為什么會這樣?正是因為嵌入Java和JavaScript的頁面本質(zhì)區(qū)別是執(zhí)行原理的不同,分析如下。

        一、含有JavaScript腳本頁面的執(zhí)行過程

        1.瀏覽器接收客戶請求。客戶打開瀏覽器,并在地址欄中輸入要訪問的頁面文件,這就表示瀏覽器接收了客戶的請求,接著瀏覽器向服務(wù)器請求頁面。

        2.瀏覽器向服務(wù)器發(fā)送請求消息,等待服務(wù)器端的響應(yīng)??蛻舳擞嬎銠C(jī)向服務(wù)器發(fā)出一個請求,其實就是將頁面復(fù)制一份存放在服務(wù)器中。

        3.應(yīng)用服務(wù)器向瀏覽器發(fā)送響應(yīng)消息。應(yīng)用服務(wù)器將頁面文件發(fā)送回客戶端瀏覽器,然后由瀏覽器從上到下逐條解析HTML和JavaScript腳本,并顯示頁面效果呈現(xiàn)給客戶。

        二、含有Java腳本頁面的執(zhí)行過程

        1.瀏覽器接收客戶請求。

        2.瀏覽器向服務(wù)器發(fā)送請求消息,等待服務(wù)器端的響應(yīng)。

        第1、2兩個步驟與上面相同。接著服務(wù)器處理JSP文件請求需要經(jīng)過以下3個階段。

        3.(1)翻譯階段。服務(wù)器中的JSP引擎把ShowDate2.jsp轉(zhuǎn)換成Java源碼,即翻譯成ShowDate2_jsp.java。(2)編譯階段。Java源碼被編譯成可執(zhí)行的二進(jìn)制字節(jié)碼,即ShowDate2_jsp.java被編譯成ShowDate2_jsp.class。(3)執(zhí)行階段。服務(wù)器執(zhí)行二進(jìn)制字節(jié)碼,將執(zhí)行結(jié)果放到JSP文件的對應(yīng)位置。

        4.應(yīng)用服務(wù)器向瀏覽器發(fā)送響應(yīng)消息。服務(wù)器將生成的頁面反饋給客戶端瀏覽器,然后由瀏覽器從上到下逐條解析HTML,并顯示頁面效果呈現(xiàn)給客戶。

        三、結(jié)論

        ShowDate1.jsp到達(dá)服務(wù)器后被發(fā)現(xiàn)嵌入了JavaScript,服務(wù)器就不作任何處理直接發(fā)送回客戶端,所以ShowDate1.jsp的代碼沒有改變。而服務(wù)器發(fā)現(xiàn)ShowDate2.jsp中嵌入了Java腳本,于是把腳本執(zhí)行的結(jié)果放回到原ShowDate2.jsp中Java腳本對應(yīng)的位置,這樣得到了新的ShowDate2.jsp,然后將新的ShowDate2.jsp發(fā)送回客戶端,這時在客戶端查看源文件,ShowDate2.jsp就不是原始樣子。清楚了嵌入Java和JavaScript腳本的HTML頁面執(zhí)行過程的本質(zhì)區(qū)別后,大家在使用Java和JavaScript時,可以有所區(qū)分并會得心應(yīng)手。

        国产精品主播在线一区二区| 亚洲嫩草影院久久精品| 久久亚洲精品一区二区| 高清不卡av一区二区| 亚洲国产aⅴ成人精品无吗| 亚洲成a人片在线观看无码| 午夜福利影院不卡影院| 一区二区三区在线日本视频 | 欧美日韩精品一区二区三区不卡| 蜜桃一区二区三区在线看| 亚洲国产大胸一区二区三区| 亚洲国产成人精品无码区在线播放| 五级黄高潮片90分钟视频| 无码日日模日日碰夜夜爽| 色妞一区二区三区免费视频| 女人无遮挡裸交性做爰| 人人妻人人澡人人爽久久av| 亚洲精品国产品国语在线app| 国产精品午夜福利亚洲综合网| 亚洲一区二区女搞男| 深夜福利小视频在线观看| 精品一区二区三区免费爱| 精品蜜桃av免费观看| 中文字幕人成乱码熟女| 日韩精品无码一区二区三区视频 | 国内国外日产一区二区| 国产精品亚洲а∨无码播放| 黑人玩弄漂亮少妇高潮大叫| 久久熟女五十路| 亚洲国产一区二区中文字幕| 亚洲中文字幕无码中文字| 亚洲欲色欲香天天综合网| 中文字幕日本韩国精品免费观看 | 久久国产av在线观看| 久久丝袜熟女av一区二区| 天堂无码人妻精品av一区| 国产福利片无码区在线观看| 极品少妇一区二区三区| 亚州性无码不卡免费视频| 国产精品亚洲一区二区无码| 61精品人妻一区二区三区蜜桃|