计算机系统应用教程网站

网站首页 > 技术文章 正文

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

btikc 2024-10-18 04:40:43 技术文章 7 ℃ 0 评论

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表