APP下载

JavaScript与Java在Web开发中的应用与区别

2013-10-31潇,李

通信技术 2013年6期
关键词:编程语言表单用户名

冀 潇,李 杨

(中国电子科学研究院,北京 100041)

0 引言

随着科技的发展和网络技术的普及,互联网早已进入千家万户,成为人们日常生活中必不可少的一部分。JavaScript和Java作为Web应用程序设计开发中的两种主流编程语言,虽然名字看上去相似,但他们是由不同公司开发的两种程序语言,他们之间既有一些联系,也有很多区别。

每当用户打开一个网页提交信息时,总会伴随有一些页面验证的操作,如:密码长度是否符合要求等;同时互联网也会根据用户的要求进行一系列的后台操作,获取他们需要的信息和想要完成的任务。这就是JavaScript和Java在Web开发中分别起到的至关重要的作用。

1 JavaScript与Java概述

JavaScript是Net-scape公司推出的一种基于对象和事件驱动的解释性编程语言,其代码在发送到客户端执行之前不需要经过编译,而是直接将文本格式的代码直接发送给客户端再由浏览器解释执行[1]。JavaScript作为一种脚本语言,其代码直接嵌写在html文档中,且格式较为松散和自由,变量在使用前无需严格进行声明。它被大量使用在客户端,主要解决的是客户端的交互问题,成为网页设计的一项重要技术[2]。

Java是Sun公司推出的一款面向对象的程序语言,其代码在发送到客户端执行之前必须经过编译,所以客户端必须安装有对应的仿真器或解释器[3]。Java作为一种高级计算机程序语言,其代码以字节代码以.class的格式被保存为独立文件,是和 html文档分开的独立文档,且格式严谨,变量在使用前必须加以声明。它既可以被用在客户端,也能够被用在服务器端实现更加强大的功能,成为当今计算机界不可忽视的力量[4]。

2 JavaScript与Java在Web开发中的应用

2.1 Web应用示例

下面将以图1、图2所示的某计算服务平台中的登录页面为例,展示了在用户登录操作被执行时,JavaScript对表单的验证和 Java对后台数据的处理过程,进而说明JavaScript和Java语言如何在Web开发中应用,以及他们的区别。

图1 某计算服务平台登录界面

图2 登录界面放大

当登录操作发生时,数据发送到服务器端之前,JavaScript首先在客户端进行表单验证;表单验证通过后,将数据发送到服务器端,Java对其进行后台操作,处理成功则允许用户登录系统,进行下一步操作。具体流程如图3所示。

图3 某计算服务平台的登录流程处理

2.2 JavaScript在Web开发中的应用

如今的JavaScript能够处理复杂的计算和交互,拥有了闭包、匿名函数,甚至元编程等特性[5],成为一门功能全面的编程语言。但是数据验证作为JavaScript最常用也最基本的功能被大量应用于本示例所开发的系统中,它在表单数据发送到服务器之前,在客户端直接与浏览器交互、验证数据信息,从而减少了服务器端的处理任务,提高了用户的操作效率。在本示例的登录操作发生时,JavaScript在客户端的验证流程如图4所示。

图4 JavaScript在客户端的表单验证流程

在login.jsp中对用户名称进行验证的JavaScript代码实现了以下功能:对用户所输入的用户名和密码进行格式检验[6],如果输入格式不符合要求,如:输入为空,或者密码长度不够,则会弹出警告框,要求用户重新输入相关信息。具体代码如下:

如果输入的用户名为空,则会弹出图 5、图 6所示的提示框要求用户重新输入用户名。对密码格式的验证的代码将不再赘述。

图5 弹出提示输入工程名的提示框

图6 提示框放大

2.3 Java在Web开发中的应用

Java可以根据组成和环境的不同分为两类:Java Application和Java Applet。Java Application作为非嵌入式的完整程序,需要独立的解释器来运行;而Java Applet是嵌在HTML编写的Web页面中的非独立程序,需要浏览器内部的Java解释器来才能运行[7]。在本示例的登录界面例子中,Java的对前台页面传入的数据进行后台逻辑操作处理就是一个 Java Application程序,它的操作处理流程如图7所示。

