国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

冀 瀟,李 楊

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

0 引言

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

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

1 JavaScript與Java概述

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

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

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

2.1 Web應(yīng)用示例

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

圖1 某計算服務(wù)平臺登錄界面

圖2 登錄界面放大

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

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

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

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

圖4 JavaScript在客戶端的表單驗證流程

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

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

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

圖6 提示框放大

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

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

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

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

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

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

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

4 結(jié)語

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

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

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

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

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

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

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

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

[8]周愛民.JavaScript語言精髓與編程實踐[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語言程序設(shè)計基礎(chǔ)篇[M].李娜,譯.北京:機械工業(yè)出版社,2011.

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

猜你喜歡
編程語言表單用戶名
《護士進修雜志》投稿程序
壓力-體積轉(zhuǎn)換在CFC編程語言中的實現(xiàn)解析
電子表單系統(tǒng)應(yīng)用分析
華東科技(2021年9期)2021-09-23 02:15:24
Java編程語言的特點與應(yīng)用
淺談網(wǎng)頁制作中表單的教學(xué)
淺談不同編程語言對計算機軟件開發(fā)的影響
電子制作(2018年1期)2018-04-04 01:48:36
機智的快遞員
故事會(2017年17期)2017-09-04 17:36:42
面向?qū)ο骔eb開發(fā)編程語言的的評估方法
基于Infopath實現(xiàn)WEB動態(tài)表單的研究
電子世界(2012年24期)2012-12-17 10:49:06
動態(tài)表單技術(shù)在教學(xué)管理中的應(yīng)用*
鹤山市| 车致| 休宁县| 石狮市| 望都县| 城固县| 祁阳县| 张掖市| 怀化市| 壤塘县| 忻州市| 德安县| 兰考县| 深圳市| 长沙市| 贵港市| 平果县| 天柱县| 汶川县| 乐平市| 兰溪市| 阿鲁科尔沁旗| 蒲江县| 五河县| 青海省| 永顺县| 石河子市| 织金县| 泊头市| 隆昌县| 牙克石市| 思茅市| 霍邱县| 长沙市| 平罗县| 宁晋县| 贺州市| 石首市| 惠州市| 遂宁市| 嘉善县|