45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网页特效 >

用Java Servlet实现动态Web连接

电脑软硬件应用网 45IT.COM 时间:2005-12-30 19:02 作者:45IT收集


  电子商务应用应当具有交互性、动态性和快捷等特点,服务器端Java是实现这种应用的关键。 

  动态、高性能电子商务站点对客户或用户具有吸引力。动态站点的交互性特点能使用户成为站点的回头客。Java Servlet是创建这类站点的有效办法。这是因为Java Servlet能够改善用户电子商务应用的操作效能和可放缩性,并能重复使用可加快应用开发工作的各种部件。本文介绍怎样创建和使用Java Servlet,以及怎样把现有的基于CGI的应用转换成Java Servlet。 Web应用必须是动态的,这样才能对用户提供有价值的新的应用业务。动态Web应用与用户交互作用可以使他们得到有价值的信息,并提供从电子商务到技术支持的各种服务。Java Servlet是实现动态电子商务Web应用的一种重要方法。与简单的HTML页面所不同的是,每当用户访问它时,动态Web页面就被更新。动态内容需要在把页面传送给用户之前在服务器上进行处理。处理内容包括服务器检验其系统时钟,适当地向用户致欢迎词(如"早晨好"、"晚上好"、"新年好"),服务器受理用户通过电子表格传来的信息,以及用定制的回答答复用户。这种交互性使得有可能创建功能强劲的Web应用。 Java Servlet是一种生成动态内容的解决办法。其他的解决办法包括通用网关接口(CGI)、专用编程接口(API)、微软ASP等服务器端脚本解决办法,以及Lotus Domino服务器的综合可编程性。 

  Java Servlet功能特性

  Java Servlet是一种能够插入服务器的程序对象。它采用的所有程序都可以与Web服务器兼容,是Sun的Java成套开发工具(JDK)或Java运行环境(JRE)这样的Java虚拟机,以及一系列组成Servlet API的Java类的实现。后者常常由各种服务器厂商以及它们的Servlet附加产品提供。Java Servlet被动态地装入Web服务器的存储空间,并成为它的一个组成部分,从而扩充其功能。 在大多数情况下,采用Java Servlet编写的Web应用程序执行情况比采用像微软ASP这样的服务器端脚本编写的程序执行情况更好。CGI程序把高负载强加给服务器资源,每当服务器受理CGI程序的请求时,服务器必须启动一个新的程序来处理请求。当使用脚本语言(如Perl)时,服务器还必须启动语言解释程序。程序越多,占用内存就越多,硬驱活动就越频繁,CPU利用也越多,从而严重地影响操作性能。如果采用服务器端脚本,语言解释程序是内置程序,因此可以加快服务器的运行,但是处理脚本也占用CPU的资源。 另一个赞成服务器端脚本的理由是它与服务器相关(而且在大多数情况下也与平台相关)。例如,ASP只在运行IIS的Windows NT上工作。如果用户必须向不同的服务器和(或)平台迁移,那就得重写代码。Java程序并不直接在CPU上运行,而是在Java虚拟机(JVM)中运行。这使得Java程序和Servlet执行速度比本机的二进制代码慢一些。由于不必产生多个新的程序,因此所产生的性能增益远远超过增加一个执行层的操作效能的损失。相比之下,服务器只需启动一次JVM就能执行任意量的Java Servlet程序。 有些Web服务器有专用的API(如Netscape的NSAPI和微软的ISAPI)。用户使用API开发需要装入服务器并成为服务器的组成部分的模块和部件。这种解决办法尽管操作效能良好,但是需要做大量的工作,而且难以向其他的体系结构迁移。

  Java的优点 

  Java Servlet是采用Java编程语言编写的,除操作效能有所改进外,Java还有几个优点,这些优点可使Servlet成为服务器端编程的最好的解决办法。这些优点包括: 1.面向对象——这是创建可重复使用的组件的最好的办法; 2.API的一致性——Java包含大量的类和几乎能处理任何类的方法,学习Java的投资在各种情况下都能得到补偿; 3.平台交叉性——Java程序在虚拟机中执行,这种虚拟机可用于所有的普通平台,在Unix平台上创建的Servlet无需改变就能用在Windows NT平台上;当改变平台或采用新技术时,用户的Servlet投资也容易得到保护; 4.集成性——许多厂商提供成套的软件开发工具,它们是从数据库到目录服务和群件组件等多种产品的应用的推动者。Java Servlet能够对用户提供数据库、企业目录和部门日程表等,从而使Servlet成为处理各种应用的功能极其强大的工具。

  安全性

  Java Servlet能够使用包括SSL在内的安全协议。Servlet与Java内在的安全措施紧密相连,如不直接访问内存、敏感系统缓存器等。采用安全管理器,用户能够限定对其他资源的访问,如文件、目录和局域网。Java Servlet支持代码符号,从而能够更好地控制委托每个Servlet要执行的程序。 

  Servlet的管理

  对于大多数用户来说,Servlet比CGI程序和服务器脚本更容易管理。Servlet是以Java类的形式编译的。Java采用能够保存在Java Archive(.TAR)文件中的编制目录树内的组件,提供一种管理类的方法,如Sun公司的Java Web服务器的Servlet管理平台。有些服务器和第三方产品为管理Servlet提供图形用户接口。 

  环境变量

  CGI接口的最重要的内容是CGI环境变量。CGI规范http://hoohoo.nsca.uiuc.edu/cgi/interface.html)列出19个环境变量。尽管其他的环境变量,如HTTP_COOKIE(用于查询站点信息的)不是该规范的组成部分,但是也经常使用。 由于Java不直接在服务器上执行,所以不能直接访问环境变量(该系统的属性)。由于CGI环境变量是由Web服务器建立的,而且用户能够用其他的方法查询变量值,所以Java不访问环境变量没有什么问题。 Java Servlet API定义几种查询在CGI环境变量中发现的大多数信息的方法。有些信息是HTTP标题的组成部分,而且采用HttpServletRequest类中的getHeader()方法能够很容易地存取。采用特殊方法可以查询其他的信息。 Java Servlet唯一不可用的CGI环境变量是GATEWAY_INTERFACE。当在CGI程序中使用时,该变量包含CGI版本。在Java Servlet中,这种变量信息是无关紧要的。 表1列出了CGI环境变量及其在HttpServletRequest中的相应的方法。值得注意的是,采用getHeader()方法,可以直接从HTTP标题中查询某些信息。

  Java和服务器端脚本。

  用户可以将Java用于服务器端像ASP这样的许多脚本。目前只有用Sun Java WebServer才可以选用这些称之为页面编辑(Page Compilation)的脚本。这是设想在以...标记封装的HTML文件中嵌入实时Java。按照这种设想, 可把该页面编译成Java Servlet。例如: 
  <HEAD> 
  <TITLE>Page Compilation</TITLE> 
  </HEAD> 
  <BODY BGCOLOR="#FFFFFF"> 
  I will now count to 10:<BR> 
  <JAVA> 
  for (int i=0;i<=10;i++) out.println (I + ""); 
  </JAVA> 
  </BODY> 
  </HTML> 
  用户服务器上的Servlet

  使用Java Servlet需要对用户的服务器进行配置和修改。尽管大多数普通的Web服务器支持Servlet,用户还是要增加产品。表2列出几种普通的Web服务器和支持Java Servlet的产品。

  CGI向Servlet迁移 

  如果用户以前用过CGI,则将会面临迁移问题。许多站点依靠传统的CGI代码。如果要成功地编写Java Servlet,了解Java编程语言及其面向对象的结构的某些知识是必要的。如果你是CGI编程员,Java Servlet可能是Java语言的最好的入门指导。 为帮助用户了解Java Servlet怎样运行,特别是帮助用户从CGI向Servlet迁移,这里提供几个代码实例和Servlet。用户http://www.advisor.com/e?business/网址可以得到这些实例。 

  结语 

  服务器端是Java真正能表现其长处之所在。开发服务器端Java和(或)从CGI或ASP迁移可以改进操作效能和扩展性。Java Servlet具有面向对象的优点,因此通过创建可重复使用的组件将加快应用开发,并使开发人员从事某种应用的研究更加容易。 Java Servlet对Java提供极好的引导。Java Servlet具有直观性,易于使用,而且开辟了采用其他技术难以甚至是不可能实现的各种可能性。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识