Servlets是Java编程状况中一个很是有生命力的新颖事物,本文描写了Servlets,并先容若何用VisualAge for Java矫捷开拓Servlets。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办事器带来了一样的优点。热情者能够经由过程拜候//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 ..binsrun-v
此刻,就有了一个监听8080端口的Web办事器, -v 选项向号令提示符窗口发作详细的输入。上面,翻开肆意一个Web阅读器,例如网景的Navigator,并翻开//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便可。