Java开发之servlet技术是否已经过时?

2022-08-08 08:28:37

Java Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自 Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

最近在一些论坛大家甚至发出了”servlet技术已经过时“的言论,servlet技术真的已经成为过去式了吗?我的答案是否定的,我认为Servlet可以相应任何类型的请求,至今在服务器开发领域仍然有比较广泛的使用。为了让大家更加清晰直观的认识Servlet,我特意将其和JSP进行了比较

JSP优点:

一次编写,到处运行。除了系统之外,代码不用做任何更改。

系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。

强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。

JSP缺点:

与ASP也一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。

Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。

Servlet优点:

方便

Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。

功能强大

在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

可移植性好

Servlet用Java编写,Servlet API具有完善的标准。因此,为IPlanet Enterprise Server写的Servlet无需任何实质上的改动即可移植到Apache、Microsoft IIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。

节省投资

不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。

缺点:

Servlet 没有图形界面,运行在服务器端。

Servlet是一个早期的不完善的产品,写business layer很好,写presentation layer就不太理想,并且两层混杂。

最后划个重点:Servlet在今后的长时间内还会被广泛使用,所以现在讨论过时的问题还为时尚早

  • 作者:码农王也
  • 原文链接:https://wangye.blog.csdn.net/article/details/84660281
    更新时间:2022-08-08 08:28:37