servlet学习(一)
Tomcat
注:以下资料摘自孙鑫的《sevlet/JSP深入详解》,仅用于个人学习使用。
一.web技术的发展
早期web是静态页面的浏览,使用HTML编写,放入服务器。

1.1浏览器请求静态页面的流程
随着发展,用户访问的资源不仅仅局限于静态网页,更多的应用需要根据用户的请求动态生成页面信息 ,复杂一些的还需要从数据库中提取数据,经过一定的运算,生成一个页面返回给客户。
早期使用的Web服务器扩展机制是CGI,它允许用户调用Web服务器上的CGI程序。CGI的全称是Common Gateway Interface,即公共网关接口。大多数的CGI程序使用Perl来编写,也有使用C、Python或PHP来编写的。CGI程序编写是非常困难的,对用户请求的响应时间较长、以进程方式运行导致性能受限等。由于CGI程序的这些缺点,开发人员需要其他的CGI方案。97年SUN公司推出了Servlet,作为Java的CGI解决方案。
Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,由Servlet容器(有时也称作Servlet引擎)所管理,用于生成动态的内容。Servlet不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法,Servlet容器在Servlet的生命周期内包容和管理Servlet。JSP技术推出后,管理和运行Servlet的容器也被称为Web容器。
那么在用户点击一个URL之后用户通过访问Servlet,Web服务器接收请求后,并非将请求直接交给Servlet,而是交给Servlet容器。Servlet容器实例化Servlet,调用Servlet的一个特定方法对请求进行处理,并产生一个响应。这个响应由Servlet容器返回给Web服务器,Web服务器包装这个响应,以HTTP响应的形式发送给Web浏览器。
servlet的特点:单实例多线程(每个请求在一个独立的线程中运行,而提供服务的Servlet实例只有一个);使用Java编写,具有Java的一切优点;可以访问Java平台丰富的类库,使得各种应用的开发更为容易,用了Java之后都会觉得Java的类库真的很方便,比c++更加受欢迎。
2.Tomcat(servlet的运行环境)
学习servlet技术首先需要servlet的运行环境,我们这里采用Tomcat容器

1.2 Tomcat服务器接受客户请求并做出响应的过程
1.客户端访问Web服务器,发送HTTP请求。
2.Web服务器接收到请求后,传递给Servlet容器。
3. Servlet容器加载Servlet,产生Servlet实例,向其传递表示请求和响应的对象。
4. Servlet实例使用请求对象(Request)得到客户端的请求信息,然后进行相应的处理。
5. Servlet实例将处理结果通过响应对象(Response)发送回客户端,容器负责确保响应正确送出,同时将控制返回给Web服务器。
Tomcat是Web服务器和Servlet容器的结合。
Web服务器:是网络环境下为客户提供某种服务的专用计算机,简单的来说就是将计算机的资源映射为一个URL供外界访问
Servlet容器:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。任何一个应用程序必然包括三个步骤:
1.接收请求
2.处理请求
3.响应请求
接收和响应请求是共性功能,没有差异性,所以把这两种步骤抽取成web服务器。处理请求逻辑上和这两个步骤不同,被抽取出来做成servlet,再到后来servlet被抽取成三层
servlet学习(一)的更多相关文章
- JSP&Servlet学习手册
JSP&Servlet学习手册 沙琪玛 书 目录 JSP 指令... 3 书写方式... 3 指令列表... 3 JSP 内置对象... 3 内置对象特点... 3 常用内置对象... 3 o ...
- Servlet 学习笔记
Servlet 运行在服务器上的 java 类: Servlet 容器为 javaWeb 应用提供运行时环境,负责管理 servlet 和 jsp 生命周期,以及管理他们的共享数据. 现在我们知道了 ...
- Servlet学习:(三)Servlet3.0 上传文件
转: Servlet学习:(三)Servlet3.0 上传文件 2018年08月03日 11:57:58 iDark_CSDN 阅读数:362 一.注意事项 客户端(浏览器) 表单的提交方法必须是 ...
- Servlet学习(九)——request
request运行流程在Servlet学习(四)——response已介绍,不再赘述 1.通过抓包工具获取Http请求 因为request代表请求,所以我们可以通过该对象分别获得Http请求的请求行, ...
- # jsp及servlet学习笔记
目录 jsp及servlet学习笔记 JSP(Java Server Page Java服务端网页) 指令和动作: servlet(小服务程序) jsp及servlet学习笔记 JSP(Java Se ...
- Servlet学习笔记(四)
目录 Servlet学习笔记(四) 一.会话技术Cookie.session 1. 什么是会话技术? 2. 会话技术有什么用? 3. Cookie 3.1 什么是Cookie? 3.2 使用Cooki ...
- Servlet学习笔记(三)
目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...
- Servlet学习笔记(二)
目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...
- servlet 学习(二)
一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...
- JavaWeb学习总结-04 Servlet 学习和使用
一 Servlet 1 Servlet概念 Servlet时运行在服务器端的Java程序. Servlet的框架核心是 javax.servlet.Servlet 接口. 所有自定义的Servlet都 ...
随机推荐
- taro swiper & scroll tabs
taro swiper & scroll tabs https://taro-docs.jd.com/taro/docs/components/viewContainer/swiper.htm ...
- uniapp 在h5和小程序上使用高德获取用户城市位置
开发文档 https://lbs.amap.com/api 错误状态 https://lbs.amap.com/api/webservice/guide/tools/info/ 虽然用的高德但是你还需 ...
- Baccarat流动性挖矿的收益能否持续?该如何参与Baccarat流动性挖矿?
2020年DeFi市场火热,众多投资机构纷纷入场,分享这场资本盛宴.然而,目前市面上大多数DeFi项目手续费高昂,小资金的投资者无法入市.为了让更多的用户参与其中,NGK推出了Baccarat流动性挖 ...
- 创建gitHub账户并配置秘钥
1. 登录注册地址 https://github.com/ 2.点击注册 Sign up 3.输入邮箱 密码 进行注册 4.注册成功后,登录邮箱验证 .然后通过邮箱和密码登录gitHub.设置 set ...
- 谈谈 JS 垃圾回收机制
谈谈 JS 垃圾回收机制 JS内存泄漏与垃圾回收机制 https://javascript.info/garbage-collection
- 又长又细,万字长文带你解读Redisson分布式锁的源码
前言 上一篇文章写了Redis分布式锁的原理和缺陷,觉得有些不过瘾,只是简单的介绍了下Redisson这个框架,具体的原理什么的还没说过呢.趁年前项目忙的差不多了,反正闲着也是闲着,不如把Rediss ...
- 关于Java高并发编程你需要知道的“升段攻略”
关于Java高并发编程你需要知道的"升段攻略" 基础 Thread对象调用start()方法包含的步骤 通过jvm告诉操作系统创建Thread 操作系统开辟内存并使用Windows ...
- KeyboardDemo - Android身份证号、车牌号快捷输入键盘
Android身份证号.车牌号快捷输入键盘 项目地址 Github 键盘部分在 keyboard module 中 键盘与EditText绑定参照 MainActivity
- c++函数指针说明
下面随笔说明函数指针用法. 函数指针的定义: 定义形式: 存储类型 数据类型 (*函数指针名)() 含义: 函数指针指向的是程序代码存储区 函数指针的典型用途-----实现函数回调 通过函数指针调用的 ...
- 摄像机+LookAt矩阵+视角移动+欧拉角
一: 摄像机 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉,而不是场景在移动. 以摄像机的视角作为场景 ...