Servlet简介-1

目录

1、为什么要学习Servlet?

2、Servlet 是一种规范

3、Servlet 接口

4、JSP

5、Servlet 版本

6、Applet

7、Java,J2EE,JSP,Servlet,Tomcat之间究竟是什么关系?


        Servlet 是 Server Applet 的简称,译作"服务器端小程序"。它是一种基于 Java 技术的 Web 组件,运行在服务器端。由 Servlet 容器管理,用来生成动态的 Web 内容。

        Servlet 虽然被称作"小程序",但是它的功能却异常强大,因为它是基于 Java 的,几乎可以使用所有的 Java API,Java 能做的事情,Servlet 也能做。

        Servlet 是 Sun 公司推出的一种基于 Java 的动态网站开发技术。编写 Servlet 代码需要遵循 Java 语法,一个 Servlet 程序其实就是一个按照 Servlet 规范编写的 Java 类。Servlet 程序需要先编译成字节码文件(.class文件),然后再部署到服务器运行。

1、为什么要学习Servlet?

        使用 Servlet,您可以获取用户通过网页表单提交的数据、访问数据库,还可以创建动态网页。在 Servlet 出现之前,CGI(通用网关接口)脚本语言是最常用服务器端编程语言。然而 CGI 程序存在一些缺点,例如:编写困难、对用户请求响应时间较长、以进程的方式运行导致性能受限等。

        Servlet 是 SUN 公司作为 CGI 技术的替代品而推出的技术。与 CGI 技术相比,Servlet 具有以下优势:

  • 性能更好:Servlet 中,每个请求由一个轻量级的 Java 线程处理,效率更高,性能更好;
  • 可移植性好:基于 Java,具有平台独立性,可移植到任何支持 Java 的服务器中运行;
  • 功能更加强大:Servlet 能够直接和 Web 服务器交互,并能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现;
  • 编写方便:Servlet 提供了大量的实用工具例程,例如自动地解析和解码 HTML 表单数据、读取和设置 HTTP 头、处理 Cookie、跟踪会话状态等。

        Servlet 是 CGI 技术的替代品,直接使用 Servlet 开发依旧十分繁琐,因此 SUN 公司又推出了 JSP 技术。JSP 对 Servlet 再次进行了封装,JSP 经过编译后依然是 Servlet。Servlet 是 Java 语言中编写 Web 服务器扩展功能的重要技术,同时它也是 JSP 技术的底层运行基础。

2、Servlet 是一种规范

        严格来说,Servlet 只是一套 Java Web 开发的规范,或者说是一套 Java Web 开发的技术标准。只有规范并不能做任何事情,必须要有人去实现它。所谓实现 Servlet 规范,就是真正编写代码去实现 Servlet 规范提到的各种功能,包括类、方法、属性等。

        Servlet 规范是开放的,除了 Sun 公司,其它公司也可以实现 Servlet 规范。目前常见的实现了 Servlet 规范的产品包括 Tomcat、Weblogic、Jetty、Jboss、WebSphere 等,它们都被称为"Servlet 容器"。Servlet 容器用来管理程序员编写的 Servlet 类。

3、Servlet 接口

        Servlet 是一种使用 Java 语言来开发动态网站的技术。Java 是一种功能强大的通用型编程语言,可以处理 HTTP 请求,可以访问数据库,可以生成 HTML 代码,您完全可以使用原生 Java 来开发动态网站。但是,使用原生 Java 开发动态网站非常麻烦,需要自己解析 HTTP 请求的报头,需要自己分析用户的请求参数,需要自己加载数据库组件……种种原因导致使用原生 Java 开发动态网站几乎是一件不能被接受的事情。正是基于这种原因,Java 官方后来推出了 Servlet 技术,它对开发动态网站需要使用的原生 Java API 进行了封装,形成了一套新的 API,称为 Servlet API。

        所有的 Servlet 功能都是通过一个名为Servlet的接口(Interface)向外暴露的,编写 Servlet 代码,可以从实现 Servlet 接口开始,就像下面这样:

