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. CSS3_移动端_开机动画

    移动端的 开机动画 <meta name="viewport" content="width=device-width, initial-scale=1, user ...

  2. phpMyAdmin 4.8.x 本地文件包含漏洞利用

    phpMyAdmin 4.8.x 本地文件包含漏洞利用 今天ChaMd5安全团队公开了一个phpMyAdmin最新版中的本地文件包含漏洞:phpmyadmin4.8.1后台getshell.该漏洞利用 ...

  3. 十、JSTL标签库

      l JSTL标签库(重点) l 自定义标签(理解) l MVC设计模式(重点中的重点) l Java三层框架(重点中的重点) JSTL标签库 1 什么是JSTL JSTL是apache对EL表达式 ...

  4. OSS内文件如何设置为无时间限制的下载链接

    OSS内文件如何设置为无时间限制的下载链接 想把一些文件上传到OSS里,把OSS当网盘用,做成分享的下载链接 发现获取的链接都是有时间限制的 有没有取消这个时间限制的功能或者方法 请将object的权 ...

  5. python联系-迭代器

    from collections import Iterable from collections import Iterator import time class Classmate(object ...

  6. python 读取文本文档中的数据

    import os dir = input('Please input the file dir:')#提示输入文件路径 while not os.path.exists(dir):#判断文件是否存在 ...

  7. lambada表达式

    在Java 8中stream().map(),您可以将对象映射为其他对象. List<String> collect = alpha.stream().map(String::toUppe ...

  8. 基于token与基于服务器的身份认证

    1.基于服务器的身份认证 我们清楚 http 协议是无状态的,也就是说,如果我们已经认证了一个用户,那么他下一次请求的时候,服务器不知道我是谁,我们就必须要再次认证. 我们与浏览器交互时,比如说登陆成 ...

  9. (4.11)mysql备份还原——mysql闪回技术(基于binlog)

    0.闪回技术与工具简介 mysql闪回工具比较流行三大类: [0.1]官方的mysqlbinlog:支持数据库在线/离线,用脚本处理binlog的输出,转化成对应SQL再执行.通用性不好,对正则.se ...

  10. Window Server配置Flask

    1.安装了Chrome 2.安装git 3.创建SSH key:ssh-keygen -t rsa -C "youremail@example.com" 4.安装notepad++ ...