怎样浅谈Java Servlets与CGI程序

技术怎样浅谈Java Servlets与CGI程序怎样浅谈Java Servlets与CGI程序,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。从网络的早期阶

如何谈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

(0)

相关推荐

  • JavaWeb中域对象'是什么意思

    技术JavaWeb中域对象是什么意思小编给大家分享一下JavaWeb中域对象是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!域对象的概念: 以服务器的内置对象,用来在不同作用域中进行数据共享,

    攻略 2021年11月17日
  • 线程状态代码演示

    技术线程状态代码演示 线程状态代码演示package 线程停止;//检测线程状态public class TestState{ public static void main(String[] a

    礼包 2021年12月15日
  • 自己怎么灌肠,怎样自制灌肠液来清理肠道

    技术自己怎么灌肠,怎样自制灌肠液来清理肠道第一类:清水类,只具有清洗肠道功能,排除宿便和毒素的作用自己怎么灌肠。如温开水,矿泉水等。 第二类:润滑通便作用,这一类液体可以刺激肠道收缩,达到便秘通便的作用。如甘油成份的灌肠

    生活 2021年10月28日
  • oracle中日期时间型timestamp怎么用

    技术oracle中日期时间型timestamp怎么用这篇文章将为大家详细讲解有关oracle中日期时间型timestamp怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、字符型

    攻略 2021年11月11日
  • 电动牙刷和普通牙刷哪个好,电动牙刷真的比普通牙刷好吗

    技术电动牙刷和普通牙刷哪个好,电动牙刷真的比普通牙刷好吗我早就使用电动牙刷的刷牙了,要说电动牙刷的效率,的确比手动牙刷要高一些,因为它的震动频率很快,能够起到清除牙齿污垢的良好效果,建议大家可以买一个试试,我的感觉效果很

    生活 2021年10月21日
  • 如何将eclipse项目导入myeclipse(可以同时安装eclipse和myeclipse)

    技术如何进行MyEclipse6.5+Eclipse3.4的中文问题浅析今天就跟大家聊聊有关如何进行MyEclipse6.5+Eclipse3.4的中文问题浅析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了

    攻略 2021年12月18日