图7 Java在服务器端的数据处理流程

通过checkLogin方法实现以下功能:该方法实现的功能为将用户在界面输入的用户名和密码信息与数据库中存储的信息作比较,如果有相符合的信息存在则返回 true,如果没有相符合的信息存在则返回false。具体代码如下:

在上述checkLogin方法被调用之前,Java会先将提交的用户名数据与服务器端已存在的用户名数据相比较,判断该用户名是否已经在其他计算机上登录,如果已经登录,则不可再次重复登录;当checkLogin方法被调用后,Java会继续进行后续逻辑处理,判断该用户输入的用户名和密码是否正确,如果不正确则需要重新输入用户名和密码。具体代码不再赘述。

3 JavaScript与Java在Web开发中的区别

通过这个例子可以看出JavaScript是一种基于对象和事件驱动的客户端脚本编程语言,也是一种解释性解释语言[8],其源代码在发往客户端前不需要经过编译。在Web开发中主要用来给html页面添加动态效果功能,增强与用户的交互作用,如:响应用户的各种操作等,交互方式也较为简单,无需通过后台服务器,直接在前台客户端与浏览器交互。而 Java是一种真正面向对象的分布式程序设计语言,拥有一套庞大并且完善的类库,由于它的可移植性、易用性和与 html的紧密结合,再加上完善的Web[9]应用体系结构,使Java成为开发Web应用的首选编程语言[10]。作为一个分布式、解释型的程序语言[11],Java也具有一些本例中未体现出来的强大功能,如:支持Internet应用的开发,提供了包括 URL、Socket等用于网络应用编程的类库,可以通过编译器或解释器实现独立于某个特定的编译代码等[12]。

4 结语

综上所述,通过一个基本的用户登录界面示例的展示与分析,可以看出JavaScript和Java虽然都能够应用于Web设计开发中,完成程序的编写并实现一定的功能,但这两种语言本质上有着很大的区别,JavaScript被大量用于解决客户端的交互问题,从而减少了服务器端的负担,提高了工作效率;而Java作为一种高级程序语言,具有高扩展性和可靠性,被广泛应用于服务器端的业务逻辑实现,他们在Web[13]开发中发挥着各自不同的作用。

[1]MONCUR M.Javascript入门经典[M].王军,译.北京:人民邮电出版社,2008.

[2]张彦芳,谢虹.基于Javascript的客户端表单验证[J].生产一线,2009(01):177.

[3]埃克尔.Java编程思想[M].陈昊鹏,译.北京:机械工业出版社,2007.

[4]郎波.Java语言程序设计[M].北京:清华大学出版社,2005.

[5]ZAKAS C N. Javascript高级程序设计[M].李松峰,曹力,译.北京:人民邮电出版社,2012.

[6]李永明,古丽拉.阿东别克.基于B/S的用户名和密码认证防护[J].通信技术,2007,40(05):55-56.

[7]印旻,王行言. Java语言与面向对象程序设计[M].北京:清华大学出版社,2010.

[8]周爱民.JavaScript语言精髓与编程实践[M].北京:电子工业出版社,2012.

[9]武装,李洪奇.基于Web服务的企业应用集成研究[J].通信技术,2009,42(08):154-158.

[10]孙卫琴.Tomcat与 Java Web开发技术详解[M].北京:电子工业出版社,2012.

[11]管铭,赵朋.Java应用程序安全分析研究[J].信息安全与通信保密,2007(05):141-142,145.

[12]梁勇.Java语言程序设计基础篇[M].李娜,译.北京:机械工业出版社,2011.

[13]张利荣,蒋诚,顾艳.基于XML的Web Service安全模型研究与实现[J].信息安全与通信保密,2007(09):105-107.

猜你喜欢

编程语言表单用户名
《护士进修杂志》投稿程序
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
《护士进修杂志》投稿程序
电子表单系统应用分析
《护士进修杂志》投稿程序
Java编程语言的特点与应用
基于图表示和匹配的表单定位与提取
浅谈网页制作中表单的教学
浅谈不同编程语言对计算机软件开发的影响
机智的快递员