• 对Servlet规范的蜻蜓点水


     现在我们大家基本都用struts或springmvc进行java web的开发,但我们都知道java web的核心技术是jsp servlet javabean的组合。因此很有必要知道servlet规范,这里的学习也仅是蜻蜓点水。如果有时间,整篇servlet规范的实现。

     servlet 3.1 规范地址:https://jcp.org/aboutJava/communityprocess/final/jsr340/index.html

    我们先来看看servlet规范的版本历史(来源:维基百科)

                                                                                       Servlet API  HISTORY

     什么是Servlet?

    Servlet是sun公司提供的一门用于开发动态web资源的技术。
      Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
      1、编写一个Java类,实现servlet接口。
      2、把开发好的Java类部署到web服务器中。
      按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

    什么是Servlet容器?

    Servlet容器用来部署Web应用,提供对于Servlet生命周期的管理。

    Servlet容器可以作为Web服务器或者应用服务器的一部分来使用(通过插件的方式),但常见的使用场景是使用Apache或Nginx作为Web服务器,通过反向代理的模式将对Servlet的访问跳转到后台的Tomcat这个Servlet容器执行。

    Web应用

    一个Web应用是由许多Servlets、HTML 页面、类和其它资源组成的一个完整的应用程序。

    Servlet规范定义,对于Servlet容器和Web应用来说至关重要。

    Servlet容器需要根据规范定义,对于外部的TCP/IP的链接进行管理,对HTTP&HTTPS的报文进行解析并生成ServletRequest,根据容器内部各个应用的配置信息进行服务映射,找到对应的Servlet进行处理,并将ServletResponse再以报文的形式返回出去。

    部署在Servlet容器的Web应用,也是需要根据规范定义,获取请求信息并进行业务逻辑处理并返回结果。

    我个人认为,了解Servlet规范便了解了HTTP报文、Servlet容器、Web应用程序各自的边界在哪里,通过什么方式以什么规范来进行对接。

  • 相关阅读:
    关于ListView
    Camera2
    线程池
    运输层
    计算机网络体系结构
    USACO 2016 US Open Contest Gold T2: Closing the Farm
    USACO 2016 US Open Contest Gold T1: Splitting the Field
    USACO 2016 February Contest Gold T3: Fenced In
    USACO 2016 February Contest Gold T2: Circular Barn Revisited
    USACO 2016 February Contest Gold: T1 Circular Barn
  • 原文地址:https://www.cnblogs.com/whx7762/p/7735424.html
Copyright © 2020-2023  润新知