代码编织梦想

1. Servlet的概念

Servlet 是 Server Applet 的缩写,译为“服务器端小程序”,是一种使用 Java 语言来开发动态网站的技术。

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

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

使用 Servlet 开发动态网站非常方便,程序员只需要集中精力处理业务逻辑,不需要再为那些基础性的、通用性的功能编写代码,这使得 Servlet 在动态网站开发领域具备了很高的实用性。

Servlet 基于 Java,可以使用几乎全部的 Java API,所以它的功能异常强大,完全可以胜任企业级开发,能够处理那些高并发、大吞吐量、业务逻辑复杂的应用场景。

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

2. Servlet是一种规范

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

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

3. Servlet的接口

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

public class ServletDemo implements Servlet {
    //TODO:
}

在这里插入图片描述

直接实现 Servlet 接口比较麻烦,需要实现很多方法(5个方法),所以 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。

学习顺序

  • 学习 Servlet 的正确顺序是:Java --> Servlet。
  • 学习 JSP 的正确顺序是:Java --> Servlet --> JSP。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46312449/article/details/128050543

走进javaweb技术世界2:jsp与servlet的曾经与现在-爱代码爱编程

本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发

走进javaweb技术世界4:servlet 工作原理详解-爱代码爱编程

本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发

走进javaweb技术世界6:tomcat5总体架构剖析-爱代码爱编程

本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发

Github良心系列Java-Tutorial-爱代码爱编程

本专栏转载自,方便今后复习查看(侵删) https://github.com/h2pl/Java-Tutorial 本系列文章将同步到作者的个人博客: www.how2playlife.com 更多Java技术文章将陆续在微信公众号【Java技术江湖】更新,敬请关注。 本文是《走进JavaWeb技术世界》系列博文的其中

javaWeb的项目路径问题(对servlet路径和form表单请求路径的一些归纳)-爱代码爱编程

javaWeb项目的路径问题 这篇文章大神将路径问题讲的很透彻,我想说的是几点小细节, 博主说的很清楚,如果这里的deployment下面的application context中不单单仅是一个 / ,后面加的有其他字符的话,在form表单中我们填写action指向的地址时也要加上。 我就犯了这个错误,加的有东西,但form表单的action地址值中忘了加

servletContext接口存值取值与删除值透彻解析-爱代码爱编程

ServletContext接口: ServletContext对象是在web服务器启动时就被创建了,是web服务器(java虚拟机)创建的ServletContext对象, 每一个web项目只有一个ServletContext对象。 ServletContext对象的作用: 1、获取web应用程序的初始化参数 2、在web应用程序能共享数据 3、获取

【JavaWeb必知】从 Servlet 入手带你看架构和框架设计的套路-爱代码爱编程

以下代码相信大家都很熟悉,大学时学 Java Web 都写过这样的代码。 从第一次接触 Servlet 到之后的很长一段时间内,我都没理解 Servlet 是个什么玩意? 为什么要有 Servlet ? 为什么要有 Servlet 容器? 啥又是 Web 容器、HTTP 服务器? 今儿咱们就来盘盘,并且从中来看看架构和框架的设计套路。 看完

java书城登录注册查询 原生servlet实现-爱代码爱编程

java书城登录注册查询 原生servlet实现 前言一、项目功能二、项目实现方法1.项目结构总结图片展示结语另外 文章目录 前言一、项目功能二、项目实现方法1.项目结构总结图片展示结语另外 前言 本人是一位破烂专科的大二学生,在课余时间会去多学一些内容,这次临近年末要做一次年末的总结汇报,在汇报之前打算借这个平台梳理一下近期所学

java servlet 多线程_Java面试题:Servlet是线程安全的吗?-爱代码爱编程

博主个人独立站点开通啦!欢迎点击访问:https://shuyi.tech Servlet不是线程安全的。 要解释为什么Servlet为什么不是线程安全的,需要了解Servlet容器(即Tomcat)使如何响应HTTP请求的。 当Tomcat接收到Client的HTTP请求时,Tomcat从线程池中取出一个线程,之后找到该请求对应的Servlet

javaweb从入门到精通系列教程,详解Tomcat中的Servlet-爱代码爱编程

很多Java初学者容易把Servlet和太多东西联系起来,其实Servlet本身在Tomcat中是“非常被动”的一个角色,处理的事情也很简单。 网络请求与响应,不是他的主要职责,它其实更偏向于业务代码。所谓的Request和Response是Tomcat传给它,用来处理请求和响应的工具,但它本身不处理这些。 下文为大家详细介绍Tomcat中Servle

【Java学习路线之JavaWeb】Servlet教程-爱代码爱编程

建议在看这篇教程之前,可以看一下:使用IDEA创建servlet JavaWeb 应用及使用Tomcat本地部署,这样我们就可以打好了开发环境,方便我们后面的学习。 本教程转载整理于:http://c.biancheng.net/servlet2/ 文章目录 Servlet教程为什么要学习Servlet?读者阅读条件Servlet到底是什么(非

华清远见-爱代码爱编程

在javaweb的学习阶段中,我们主要学习的是Servlet,之后在转接到Jsp,两者结合起来使用。 首先,就简单介绍一下Servlet的部署和运行原理吧。Servlet 是 Server Applet 的缩写,译为“服务器端小程序”,是一种使用 Java 语言来开发动态网站的技术。它是基于 Java 的,几乎可以使用所有的 Java API,Java