1.servlet容器是如何工作的?

  a.创建一个request对象,用可能会在调用的Servlet中使用到的信息填充该request对象(参数,头,cookies,查询字符串,URI等)。request是javax.servlet.ServletRequest接口或javax.servlet.http.ServletResponse接口的一个实例。

  b.创建一个调用Servlet的response对象,用来向Web客户端发送响应。response对象是一个实例。

  c.调用Servlet的service()方法,将request对象和response对象做为参数传入。Servlet从request对象中读取信息,并通过response对象发送响应信息。

2.Catalina框图

  a.Catalina划分为两个模块:连接器和容器

    1)连接器:负责将一个请求与容器相关联。它为接收到的每一个HTTP请求创建一个request对象和response对象。将处理过程交给容器。

    2)容器:接收request和response,并负责调用相应的Servlet的service()方法。

3.HTTP

  a.一个HTTP请求包含三部分

    1)请求方法 - 统一资源标识符(Uniform Resource Identifier,URI) - 协议/版本

      GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE

      URI通常解释为相对于服务器根目录的相对路径。因此,总以/开头。

    2)请求头

      包含客户端环境和请求实体正文的相关信息。可能包含浏览器使用的语言,请求实体正文的长度等信息。各个请求头之间用回车/换行符号隔开。

    在请求头和请求实体正文之间有一个空行,只有CRLF符。空行对HTTP请求格式非常重要。

    3)实体

  b.HTTP响应(类似request)

    1)协议--状态吗--描述

    2)响应头

    空行

    3)相应实体段

4.Socket类

  套接字时网络连接的端点。套接字时应用程序可以从网络中读取数据,可以向网络中写入数据。在java中套接字由java.net.Socket表示。

  要创建一个套接字,可以使用Socket类中众多构造函数中的一个。其中一个构造函数接收两个参数:主机名和端口号。

    public Socket (String host,int port)

  其中,host时远程主机的名称或ip,port时连接远程应用程序的端口号。

tomcat1(servlet,http,socket)的更多相关文章

  1. Which is Better: Forms Servlet or Socket Mode?

    URL:http://blogs.oracle.com/stevenChan/2009/06/which_is_better_forms_servlet_or_socket_mode.html Man ...

  2. SSM配置Socket多线程编程(RFID签到实例)

    1.SocketServiceLoader.java package cn.xydata.pharmacy.api.app.test; import javax.servlet.ServletCont ...

  3. 关于javaweb 项目 ssm框架 启动tomcat服务器同时启动一个socket服务

    1.创建监听类 import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax. ...

  4. socket 原理

    socket 原理 什么是socket 我们知道进程通信的方法有管道.命名管道.信号.消息队列.共享内存.信号量,这些方法都要求通信的两个进程位于同一个主机.但是如果通信双方不在同一个主机又该如何进行 ...

  5. 【转】Tomcat调优指南

    转载地址:http://blog.csdn.net/woohooli/article/details/3954792 1          概述 本文档主要介绍了Tomcat的性能调优的原理和方法.可 ...

  6. Tomcat优化详解

    1          概述         本文档主要介绍了Tomcat的性能调优的原理和方法.可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导 ...

  7. 49个Spring经典面试题总结,附带答案,赶紧收藏

    1. 一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年.这是第一个支持注解的版本. Spr ...

  8. Spring 面试问题 TOP 50

    Spring 面试问题 TOP 50 Spring Framework 现在几乎已成为 Java Web 开发的标配框架.那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢? ...

  9. Java面试中的Spring方面问题

    1.一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? VersionFeatureSpring 2.5发布于 2007 年.这是第一个支持注解的版本.Spring 3 ...

随机推荐

  1. linux学习:wget与lynx用法整理

    指令:wget.lynx.axel wget url  #下载数据写入文件,下载的文件名与url中的文件名保持一致,下载信息或进度写入stdoutwget url1 url2 url3    #下载多 ...

  2. CSS3中的3D动画实现(钟摆、魔方)--实现代码

    CSS3中的3D动画实现(钟摆.魔方) transition-property 过渡动画属性  all|[attr] transition-duration 过渡时间 transition-delay ...

  3. 第三周学习java第四章学习总结及体会!

    第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载 ...

  4. 洛谷P1115 最大字段和【线性dp】

    题目:https://www.luogu.org/problemnew/show/P1115 题意: 求给定数组的最大区间和. 思路: $dp[i][0]$表示以1~i的数组,不选i的最大字段和.$d ...

  5. Android手机camera和IMU的标定

    https://qingsimon.github.io/post/2018-12-28-android%E6%89%8B%E6%9C%BA%E7%9B%B8camera%E5%92%8Cimu%E7% ...

  6. 【C++】根据二叉树的前序遍历和中序遍历重建二叉树并输出后续遍历

    /* 现在有一个问题,已知二叉树的前序遍历和中序遍历: PreOrder:GDAFEMHZ InOrder:ADEFGHMZ 我们如何还原这颗二叉树,并求出他的后序遍历 我们基于一个事实:中序遍历一定 ...

  7. 简述移动端开发前端和app间的关系

    <p>前端页面嵌套进app内部,一般有时候会进行一些交互,类似于前端页面请求后台接口一样,通常会起一个前端开发人员和app开发人员会相互协定一个协议;双方就协议而言去进行请求接口和返回数据 ...

  8. sleep wait yield

    sleep 暂停当前线程,允许低优先级线程获得执行机会,但并不释放对象的锁,进入不可运行状态 yield 类似sleep,但只允许同优先级有获得执行机会,同样也不会释放锁,当前线程仍是可运行状态,因此 ...

  9. table-一列细分为多列(合并单元格)

    这个是一个很常见的一个表格展示需求,其中最要的就两个属性 rowspan 和 colspan .他们分别就是合并行 与 合并列. 要做的效果是如图下面这个,联系电话就是合并了单元格.这个说法类似于ex ...

  10. eclemma怎么安装 eclemma的安装与简单使用图文教程(附下载)

    来自于:https://www.jb51.net/softjc/628026.html 一. 安装 有两种安装方法 1. 下载安装(推荐) 地址: http://sourceforge.net/pro ...