怎样浅谈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)

相关推荐

  • 双指针

    技术双指针 双指针双指针799. 最长连续不重复子序列
    给定一个长度为 \(n\) 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。
    输入格式
    第一行包含整数 \(n\)。
    第二行包含

    礼包 2021年11月15日
  • 拉链表和快照表怎么更新数据(数据仓库的拉链表)

    技术数据仓库企业数仓拉链表如何制作​这篇文章主要为大家展示了“数据仓库企业数仓拉链表如何制作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据仓库企业数仓拉链表如何制作”这篇

    攻略 2021年12月24日
  • relationship,relationship的翻译

    技术relationship,relationship的翻译relationship 英[rɪˈleɪʃnʃɪp] 美[rɪˈleʃənˌʃɪp] n. 关系; 联系; 浪漫关系; 血缘关系;

    生活 2021年10月25日
  • 如何解析ASP.NET1.1、ASP.NET2.0、ASP.NET3.5中验证控件等问题

    技术如何解析ASP.NET1.1、ASP.NET2.0、ASP.NET3.5中验证控件等问题这篇文章将为大家详细讲解有关如何解析ASP.NET1.1、ASP.NET2.0、ASP.NET3.5中验证控件等问题,文章内容质

    攻略 2021年11月26日
  • 闯红灯12123多久能显示,闯红灯后多长时间能查到违章

    技术闯红灯12123多久能显示,闯红灯后多长时间能查到违章一般情况,如果是通过网上的车辆违章进行查询,5个工作日可以查询到了,因为交警队需要输入和核对确认的,最晚不超过13个工作日闯红灯12123多久能显示。如果去车管所

    生活 2021年10月31日
  • python调用函数和打印函数的区别有哪些

    技术python调用函数和打印函数的区别有哪些本篇内容介绍了“python调用函数和打印函数的区别有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

    攻略 2021年10月20日