【 tulaoshi.com - 编程语言 】
Servlets是Java编程环境中一个非常有生命力的新鲜事物,本文描述了Servlets,并介绍如何用VisualAge for Java迅速开发Servlets。!-- frame contents -- !-- /frame contents --Servlets开发中应用到的VisualAgeforJava的要害技术是VisualAgeforJava的模拟多种虚拟机环境的能力,以及代码增加编辑并连接到运行中的程序中的能力。
背景 在WWW的初期,程序员们很快就意识到,通过使用公共网关界面(CGI),WWW可以成为一个引人注目的应用开发平台。事实上,一个CGI程序就是把各种能力扩展到Web服务器中的一个插入模块。然而,CGI的最初设计要求为每一个请求服务创建一个单独的进程,从而增加了性能和资源的消耗。为改进CGI的性能和可扩展性,Web服务器厂商引进了专有的APIs,例如网景公司的NSAPI、微软公司的ISAPI和IBM的GWAPI,同时,网景公司还为Navigator引人了一个Web浏览器插入API。这样一来,Web客户机和服务器都可以通过插入而加以扩展。不幸的是,这一插入要求使用专用的APIs,对于不同的操作系统版本也不同。
Sun公司推出的Java和定义的AppletAPI带来了WWW的第二次进步,AppletAPI为开发者提供了一个扩展Web浏览器的标准和与平台无关的方式。现在,Sun公司使Java成为建立N层企业级应用软件又推出了ServletAPI,为Web服务器带来了同样的优点。热心者可以通过访问http://java.sun.com了解Servlet,还可以从这里下载文档和JavaServlet开发工具包(JSDK)。在下面的讨论中,我们将会提到JSDK1.0.1。
运行Servlet
运行Servlet的最好开端是下载JSDK和运行范例,并在Web服务器上配置Servlet。使用者可以用ServletRunner(srun)测试Servlet,ServletRunner是一个包含在JSDK中的小程序,是一个简化的Web服务器,与AppletViewer相似,只要Applet一连接上,它就能够成为一个简化的Web浏览器。
假设使用者正在WindowsNT平台上工作,并已安装了JSDK1.1.x或JSDK1.0.1,打开一个命令提示符,并转到JSDK目录,例如,E:JSDK。在这个目录中,bin子目录中包含了ServletRunner,servlet子目录中包含了servlet范例。然后进入servlet子目录,键入下面命令:
E:JSDKservlet..insrun-v
现在,就有了一个监听8080端口的Web服务器,"-v"选项向命令提示符窗口产生具体的输出。下面,打开任意一个Web浏览器,例如网景的Navigator,并打开http://127.0.0.1:8080/servlet/HelloWorldServlet。ServletRunner加载了HelloWorldServlet类,为它构造一个环境,调用其init()方法,然后调用它的service()方法,service()方法有一个请求参数和响应参数。HelloWorldServlet对象简单地给响应对象写一个Html主页,该响应对象被返回到Web浏览器并显示。在第一次服务请求之后,该servlet保持激活状态,并处于待命状态,可以处理进一步的请求。servlet的构造必须能够处理多个并发服务请求,因为每一请求都是从自己的线程开始的。当ServletRunner终止时,它调用servlet的destroy()方法。
在Servlet生命周期的最后阶段,使用者必须停止并重新启动ServletRunner(或Web服务器),以得到一个更新的servlet类文件。在开发过程中,使用者会经常改变servlet代码,所以使用ServletRunner可能会很单调乏味,非凡是在servlet开始运行了一段时间以后,不得不调试一个问题的时候。幸运的是,来自IBM的VisualAgeforJava提供了一个效率更高的开发Servlet软件的方式。
要停止ServletRunner,在命令提示符窗口中键入Ctrl-C即可。
进入讨论组讨论。
使用VisualAge for Java VisualAge for Java有两个要害技术,使开发servlet非常方便:一个是多种虚拟机环境模拟,另一个是代码增加编辑并连接到运行中的程序。