JAVA编程基础:Servlet及其依赖环境

createh54个月前 (01-20)技术教程38

摘要:作为JAVA编程基础,servlet入门知识比不可少,本文说明什么是servlet和过滤器,以及相关规范和环境,供学习或者工作中参考。


准备:

了解应用服务器,掌握java语法基础

正文:

(1)Servlet概述

Java Servlet 是运行在 Web Server或应用服务器(例如:Tomcat)上的程序,它是作为来自 Web browser和 Web Server应用程序之间的中间层。Web browser和 Web Server之间传输协议是HTTP,因此Servlet也必须支持HTTP协议。

Servlet收集来自Web网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页,这些功能和 CGI(Common Gateway Interface,公共网关接口)程序相同。

相比于 CGI,Servlet更容易开发,还有如下特点:

  • Servlet 在 Web 服务器的地址空间内执行。
  • Servlet 用 Java 编写。
  • Java 安全管理器能保护Servlet。
  • Java 类库能支撑 Servlet。

JAVA Web开发框架大部分都是建立在Servlet基础之上的,比如Structs和Spring MVC,前者的ActionServlet和后者的DispatcherServlet都是Servlet。

(2)过滤器Filter

Servlet是处理web请求的基本单元,而过滤器Filter则是围绕着Servlet,用于在web请求被处理之前或者之后对web请求(Request)和应答(Response)修改,Filter工作机制如下图:

Servlet过滤器Filter 具有如下特点:

  • Filter既可以作用于Servlet之前、又可以作用于Servlet之后(而Spring Security作用于Servlet之前)
  • Filter在Request到达Servlet之前,可以直接将Response返回,此功能用于诸如在未登录的情况下直接向用户展示登录页面这样的功能
  • 在客户端的请求访问后端资源之前,过滤器Filter负责拦截这些请求。在服务器的响应发送回客户端之前,过滤器Filter处理这些响应。
  • 多个Filter起作用时有先后顺序。

根据规范,过滤器Filter有如下类型:

  • 身份验证过滤器(Authentication Filters)。
  • 数据压缩过滤器(Data compression Filters)。
  • 加密过滤器(Encryption Filters)。
  • 触发资源访问事件过滤器。
  • 图像转换过滤器(Image Conversion Filters)。
  • 日志记录和审核过滤器(Logging and Auditing Filters)。
  • MIME-TYPE 链过滤器(MIME-TYPE Chain Filters)。
  • 标记化过滤器(Tokenizing Filters)。
  • XSL/T 过滤器(XSL/T Filters),转换 XML 内容。

过滤器Filter通过 Web 部署描述符(web.xml)中的 XML 标签来声明,然后映射到Web应用程序的部署描述符中的 Servlet 名称或 URL 模式。

当启动 Web 应用程序时,Web 容器在部署描述符中为声明的每一个过滤器创建一个实例。

过滤器Filter的执行顺序与在web.xml配置文件中的配置顺序一致,一般把Filter配置在所有的Servlet之前。

(3)Servlet依赖环境

Servlet依赖环境包括Web服务器(应用服务器、容器)、servlet规范、JSP规范。

Java Servlet 运行在带有支持 Java Servlet 规范的Web服务器或者容器上,而Tomcat就是一种支持servlet容器功能的应用服务器。

Servlet需要 javax.servlet 和 javax.servlet.http 包支持。

Servlet必须符合Java Servlet 规范和 JSP 规范,不同容器实现的规范版本不同。

相关文章

从零开始学Java系列之最详细的Java环境变量配置教程

前言:在上一篇文章中,壹哥给大家重点讲解了Java实现跨平台的原理,不知道你现在有没有弄清楚呢?如果你还有疑问,可以在评论区留言~之前的三篇文章,主要是理论性的内容,其实你暂时跳过不看也是可以的,我们...

5款热门Java集成开发环境,你用上了么?

工欲善其事必先利其器。学习一门语言,入门第一步就是先选择一款强大的集成开发环境(简称IDE)并安装它。Java作为当下最热门语言之一,今天我们就来介绍一下5款最热门的Java集成开发环境。入门新人们赶...

Java开发环境配置

编者按本讲是Java系列文章的第2讲,开发环境配置。兵马未动,粮草先行;工欲善其事必先利其器!内容提要俗话说的好:工欲善其事,必先利其器!Java开发环境配置是每位Java开发者必须掌握的基础知识,...

java1.8安装及环境变量配置详细教程!(专业保姆级,小白秒会)

hello大家好!很多人在日常学习办公过程中安装一些软件,尤其是一些专业软件,需要各种运行环境和库的支持才能正常使用,但是很多小伙伴由于是初次接触,不懂得其中的原理,自己折腾半天也摸不着头脑。比如有的...

JAVA 01 jdk下载安装以及配置环境变量

1.搭建JAVA开发环境1.JDK的下载和安装从oracle官网下载即可。安装到E盘下双击安装,文件夹名字不可以有中文字符。安装路径为:E://java文件夹下。配置JDK环境变量找到path,进行新...

JAVA+Maven +Eclipse 环境搭建

软件版本及下载地址:1-JDK-11.0.25_Windows-x64_bin.exehttps://download.oracle.com/java/21/latest/jdk-21_windows...