`
XTU_xiaoxin
  • 浏览: 240724 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Servlet 规范笔记—基于http协议的servlet

 
阅读更多
在上一章节,我们大概的描述了servlet的规范以及servlet和servlet容器的概念和用途,我们清楚的知道servlet容器提供了接收来自client端的请求,然后根据请求进行处理(如:执行对应的servlet生成动态内容,或读取静态资源等),最后将client请求的资源响应给client端。在以上过程中,有一点需要注意,那就是根据servlet容器的作用,client端和server端需要交互传输数据,而在internet上的数据传输一定是基于某种传输协议的,如http、ftp等. 而上一章描述的Servelt规范是不基于协议的。 在这一章,我们将主要描述基于Http协议传输的servlet接口规范。 以下是基于Http 协议的Servlet结构图.


通过以上servlet结构类图,有以下几点我们是需要注意的:
HttpServlet在Servlet规范上的增强
HttpServlet是满足Servlet规范、基于Http作为传输协议而设计的一个接口。所以,它不仅满足Servlet规范,继承了Servlet中的所有功能(接口方法),并且,它还具有自己的一些特有的功能,而这些功能即是专门用来处理通过http所传输的信息的。这么说可能有点晦涩难懂,还是举几个例子吧: 例如HttpServlet中不仅仅有service方法,它还包含有doGet、doPost、doPut等一系列方法,如果你熟悉http协议,你应该清楚,http请求类型有post、get、put、delete等,而httpServlet中doGet、doPost方法就是专门用来处理相关的http请求类型. 再举个例子,如果你仔细看看HttpServletRequest接口,你就会发现,除了继承ServletRequest中的方法外,它还有getHeader、getMethod方法,而getHeader就是专门用来获得http的头(header)信息的,getMethod就是专门用来获得client基于http协议请求的方式的,如post、get等。
ServletRequestWrapper和HttpServletRequestWrapper的作用是什么?
看看ServletRequestWrapper的类结构图,你可能会发现它有两个特点:1,它实现了ServletRequest接口; 2,ServletRequestWrapper 类里有一个对ServletRequest对象的引用. 发现了吧,很明显,这就是java设计模式中的装饰模通过式嘛。结合装饰模式的作用可知,ServletRequestWrapper/HttpServletRequestWrapper提供了一种对ServletRequest/HttpServletRequest进行装饰和扩展的作用。例如,如果你想在调用ServletRequest.setAttribute方法前需要记录这次操作的日志,则可以通过创建个自定义的Servlet,集成ServletRequestWrapper,然后重写setAttribute方法即可.

ServletResponseWrapper和HttpServletResponseWrapper的作用是什么?
作用和上描述类似。ServletResponseWrapper长被用来将本该响应给client端的信息提取出来,然后作进一步修饰或增强。如比较常用的页面布局框架SiteMesh就是采用这种机制来捕获页面内容,然后对这些内容进行装饰。

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    Servlet学习笔记(java的Servlet)

    Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 共三卷

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷

    Java相关课程系列笔记之九Servlet学习笔记

    Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...

    JSP&Servlet学习笔记.pdf

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。  本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...

    林学良Jsp&Servlet学习笔记

    Servlet接收HTTP请求,处理这些请求,并生成响应。 1. **Servlet生命周期:** - **加载与实例化**:Servlet容器(如Tomcat)加载Servlet类并创建一个Servlet实例。 - **初始化**:调用Servlet的`init()`方法,...

    servlet 笔记

    ### Servlet基础知识及应用详解 #### 一、Servlet概述 Servlet是一种服务器端的Java技术,用于扩展应用程序的功能。它主要用于Web应用程序开发,可以处理客户端发送到Web服务器的各种请求,并且能够生成动态网页。...

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...

    韩顺平 2011细说Servlet笔记

    在本篇中,我们将深入探讨Servlet的相关知识点,包括其原理、配置、生命周期以及与HTTP协议的交互。 1. **Servlet基本概念** Servlet是Java Servlet API规范中的接口,是Java平台上的动态网页技术。它扩展了Web...

    [JSP&Servlet;学习笔记(第2版)]

    Servlet不直接与HTML交互,而是通过HTTP协议与客户端通信。当客户端发送请求到服务器时,Servlet接收请求,处理数据,然后生成响应。 **Servlet生命周期:** 1. **加载与实例化**:当首次请求到达时,Servlet容器...

    servlet基础笔记

    Servlet与客户端之间的通信是基于HTTP协议的。Servlet可以通过HttpServletRequest对象获取请求参数,通过HttpServletResponse对象设置响应头和内容。例如,可以从请求中获取查询参数: ```java String param = ...

    servlet入门经典笔记

    `GenericServlet`提供了通用的Servlet功能,而`HttpServlet`则更专注于HTTP协议,它已经实现了`service()`方法,可以根据HTTP请求类型自动分发到相应的处理方法。 在`HttpServlet`中,我们通常重写`doGet()`和`...

    韩顺平servlet笔记.rar下载

    韩顺平老师的Servlet笔记是对这一技术的深入讲解,旨在帮助学习者掌握Servlet的使用和概念。以下是对Servlet技术的详细说明: 1. **Servlet简介**:Servlet是Java Servlet API的实现,它提供了一种标准的方式来扩展...

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案

    吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...

    Servlet笔记

    #### HTTP协议基础 HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,主要用于规范浏览器与服务器之间的通信过程。HTTP协议规定了客户端(通常是浏览器)如何向服务器发送请求以及服务器...

    韩顺平2011细说servlet完整笔记

    韩顺平2011细说servlet完整笔记 与韩顺平sevlet视频完美配套

    Servlet学习笔记

    ### Servlet学习笔记精炼知识点 #### 一、Servlet初始化与加载机制 1. **Servlet注册与实例化**:在Web应用中,一个Servlet的生命周期始于它的注册与实例化过程。通常,这一过程是在Web服务器启动时,根据`web.xml...

    Java servlet课堂笔记

    - **强大的功能:** Servlet不仅可以处理HTTP请求,还可以处理其他协议的请求。 - **生命周期管理:** Web容器自动管理Servlet的生命周期,包括初始化、服务和销毁等阶段。 **1.2 Servlet是什么** - **定义:** ...

Global site tag (gtag.js) - Google Analytics