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

servlet的运行过程及http协议

阅读更多
1、servlet的运行过程
从浏览器输入http://ip:port/helloweb/sayHello?name=ww
开始分析:
step1:浏览器一句ip,port连接服务器。
step2:浏览器将请求数据打包(即按照http协议,将请求数据打包成一个数据包,里卖弄包含
请求资源路径(/helloweb/sayHello?name=ww))
step3:浏览器发送请求(即将请求数据包发送给服务器)
step4:服务器解析请求数据包,将数据包中的数据提取出来,生成一个request对象(请求对象,其作用是方便servlet读取请求数据)
,另外,还要创建一个response对象(其作用是,servlet将处理结果放置到该对象之后,服务器可以从该对象获取结果,生成
相应的相应数据包发送给浏览器)。
step5:服务器依“/helloweb”找到部署目录下面的文件夹,找到该文件夹下面的web.xml文件。通过该文件找到servlet类名,
接下来通过反射机制创建servlet对象。
step6:服务器调用servlet对象的service()方法。
在调用该方法时,会将第四部创建的request、response对象作为参数传递。
step7:servlet处理请求,在处理请求时,可以通过request获得请求数据。也可以将处理结果放在response对象上。
step8:服务器从response中获取数据,生成相应数据包发送给浏览器。
step9:浏览器解析相应数据包,生成相应的界面。

从中可以看出:
1)、开发一个servlet,我们只需要关注如何处理请求,不用关心网络通讯问题以及协议相关问题,因为这些操作都是服务器来负责的。
2)、servlet不依赖于特定的某个容器(服务器)来运行。

2、http协议:(了解)
1)什么是http协议?
由w3c定义的一套网络应用层协议。定义了浏览器(或其他客户端程序)与web服务器之间通讯的过程与数据的格式。
2)通讯的过程
step1:浏览器向服务器发送建立连接的请求。
step2:浏览器将要发送的数据打包,发送给服务器
step3:服务器处理请求,将请求结果也打包,发送给浏览器
step4:服务器关闭连接。
如果浏览器再次发送请求,需要再次建立连接。
3)数据格式
a,请求数据包(浏览器发送给服务器)
请求行:请求方式(get/post) 请求资源路径 协议的类型与版本
若干消息头:
a1,消息头由w3c定义,通讯的各方都会遵守。
a2,浏览器与服务器会自动在打包时会自动生成一些消息头,也可以编程生成需要的消息头。
实体内容:只有当请求方式是post时,请求参数才会放在这儿。
b,响应数据包(服务器发送给浏览器)
状态行:协议的类型与版本 状态码
b1,状态码是一个数字,有特定的含义,比如:500:系统出错,一般是由于程序运行出错引起的
404:找不到对应的资源。一般是由于路径写错。
200:正确
若干消息头
实体内容:服务器返回给浏览器的处理结果。

3,get请求和post请求
1)哪一些是get请求
a,在浏览器地址栏直接输入某个地址。
b,表单默认提交的方式。
c,点击链接
2)哪一些是post请求
a,表单method="post";
3)比较两种方式:
a,get方式将请求参数放在请求行,放置的数据大小有限制,而post方式将请求参数放在实体内容里面
,理论上大小没有限制。
b,get方式将请求参数显示在浏览器地址栏,不安全,post方式不会显示,相对安全。
get方式适合向服务器请求资源,或者提交少量数据。
post方式适合向服务器提交大量数据。
编码:从Unicode编程本地编码
解码:从本地编码编程unicode
分享到:
评论

