一、HTTP 超文本传输协议 人类之所发展得如此快,就是因为有自己的语言
1、所谓超文本:即纯文本语言,不依赖于任何特定语言,任何语言都可以操作它(如java、c++)
2、传入:HTTP的应用价值在于传输
3、HTTP是无状态协议
基于请求/响应模型
服务器和客户端的交互仅限于请求/响应过程,结束之后便断开,在下一次请求服务器会认为新的客户端
二、要真正理解web工作原理,就必须彻底了解http协议
三、HTTP请求信息(浏览器信息)
1、请求行:GET/POST(流的组织(请求)方式) URL(地址+目录) 版本号
2、请求头:Host:客户端IP和端口
User-Agent:浏览器信息
Accept:客户端能接收的数据类型
Accept-encoding:是否支持压缩的流
Accept-charset:客户端字符编码集
3、空行:分割请求头和消息体
4、消息体:请求的参数
四、HTTP响应信息(服务器信息)
1、状态行:HTTP版本 服务器状态(比如:404找不到...) 描述信息
2、响应头
content-text:服务器发送信息的类型
date:发送时间
server:服务器类型
3、消息体:服务器发送给客户端的页面内容
五、模型
客户端-----通过socket建立连接-----服务器
客户端-----请求----->服务器
客户端<-----响应-----服务器
客户端-----断开-----服务器
下一次连接.......
六、传统服务器
缺点:无法生成动态页面
于是加入一个辅助应用:通过客户端提交的参数来选择服务类型
七、辅助应用
1、在获取请求之后先执行一段代码,再返回页面
2、根据客户端请求参数来调用辅助应用
3、类似word文档,需要注册(注册表)
八、对于服务器的缺点的解决方案
1、最早的解决方案:CGI通用网关接口(一种与外部程序通讯的标准)
原理:web服务器调用外部程序,再将返回的结果返回客户端
CGI的缺点:每次客户端请求都要在服务器上开启一个进程,这样会大大消耗服务器资源
更好的解决方案是:开启服务器进程一次,就处理所有请求
2、java的解决方案(解决CGI的缺点:其实CGI是现在web服务器的鼻祖):servlet+web容器
servlet是一个与平台无关的java接口
理解servlet,是掌握javaweb编程的核心
sevlet受控于另一个java应用程序,它就是web容器
servlet+web容器:为每个请求开启一个线程,线程占用进程的一部分
sevlet没有main方法,说明它要被别的类web容器调用
servlet到web容器需要用xml文件注册,而xml的解析由web容器封装
九、web容器对servlet的支持包括:
1、通讯支持:解析流,封装请求/响应对象
2、生命周期管理:我们书写的servlet由容器来调用,也就是sevlet的产生和消亡生命周期
3、多线程支持:解决线程同步,开启关闭等,由容器厂商来做
4、JSP支持:翻译页面
5、处理安全性:处理异常等等,比如:servlet抛出异常,由web容器来处理
总结:web容器主要是用于,给处于容器中的应用程序组件 (servlet、jsp)提供一个环境,
使sevlet和jsp直接和容器中的环境变量交互。
这样我们就可以把注意力放在,用servlet实现业务逻辑上,不必为
系统底层服(如线程管理,安全性和网络通信等)务编写代码。
十、web容器的实现
根据sevlet的规范来实现web容器
servlet规范之定义了一个容器必须实现的标准功能。那么不同的容器厂商就有了更多的容器实现选择:
Tomcat
Jboss
WebLogic
WebSphere
Orecle9i AS
分享到:
相关推荐
21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...
21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...
21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...
21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...
1-3 JSP的基础——Servlet 技术 第二章 Struts概述 2-1 Struts的由来和发展 2-1-1 MVC简介 2-2 Struts优缺点 2-3 Struts的工作流程 第三章 网上书店详细设计 3-1 需求分析 3-2 总体设计 3-3 功能设计 3-4 数据库...
#### 一、Servlet技术概述 Servlet技术是由Sun Microsystems提供的用于实现动态网页的一种解决方案。它是一种基于Java编程语言的Web服务器端编程技术,主要功能在于处理来自客户端的HTTP请求,并动态生成相应的HTTP...
- **Servlet解决方案**:Servlet是早期的一种解决方案,但其仍然存在不足之处。 - **Servlet框架**:Servlet框架提供了一种更高级别的抽象层次,但仍然不够完善。 - **黑盒与白盒结合**:Struts框架结合了黑盒...
- 提出了Servlet作为一种解决方案,但指出了其局限性和不足之处。 - **Servlet框架** - 探讨了基于Servlet的框架,如Struts,如何进一步改进开发流程。 - **黑盒-白盒统一体** - 解释了框架如何提供一种既封装又...
论文+源码 <br>第一章 JAVA的网络功能与编程 1-1 JAVA语言简介 1-2 JAVA语言在网络上的应用 1-3 JSP的基础——Servlet 技术 第二章 Struts概述 2-1 Struts的由来和发展 2-1-1 MVC简介 2-2 ...
- Servlet 是 Java Web 开发的基础技术之一,但直接使用 Servlet 进行开发仍然存在许多问题。 - **Servlet 框架:** - Struts 等框架的出现,使得开发者可以通过更简洁的方式处理 HTTP 请求,同时也提供了更多的...
- **发展历史**:自1995年发布以来,迅速成为Web开发领域的重要工具之一。 - **应用场景**: - 初期主要用于浏览器插件(Java Applet),提供多媒体功能。 - 随着时间的发展,Java Applet逐渐被Flash替代。 - ...
网上书店系统 源码+论文 第一章 JAVA的网络功能与编程 1-1 JAVA语言简介 ...1-3 JSP的基础——Servlet 技术 第二章 Struts概述 2-1 Struts的由来和发展 2-1-1 MVC简介 2-2 Struts优缺点 3-3 Struts的工作流程
### Spring Framework概述与核心特性 #### 一、Spring Framework 的由来与发展 Spring Framework 最初由 Rod Johnson 在他的著作《Expert One-on-One J2EE Design and Development》中提出,并于2002年2月公开了书...
- **作者背景**:Ted Husted是Struts框架的主要贡献者之一,他在Java Web开发领域拥有丰富的经验。Eric Liu(铁手)则是一位资深的Java开发者和技术翻译者。 #### 二、Struts框架概述 - **创建背景**: - **起源*...