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

createh53个月前 (01-20)技术教程31

摘要:作为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 规范,不同容器实现的规范版本不同。

相关文章

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

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

搭建Java开发环境

要开发 Java 程序首先必须要配置好环境变量,而 Java 的运行环境的配置比较麻烦。 下面来看一下 JDK 的安装过程。在这里 JDK 选用的是 jdk1.7.0_07版本。安装步骤: 首先,...

JAVA JDK安装与环境变量配置

下载JDK到Oracle官网下载JDK如果不想去下载,关注我,私信回复“JDK”我发你安装JDK安装JDK时,除了修改安装目录,其他的一路【下一步】,傻瓜式安装。注:当提示安装JRE时,可以选择不要安...

从零开始搭建Java Web中间件环境

作为Java开发人员,我们经常需要在Linux服务器上搭建各种中间件环境来支撑我们的应用程序。这些中间件包括MySQL、Redis、JDK、Nacos、Jenkins和Nginx等。本文将介绍如何从零...

Java读取环境变量方法

要读取Java中的环境变量,可以使用System.getenv()方法来获取当前进程的所有环境变量。下面是一个简单的Java代码示例,演示如何读取环境变量:在这个例子中,我们通过System.gete...

一个超适合初学者的轻量级Java开发工具!

Java是世界上最流行的编程语言之一,它被广泛用于从Web开发到移动应用的各种应用程序。大部分Java工程师主要是用IDEA、Eclipse为主,这两个开发工具由于有强大的能力,所以复杂度上就更高一些...