Java Web工作原理(转载)
知识要点:
1、HTTP协议
2、web服务器的缺陷及其解决方案
3、对Servlet的认识
4、Servlet的主要任务
5、web容器对Servlet的支持包括的内容
HTTP协议---(HyperText Transfer Protocol)
超文本传输协议,是网络应用层的协议,建立在TCP/IP协议的基础之上,是一种无状态的协议,遵循请求/响应模式。
http请求:请求行、请求头、消息体以及分割请求头和消息体的空行;
http响应:状态行、响应头、消息体以及分割响应头和消息体的空行;
HTTP的事务处理步骤:
1、客户端与web服务器建立连接;
2、客户端发送HTTP请求;
3、服务端接收客户端发送的HTTP请求,生成HTTP响应,并回送;
4、服务器端关闭连接,客户端解析回送的响应,恢复页面。
Web服务器的缺陷及其解决方案
缺陷:只能向客户端提供静态网页内容
解决思路:增加一个辅助应用程序,生成动态页面。
具体解决方案:
1、CGI:通用网关接口---Common Geteway Interface
2、微软的ASP技术和ASP.NET技术
3、JAVA方案:web容器与Servlet
CGI方案:
1、优点:多种语言可以实现此种方法
2、缺点:只要客户端发出请求,就会创建一个CGI对象,造成服务器资源浪费,效率低下。
JAVA解决方案:
1、Servlet是单例多线程,不用每次请求都创建对象;
2、Servlet本身已实现HTTP协议,对开发者来说,不用对HTTP协议进行深入的理解。
Servlet的任务:
A、认识
1、Servlet是常规的Java代码,代码中用了一些新的API,但是不涉及新的语法;
2、Servlet代码有我们不熟悉的语句,Servlet不属于J2SE,它属于单独的规范;
3、Servlet对标准类(Http Servlet)进行了扩张;
4、Servlet没有main()方法。
B、任务
1、读取客户端发送的显式的或隐式的数据;
2、生成结果;
3、向客户端发送显式数据(文档)和隐式数据(http响应请求)
Web容器
1、Web容器负责管理和运行Servlet,为Servlet提供所需的环境
2、Web容器使程序员可以把注意力放在Servlet如何实现业务逻辑上,而无需其他系统问题;
3、Web容器对Servlet的支持
a、通信支持:web容器可以把请求和响应流封装成请求和响应对象,方便用户对流数据进行操作;
b、生命周期管理:Servlet的生成、调用和销毁,全部由容器来管理,用户执行按Servlet的标准来书写业务逻辑;
c、多线程支持:线程的产生、进行和同步问题由web容器来进行;
d、对JSP进行相关的处理
e、安全性处理,可以处理用户进行业务逻辑时抛出的异常。
web容器主要用户给处理容器中的应用程序组件(Servlet、JSP)提供一个环境,使Servlet、JSP直接跟容器的环境变量交互,这样,我们就可以把注意力放在用Servlet实现业务逻辑上,而不必关注其他系统问题。
Java web应用程序目录结构的组成:配置文件、静态文件和JSP、类文件和包。
WEB-INF不能被客户端直接访问。
Tomcat的目录结构:
1、bin:tomcat的命令目录
2、conf:配置目录
3、lib:tomcat运行使用的包;
4、logs:存放日志文件
5、webapps:存放web应用;
6、work:用于JSP支持。
web应用打包成war包的命令:先从控制台进入web应用的文件夹,命令为:jar -cf wenjianming.war WEB-INF *.jpg *.html
Java Web工作原理(转载)的更多相关文章
- 第一章 Java Web工作原理
一:在本章我们将学到如下的内容 >HTTP协议原理 >服务器端Web编程原理 >Servlet与Web容器 >Java Web应用程序的组成 >Tomcat介绍 一:1. ...
- Java Web工作原理
解析HTTP协议 HTTP:超文本传输协议(HyperText Transfer Protocol) HTTP是一种无状态的协议,意思是指在Web浏览器和Web服务器之间不需要建立持久的连接. HTT ...
- HTTP协议和web工作原理
本章学完之后能干什么? 要把 知识点学好,那就需要把它相关的周边知识点了解全面 HTTP协议是web学习的核心!!! 学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!! web学习直 ...
- [Java] SpringMVC工作原理之一:DispatcherServlet
一.DispatcherServlet 处理流程 在整个 Spring MVC 框架中,DispatcherServlet 处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应工作.在看 Di ...
- Java虚拟机工作原理详解 (一)
一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘当中.然后你在命令行中输入 javac YourClassNam ...
- C/S B/S 及WEB工作原理
一.C/S B/S区别 (http://wenku.baidu.com/link?url=e8bxaqz_lYCXws6TlDRJEq1qsLumNTBhr3Es6eA1ZuhHhq9FZGbVgo ...
- Java虚拟机工作原理详解
原文地址:http://blog.csdn.net/bingduanlbd/article/details/8363734 一.类加载器 首先来看一下java程序的执行过程. 从这个框图很容易大体上了 ...
- Java虚拟机工作原理具体解释
一.类载入器 首先来看一下java程序的运行过程. 从这个框图非常easy大体上了解java程序工作原理.首先,你写好java代码,保存到硬盘其中.然后你在命令行中输入 javac YourClass ...
- web基础-web工作原理,http协议,浏览器缓存
1,web工作原理 2,http协议 3,浏览器缓存 4,cookie和session -------------------------------------------------------- ...
随机推荐
- bzoj 1038 瞭望塔 半平面交+分段函数
题目大意 给你一座山,山的形状在二维平面上为折线 给出\((x_1,y_1),(x_2,y_2)...(x_n,y_n)\)表示山的边界点或转折点 现在要在\([x_1,x_n]\)(闭区间)中选择一 ...
- JS函数(自调函数)与闭包【高级函数】
JavaScript:BOM(浏览器对象)+DOM(文档对象)+ECMAScript javascript面向对象: * 概述: * 发展: * 互联网发展对浏览器页面性能或效果要求越来越高,HTML ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---0
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...
- 标准C程序设计七---64
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- power path 對 UI 上的電池容量曲線 battery curve 百分比 的 改善
Maintenance.Recharging charger ic 對電池充電時有一種名為 maintenance.recharging 的行為, charger ic 對 電池 充電時,當充滿後,它 ...
- consul UI用127可以访问,指定ip无法访问
./consul agent -dev 只能127.0.0.1可以访问 ./consul agent -dev -client 0.0.0.0 -ui 指定ip可以访问
- LeetCode OJ——Pascal's Triangle
http://oj.leetcode.com/problems/pascals-triangle/ 杨辉三角 先分析数据,找出规律 ans[row][col] = ans[row-1][col-1]+ ...
- js -“=”“==”和“===”的区别
这个问题再面试中经常被问到,说实话我都是懵的,一个“=”和两个“==”等的区别我还是知道的,就是三个“===”我完全是不知道的,因为我基本上都没有遇到过且用到过,所以再这个问题上我是没分的,人家考官就 ...
- Codeforces Round #482 (Div. 2)
D. Kuro and GCD and XOR and SUM 字典树真好玩... 牛老板提供的思路:建1e5个 字典树,每个数插入到以它的因子为根所在的字典树中,这样就实现了整除,当然gcd(k, ...
- 通过房价预测入门Kaggle
今天看了个新闻,说是中国社会科学院城市发展与环境研究所及社会科学文献出版社共同发布<房地产蓝皮书:中国房地产发展报告No.16(2019)>指出房价上涨7.6%,看得我都坐不住了,这房价上 ...