public class ServletDemo implements Servlet {
    //TODO:
}

        直接实现 Servlet 接口比较麻烦,需要实现很多方法,所以 Servlet 规范又提供了两个抽象类,分别是 GenericServlet 类和 HttpServlet 类,它们都实现了 Servlet 接口的很多常用功能。和 GenericServlet 类相比,HttpServlet 类更加方便,所以实际开发中一般都继承自 HttpServlet 类。

4、JSP

        Servlet 是第一代 Java Web 开发技术,它将 HTML 代码以字符串的形式向外输出,编写 HTML 文档就是在拼接字符串,非常麻烦,所以 Java 官方又推出了第二代 Web 开发技术——JSP。JSP 才是现代化的 Web 开发技术,它允许 HTML 代码和 JSP 代码分离,让程序员能够在 HTML 文档中直接嵌入 JSP 代码。

        现在没有人直接使用 Servlet 开发动态网站,大家都转向了 JSP 阵营。但是 JSP 依赖于 Servlet,用户访问 JSP 页面时,JSP 代码会被翻译成 Servlet 代码,最终,HTML 代码还是以字符串的形式向外输出的。您看,JSP 只是在 Servlet 的基础上做了进一步封装。
        JSP 代码可以调用 Servlet 类,程序员可以将部分功能在 Servlet 中实现,然后在 JSP 中调用即可。
        总之,Servlet 是 JSP 的基础,Servlet 虽然不直接面向用户,但它依然是 JSP 的后台支撑,想玩转 JSP,必须先玩转 Servlet。

5、Servlet 版本

        下表列出了各种主要 Servlet 版本的发布日期及其对应的 Java 版本。

官方地址:Apache Tomcat® - Which Version Do I Want?

6、Applet

        您可能还听说过 Applet,它和 Servlet 是相对的:

  • Java Servlet:是"服务器端小程序",运行在服务器上,用来开发动态网站;
  • Java Applet:是"客户端小程序",一般被嵌入到 HTML 页面,运行在支持 Java 的浏览器中。

        Applet 和 Servlet 都是基于 Java 的一种技术,功能都非常强大,但是 Applet 开发步骤繁杂,而且只能在安装 Java 虚拟机(JVM)的计算机上运行,现在已经被 JavaScript 全面替代,几乎没有人再学习 Applet。

7、Java,J2EE,JSP,Servlet,Tomcat之间究竟是什么关系?

        Java是一种编程语言,这个不用说。

        J2EE是SUN公司对Java语言使用平台划分中的一种。目前,Java 2平台有3个版本,它们分别是:

  • 适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)
  • 适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)
  • 适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。

        针对J2EE平台,SUN公司会给标准Java增加一些功能。J2EE技术的基础就是核心Java平台或Java2平台的标准版。J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在 Internet 应用中保护数据的安全模式等等。同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlet API、JSP(Java Server Pages)以及XML技术的全面支持。 J2EE中就包括了Java Servlet API和JSP。

        JSP:全称 Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

        Serlvet:全称 Java Servlet,是用 Java 编写的服务器端程序。而这些 Servlet 都要实现 Servlet 这个接口。其主要功能在于交互式的浏览和修改数据,生成动态Web内容。Servlet 运行于支持 Java 的应用服务器中,如:Tomcat。其实 Servlet 和 JSP 是两个规范,规定了 Servlet 和 JSP 文件的标准写法。Tomcat 是遵循这种规范的一个 Java Web 容器,此外还有 Jetty,Jboss 等等。

        Tomcat 是 Servlet 的容器/服务器,可以运行 Servlet 和 JSP 文件。

        综上即,你使用 Java(语言),利用 JSP 和 Servlet(具体的技术)开发了一个 Web 应用,然后放在 Tomcat (Web服务器)上运行。你就可以跟别人说,你写了个 J2EE(一种架构的统称)的应用程序。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值