• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      JavaScript與Java在Web開發(fā)中的應(yīng)用與區(qū)別

      2013-10-31 06:49:08瀟,李
      通信技術(shù) 2013年6期
      關(guān)鍵詞:編程語(yǔ)言表單用戶名

      冀 瀟,李 楊

      (中國(guó)電子科學(xué)研究院,北京 100041)

      0 引言

      隨著科技的發(fā)展和網(wǎng)絡(luò)技術(shù)的普及,互聯(lián)網(wǎng)早已進(jìn)入千家萬(wàn)戶,成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠?。JavaScript和Java作為Web應(yīng)用程序設(shè)計(jì)開發(fā)中的兩種主流編程語(yǔ)言,雖然名字看上去相似,但他們是由不同公司開發(fā)的兩種程序語(yǔ)言,他們之間既有一些聯(lián)系,也有很多區(qū)別。

      每當(dāng)用戶打開一個(gè)網(wǎng)頁(yè)提交信息時(shí),總會(huì)伴隨有一些頁(yè)面驗(yàn)證的操作,如:密碼長(zhǎng)度是否符合要求等;同時(shí)互聯(lián)網(wǎng)也會(huì)根據(jù)用戶的要求進(jìn)行一系列的后臺(tái)操作,獲取他們需要的信息和想要完成的任務(wù)。這就是JavaScript和Java在Web開發(fā)中分別起到的至關(guān)重要的作用。

      1 JavaScript與Java概述

      JavaScript是Net-scape公司推出的一種基于對(duì)象和事件驅(qū)動(dòng)的解釋性編程語(yǔ)言,其代碼在發(fā)送到客戶端執(zhí)行之前不需要經(jīng)過編譯,而是直接將文本格式的代碼直接發(fā)送給客戶端再由瀏覽器解釋執(zhí)行[1]。JavaScript作為一種腳本語(yǔ)言,其代碼直接嵌寫在html文檔中,且格式較為松散和自由,變量在使用前無(wú)需嚴(yán)格進(jìn)行聲明。它被大量使用在客戶端,主要解決的是客戶端的交互問題,成為網(wǎng)頁(yè)設(shè)計(jì)的一項(xiàng)重要技術(shù)[2]。

      Java是Sun公司推出的一款面向?qū)ο蟮某绦蛘Z(yǔ)言,其代碼在發(fā)送到客戶端執(zhí)行之前必須經(jīng)過編譯,所以客戶端必須安裝有對(duì)應(yīng)的仿真器或解釋器[3]。Java作為一種高級(jí)計(jì)算機(jī)程序語(yǔ)言,其代碼以字節(jié)代碼以.class的格式被保存為獨(dú)立文件,是和 html文檔分開的獨(dú)立文檔,且格式嚴(yán)謹(jǐn),變量在使用前必須加以聲明。它既可以被用在客戶端,也能夠被用在服務(wù)器端實(shí)現(xiàn)更加強(qiáng)大的功能,成為當(dāng)今計(jì)算機(jī)界不可忽視的力量[4]。

      2 JavaScript與Java在Web開發(fā)中的應(yīng)用

      2.1 Web應(yīng)用示例

      下面將以圖1、圖2所示的某計(jì)算服務(wù)平臺(tái)中的登錄頁(yè)面為例,展示了在用戶登錄操作被執(zhí)行時(shí),JavaScript對(duì)表單的驗(yàn)證和 Java對(duì)后臺(tái)數(shù)據(jù)的處理過程,進(jìn)而說明JavaScript和Java語(yǔ)言如何在Web開發(fā)中應(yīng)用,以及他們的區(qū)別。

      圖1 某計(jì)算服務(wù)平臺(tái)登錄界面

      圖2 登錄界面放大

      當(dāng)?shù)卿洸僮靼l(fā)生時(shí),數(shù)據(jù)發(fā)送到服務(wù)器端之前,JavaScript首先在客戶端進(jìn)行表單驗(yàn)證;表單驗(yàn)證通過后,將數(shù)據(jù)發(fā)送到服務(wù)器端,Java對(duì)其進(jìn)行后臺(tái)操作,處理成功則允許用戶登錄系統(tǒng),進(jìn)行下一步操作。具體流程如圖3所示。

      圖3 某計(jì)算服務(wù)平臺(tái)的登錄流程處理

      2.2 JavaScript在Web開發(fā)中的應(yīng)用

      如今的JavaScript能夠處理復(fù)雜的計(jì)算和交互,擁有了閉包、匿名函數(shù),甚至元編程等特性[5],成為一門功能全面的編程語(yǔ)言。但是數(shù)據(jù)驗(yàn)證作為JavaScript最常用也最基本的功能被大量應(yīng)用于本示例所開發(fā)的系統(tǒng)中,它在表單數(shù)據(jù)發(fā)送到服務(wù)器之前,在客戶端直接與瀏覽器交互、驗(yàn)證數(shù)據(jù)信息,從而減少了服務(wù)器端的處理任務(wù),提高了用戶的操作效率。在本示例的登錄操作發(fā)生時(shí),JavaScript在客戶端的驗(yàn)證流程如圖4所示。

      圖4 JavaScript在客戶端的表單驗(yàn)證流程

      在login.jsp中對(duì)用戶名稱進(jìn)行驗(yàn)證的JavaScript代碼實(shí)現(xiàn)了以下功能:對(duì)用戶所輸入的用戶名和密碼進(jìn)行格式檢驗(yàn)[6],如果輸入格式不符合要求,如:輸入為空,或者密碼長(zhǎng)度不夠,則會(huì)彈出警告框,要求用戶重新輸入相關(guān)信息。具體代碼如下:

      如果輸入的用戶名為空,則會(huì)彈出圖 5、圖 6所示的提示框要求用戶重新輸入用戶名。對(duì)密碼格式的驗(yàn)證的代碼將不再贅述。

      圖5 彈出提示輸入工程名的提示框

      圖6 提示框放大

      2.3 Java在Web開發(fā)中的應(yīng)用

      Java可以根據(jù)組成和環(huán)境的不同分為兩類:Java Application和Java Applet。Java Application作為非嵌入式的完整程序,需要獨(dú)立的解釋器來運(yùn)行;而Java Applet是嵌在HTML編寫的Web頁(yè)面中的非獨(dú)立程序,需要瀏覽器內(nèi)部的Java解釋器來才能運(yùn)行[7]。在本示例的登錄界面例子中,Java的對(duì)前臺(tái)頁(yè)面?zhèn)魅氲臄?shù)據(jù)進(jìn)行后臺(tái)邏輯操作處理就是一個(gè) Java Application程序,它的操作處理流程如圖7所示。

      圖7 Java在服務(wù)器端的數(shù)據(jù)處理流程

      通過checkLogin方法實(shí)現(xiàn)以下功能:該方法實(shí)現(xiàn)的功能為將用戶在界面輸入的用戶名和密碼信息與數(shù)據(jù)庫(kù)中存儲(chǔ)的信息作比較,如果有相符合的信息存在則返回 true,如果沒有相符合的信息存在則返回false。具體代碼如下:

      在上述checkLogin方法被調(diào)用之前,Java會(huì)先將提交的用戶名數(shù)據(jù)與服務(wù)器端已存在的用戶名數(shù)據(jù)相比較,判斷該用戶名是否已經(jīng)在其他計(jì)算機(jī)上登錄,如果已經(jīng)登錄,則不可再次重復(fù)登錄;當(dāng)checkLogin方法被調(diào)用后,Java會(huì)繼續(xù)進(jìn)行后續(xù)邏輯處理,判斷該用戶輸入的用戶名和密碼是否正確,如果不正確則需要重新輸入用戶名和密碼。具體代碼不再贅述。

      3 JavaScript與Java在Web開發(fā)中的區(qū)別

      通過這個(gè)例子可以看出JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)的客戶端腳本編程語(yǔ)言,也是一種解釋性解釋語(yǔ)言[8],其源代碼在發(fā)往客戶端前不需要經(jīng)過編譯。在Web開發(fā)中主要用來給html頁(yè)面添加動(dòng)態(tài)效果功能,增強(qiáng)與用戶的交互作用,如:響應(yīng)用戶的各種操作等,交互方式也較為簡(jiǎn)單,無(wú)需通過后臺(tái)服務(wù)器,直接在前臺(tái)客戶端與瀏覽器交互。而 Java是一種真正面向?qū)ο蟮姆植际匠绦蛟O(shè)計(jì)語(yǔ)言,擁有一套龐大并且完善的類庫(kù),由于它的可移植性、易用性和與 html的緊密結(jié)合,再加上完善的Web[9]應(yīng)用體系結(jié)構(gòu),使Java成為開發(fā)Web應(yīng)用的首選編程語(yǔ)言[10]。作為一個(gè)分布式、解釋型的程序語(yǔ)言[11],Java也具有一些本例中未體現(xiàn)出來的強(qiáng)大功能,如:支持Internet應(yīng)用的開發(fā),提供了包括 URL、Socket等用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),可以通過編譯器或解釋器實(shí)現(xiàn)獨(dú)立于某個(gè)特定的編譯代碼等[12]。

      4 結(jié)語(yǔ)

      綜上所述,通過一個(gè)基本的用戶登錄界面示例的展示與分析,可以看出JavaScript和Java雖然都能夠應(yīng)用于Web設(shè)計(jì)開發(fā)中,完成程序的編寫并實(shí)現(xiàn)一定的功能,但這兩種語(yǔ)言本質(zhì)上有著很大的區(qū)別,JavaScript被大量用于解決客戶端的交互問題,從而減少了服務(wù)器端的負(fù)擔(dān),提高了工作效率;而Java作為一種高級(jí)程序語(yǔ)言,具有高擴(kuò)展性和可靠性,被廣泛應(yīng)用于服務(wù)器端的業(yè)務(wù)邏輯實(shí)現(xiàn),他們?cè)赪eb[13]開發(fā)中發(fā)揮著各自不同的作用。

      [1]MONCUR M.Javascript入門經(jīng)典[M].王軍,譯.北京:人民郵電出版社,2008.

      [2]張彥芳,謝虹.基于Javascript的客戶端表單驗(yàn)證[J].生產(chǎn)一線,2009(01):177.

      [3]埃克爾.Java編程思想[M].陳昊鵬,譯.北京:機(jī)械工業(yè)出版社,2007.

      [4]郎波.Java語(yǔ)言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.

      [5]ZAKAS C N. Javascript高級(jí)程序設(shè)計(jì)[M].李松峰,曹力,譯.北京:人民郵電出版社,2012.

      [6]李永明,古麗拉.阿東別克.基于B/S的用戶名和密碼認(rèn)證防護(hù)[J].通信技術(shù),2007,40(05):55-56.

      [7]印旻,王行言. Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2010.

      [8]周愛民.JavaScript語(yǔ)言精髓與編程實(shí)踐[M].北京:電子工業(yè)出版社,2012.

      [9]武裝,李洪奇.基于Web服務(wù)的企業(yè)應(yīng)用集成研究[J].通信技術(shù),2009,42(08):154-158.

      [10]孫衛(wèi)琴.Tomcat與 Java Web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2012.

      [11]管銘,趙朋.Java應(yīng)用程序安全分析研究[J].信息安全與通信保密,2007(05):141-142,145.

      [12]梁勇.Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)篇[M].李娜,譯.北京:機(jī)械工業(yè)出版社,2011.

      [13]張利榮,蔣誠(chéng),顧艷.基于XML的Web Service安全模型研究與實(shí)現(xiàn)[J].信息安全與通信保密,2007(09):105-107.

      猜你喜歡
      編程語(yǔ)言表單用戶名
      《護(hù)士進(jìn)修雜志》投稿程序
      壓力-體積轉(zhuǎn)換在CFC編程語(yǔ)言中的實(shí)現(xiàn)解析
      電子表單系統(tǒng)應(yīng)用分析
      華東科技(2021年9期)2021-09-23 02:15:24
      Java編程語(yǔ)言的特點(diǎn)與應(yīng)用
      淺談網(wǎng)頁(yè)制作中表單的教學(xué)
      淺談不同編程語(yǔ)言對(duì)計(jì)算機(jī)軟件開發(fā)的影響
      電子制作(2018年1期)2018-04-04 01:48:36
      機(jī)智的快遞員
      面向?qū)ο骔eb開發(fā)編程語(yǔ)言的的評(píng)估方法
      基于Infopath實(shí)現(xiàn)WEB動(dòng)態(tài)表單的研究
      電子世界(2012年24期)2012-12-17 10:49:06
      動(dòng)態(tài)表單技術(shù)在教學(xué)管理中的應(yīng)用*
      宁河县| 马山县| 新蔡县| 通辽市| 福清市| 淮南市| 宽甸| 肥西县| 汝城县| 天柱县| 神池县| 桦南县| 江北区| 乐陵市| 汕尾市| 镶黄旗| 科技| 临沭县| 海伦市| 潜山县| 乳源| 铜梁县| 吴忠市| 广饶县| 铜梁县| 武平县| 安吉县| 青岛市| 宜黄县| 宁蒗| 和龙市| 栾城县| 安多县| 大洼县| 珲春市| 陆川县| 逊克县| 黑河市| 泸定县| 开封县| 泰和县|