相关推荐

    Day09_http协议 & servlet

    HTTP协议与Servlet都是互联网技术中非常重要的组成部分,尤其在Java Web开发领域中。HTTP协议是互联网应用层的一个重要协议,负责规定客户端与服务器之间传输的格式和规则,而Servlet则是一个Java编程模型,专门用来...

    C#调用servlet 发送XML

    C#程序作为客户端,可以通过HTTP协议与Servlet进行通信。通常,我们使用C#的HttpClient类或者WebClient类来构造HTTP请求,并发送到Servlet的URL。以下是一个基本的C#发送GET请求的例子: ```csharp using System...

    http通信及servlet介绍

    在IT行业中,网络通信是构建分布式系统的基础,而HTTP(超文本传输协议)与Servlet则是其中的重要组成部分。本文将深入探讨HTTP通信以及Servlet接口,并结合Android客户端进行实践讲解。 首先,HTTP是互联网上应用...

    Android Servlet WEB http

    在Android开发中,Servlet、Web和HTTP是构建网络通信的重要...这个过程中涉及Android客户端的HTTP请求构建、服务器端Servlet的处理逻辑以及数据的序列化和反序列化。在实际开发中,理解这些概念和技术是至关重要的。

    servlet 5分钟入门理解

    在本文中,我们将深入理解Servlet以及与之相关的`web.xml`配置文件的运行过程。在短短的5分钟内,我们将快速掌握Servlet的基础知识,以便您能够迅速入门。 首先,Servlet是一个Java类,它扩展了服务器的功能,使得...

    java web的运行开发环境和servlet的开发部署

    Java Web 运行开发环境和 Servlet 的开发部署 Java Web 运行开发环境是指 Java Web 应用的开发和部署所需的环境配置,包括 JDK、Tomcat 等。其中,JDK 是 Java 开发的基础环境,而 Tomcat 是一个 Servlet 和 JSP ...

    Servlet基础知识总结

    #### 二、Servlet的运行过程 Servlet的运行过程主要包括以下几个步骤: 1. **客户端发起HTTP请求**:客户端通过浏览器或其他工具向服务器发送HTTP请求。 2. **Web容器接收请求**:服务器上的Web容器接收到这个请求...

    一个简单的servlet容器

    Servlet容器是Web应用程序的核心组成部分,它负责管理和执行Servlet,Servlet是一种Java编程...通过学习这个过程,开发者能更好地理解Servlet容器的工作机制,这对于开发、调试和优化基于Servlet的Web应用至关重要。

    java Servlet学习笔记

    总之,Java Servlet技术是Java Web开发的重要基石,通过理解B/S架构、Servlet的基本概念、Tomcat的使用以及HTTP协议,开发者可以构建出功能丰富的Web应用程序。在实践中,还需要掌握异常处理、会话管理、过滤器、...

    tomcat启动服务运行servlet

    标题“Tomcat启动服务运行Servlet”涉及到的是Java Web开发中的核心概念,主要涵盖Tomcat服务器的启动过程以及Servlet的执行机制。Tomcat是一款开源、免费的Web应用服务器,广泛用于部署Java Servlet和JavaServer ...

    servlet入门小例子

    通过解压并运行此项目,我们可以实际体验到Servlet接收和处理表单数据的过程。 总结,Servlet是Java Web开发中的关键组成部分,它通过处理HTTP请求和构建响应来实现动态网页。通过学习和实践"Servlet入门小例子",...

    超详细的ServletL学习笔记

    #### 五、Servlet的运行过程 - **运行流程**: 1. **建立连接**:客户端(通常是浏览器)通过HTTP协议与Tomcat建立连接。 2. **发送请求**:客户端发送HTTP请求至Tomcat。 3. **解析请求**:Tomcat接收到请求后...

    Servlet中文内部教程

    相比之下,Servlet运行在Java虚拟机(JVM)之上,每个请求通过轻量级的Java线程来处理,极大地提高了处理效率和资源利用率。 #### 二、Servlet的特点: 1. **与CGI的对比**: - **相同点**:Servlet和CGI都是运行...

    servlet初级基础知识入门笔记

    在这个初级基础知识入门笔记中,我们将深入理解Servlet的基本概念、开发过程、运行机制以及与HTTP协议的关系。 1. **Servlet基础** - Servlet是一种Java类,它实现了Servlet接口或者继承了HttpServlet类,以处理...

    servlet总结

    - `javax.servlet.http`:不仅实现了`servlet`包的基本功能,还针对HTTP协议提供了`HttpServlet`类,使开发者能够更方便地处理HTTP请求和响应。 ##### 4.1 Servlet核心接口与方法 - `javax.servlet.Servlet`:...

    Servlet

    然而,某些情况下可能需要限制Servlet仅在一个线程中运行,这被称为单线程模型。 - **多线程模型**:提高了Servlet处理请求的效率。 - **单线程模型**:适用于那些需要保证数据一致性的场景。 #### 七、Servlet与...

    servlet聊天小程序

    这一过程涉及到了HTTP协议的GET和POST请求。GET请求通常用于获取数据,而POST请求则常用于提交数据,如发送聊天消息。服务器端需要解析这些请求,从中提取出有效信息,并根据请求类型执行相应的操作。 在处理多个...

Global site tag (gtag.js) - Google Analytics