如何谈Java Servlets和CGI程序?我相信很多没有经验的人都不知所措。为此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。
从网络的早期阶段,人们就希望他们的web服务器不仅能显示静态文档,而且通用网关接口(CGI)扩展了服务器的功能,代价是额外的处理。FastCGI将外部CGI处理过程与web服务器更紧密地集成在一起。此外,对于NSAPI和ISAPI等专有服务器API,它们以服务器插件的形式直接将外部进程集成到服务器中。现在有了Java Servlets,它们功能强大,可以快速替换您现有的CGI程序。
什么是Servlets?
正如applet扩展了web浏览器的功能一样,Servlets,一个Java组件,扩展了web服务器的功能。对于任何一种服务器端的处理,Servlets都可以作为服务器端的includes或者CGI程序(可以作为JavaSoft的Java Web服务器中的插件)。Servlets可以移植。与CGI和专有API模块不同,您可以使用Java的“一次编写,随处运行”机制来配置企业中的网络应用程序。Servlets也运行稳定。在Servlet中,您创建了一个数据库连接,下次访问Servlet时,该连接仍将存在,这与CGI程序不同。Servlets也是可扩展的,所以您可以使用面向对象的编程方法来减少开发时间。servlet可以在任何支持servlet的web服务器上运行。目前,Servlet SDK除了支持JavaSoft的Java web服务器外,还支持Netscape、Apache和IIS,以及大量的第三方Web服务器。
运行你的Servlet
一旦成功编写和编译了Servlet,就可以将其放在网络服务器中的Servlet别名目录中。就像服务器中的cgi-bin别名目录一样,一旦作为url的一部分被请求,放在Servlet目录中的任何文件都将作为Servlet执行。例如,BasicCGIServlet可以通过以下网址调用: http://mycompany.com/Servlet/BasicCGIServlet。您可以直接调用url(并向Servlet发送请求关键字/值对的字符串),也可以通过HTML表单中的操作调用它。要了解关于支持Servlet的网络服务器的更多信息,请参考JSDK的文档信息。
进一步的用法
GenericServlet和HttpServlet为构建Servlet提供了一个固定的基类。通过重载service()方法,您可以在它们的基础上进行构建。例如,您可以添加对响应缓存的支持(请参见HttpServlet中的getLastModified()),对HTTP 1.1方法的支持,等等。您甚至可以构建一个扩展的模板引擎。(谁真的喜欢在程序中构建HTML代码?)
另一种用法是扩展JSDK,以支持标准应用程序/x-www-form-urlencode mime类型之外的其他表单编码。例如,您可以添加对多部分/表单数据mime类型的支持,以处理通过HTTP上传文件。接口getParameterNames(),getParameterValues(),等等。都是在阳光下实现的。Servlet包,所以您需要配置JSDK来添加这些支持。还有另一种选择,你可以自己实现相关的方法,但是要做到这一点,你需要复制代码或者改变JSDK的语义。以上方法都是可行的,但没有一个是完整的。
现在,您应该能够自己创建Java Servlets了。它们可以用来取代传统的Perl和C/C CGI程序。Java的面向对象特性和“一次编写,随处运行”的机制,使得Java Servlets的编写变得非常简单。Servlet的稳定性可以解决与状态管理相关的问题,这是CGI程序只使用一次来解决实际问题时常见的问题。Servlets可以利用Java语言的所有功能,包括JDBC和RMI。由于大多数web服务器都增加了对Servlet的支持,Java将很快成为开发企业应用程序的可选语言。
看完以上内容,你掌握了如何谈论Java Servlets和CGI程序了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107931.html