`
mouer
  • 浏览: 101994 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

http概述--sevlet之由来

    博客分类:
  • J2EE
阅读更多

一、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

分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化...

    基于ASPJSP的电子商务网站设计制作+源代码

    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 数据库...

    深入体验Java web开发内幕

    #### 一、Servlet技术概述 Servlet技术是由Sun Microsystems提供的用于实现动态网页的一种解决方案。它是一种基于Java编程语言的Web服务器端编程技术,主要功能在于处理来自客户端的HTTP请求,并动态生成相应的HTTP...

    Struts In Action中文版

    - **Servlet解决方案**:Servlet是早期的一种解决方案,但其仍然存在不足之处。 - **Servlet框架**:Servlet框架提供了一种更高级别的抽象层次,但仍然不够完善。 - **黑盒与白盒结合**:Struts框架结合了黑盒...

    Struts in Action 中文修正版.pdf

    - 提出了Servlet作为一种解决方案,但指出了其局限性和不足之处。 - **Servlet框架** - 探讨了基于Servlet的框架,如Struts,如何进一步改进开发流程。 - **黑盒-白盒统一体** - 解释了框架如何提供一种既封装又...

    JSP+ACCESS毕业设计 网上书店系统 源码+论文

    论文+源码 &lt;br&gt;第一章 JAVA的网络功能与编程 1-1 JAVA语言简介 1-2 JAVA语言在网络上的应用 1-3 JSP的基础——Servlet 技术 第二章 Struts概述 2-1 Struts的由来和发展 2-1-1 MVC简介 2-2 ...

    Struts in Action 中文版

    - Servlet 是 Java Web 开发的基础技术之一,但直接使用 Servlet 进行开发仍然存在许多问题。 - **Servlet 框架:** - Struts 等框架的出现,使得开发者可以通过更简洁的方式处理 HTTP 请求,同时也提供了更多的...

    网上书店毕业论文

    - **发展历史**:自1995年发布以来,迅速成为Web开发领域的重要工具之一。 - **应用场景**: - 初期主要用于浏览器插件(Java Applet),提供多媒体功能。 - 随着时间的发展,Java Applet逐渐被Flash替代。 - ...

    网上书店系统 源码+论文 java Struts

    网上书店系统 源码+论文 第一章 JAVA的网络功能与编程 1-1 JAVA语言简介 ...1-3 JSP的基础——Servlet 技术 第二章 Struts概述 2-1 Struts的由来和发展 2-1-1 MVC简介 2-2 Struts优缺点 3-3 Struts的工作流程

    Spring - 1 Introduction

    ### Spring Framework概述与核心特性 #### 一、Spring Framework 的由来与发展 Spring Framework 最初由 Rod Johnson 在他的著作《Expert One-on-One J2EE Design and Development》中提出,并于2002年2月公开了书...

    struts in action中文清晰版

    - **作者背景**:Ted Husted是Struts框架的主要贡献者之一,他在Java Web开发领域拥有丰富的经验。Eric Liu(铁手)则是一位资深的Java开发者和技术翻译者。 #### 二、Struts框架概述 - **创建背景**: - **起源*...

Global site tag (gtag.js) - Google Analytics