`
onepiece021
  • 浏览: 38655 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

HTTP与HttpServlet

阅读更多

HTTP与HttpServlet
HTTP是一种基于请求/响应模式的协议。客户端发送一个请求,服务器返回对该请求的响应。HTTP使用可靠的TCP连接,默认端口是80
在HTTP中,客户端/服务器之间的会话总是由客户端通过建立连接和发送HTTP请求的方式初始化,服务器不会主动联系客户端或要求与客户端建立连接。在 会话开始后,浏览器或服务器都可以随时中断连接,例如,在浏览网页时可以随时点击“停止”按钮中断当前的文件下载过程,关闭与Web服务器的HTTP连接
4.1、HTTP请求
HTTP请求由3个部分构成,分别是:
请求方法URI协议/版本
请求头
请求正文

例如:
GET /sample.jsp HTTP/1.1
Accept:image/gif.image,image/jpeg.*.*
Accept-Lauguage:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozilla/4.0
Accept-Encoding:gzip,deflate

username=weiqin&password=1234

1、请求方法URI协议/版本
GET /sample.jsp HTTP/1.1
根据HTTP标准,HTTP请求可以使用多种请求方法。例如,HTTP 1.1支持7种请求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TRACE
URI完整的指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头
协议版本声明了通信过程中使用的HTTP的版本
2、请求头
请求头包含许多有关客户端环境和请求正文的有用信息
3、请求正文
请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来是请求的正文。请求正文中可以包含客户提交的查询字符串信息
4.2、HTTP响应
与HTTP请求类似,HTTP响应也由3个部分构成,分别是:
协议 状态代码 描述
响应头
响应正文

HTTP/1.1 200 OK
Server:ApacheTomcat/5.0
Date:Mon,6 Oct 2003 13:13:13 GMT
Content-Type:text/html
Last-Modified: Mon,6 Oct 2003 13:03:13 GMT
Content-Length:112
<html>
<head>
<title>HTTP响应示例 </title>
</head>
<body>
Hello HTTP!
</body>
</html>

1、协议 状态代码 描述
HTTP响应的第一行类似于HTTP请求的第一行,它表示通信所使用的协议是HTTP 1.1,服务器已经成功地处理了客户端发出的请求
2、响应头
响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等
3、响应正文
响应正文就是服务器返回的HTML页面,响应头和正文之间也必须用空行分隔
4.3、HttpServlet的功能
在了解了具体的HTTP协议规范后,可以更好地理解HttpServlet的作用。它能够根据客户发出的HTTP请求,生成相应的HTTP响应结果。 HttpServlet首先必须读取HTTP请求的内容。Servlet容器负责创建HttpServletRequest对象,并把HTTP请求信息封 装到HttpServletRequest对象中,这大大简化了HttpServlet解析请求数据的工作量。如果没有 HttpServletRequest,HttpServlet只能直接处理Web客户发出的原始的字符串数据,有了 HttpServletRequest后,只要调用HttpServletRequest的相关方法,就可以方便地读取HTTP请求中任何一部分信息
HttpServletRequest中读取HTTP请求信息的常用方法:
getCookies():返回HTTP请求的Cookies
getRequestURI():返回HTTP请求URI
getQueryString():返回HTTP请求数据中的查询字符串
getMethod():返回HTTP请求方法
Servlet容器还向HttpServlet提供了HttpServletResponse对象,HttpServlet可以通过它来生成HTTP响应的每一部分内容
HttpServletResponse提供的生成响应数据Header的方法:
addCookie(Coolie cookie):向HTTP响应中加入Cookie
setHeader(String name,String value):设置HTTP响应的Header

4.4、Servlet容器响应Web客户请求的步骤:
1:Web客户向Servlet容器发出HTTP请求;
2:Servlet容器解析Web客户的HTTP请求;
3:Servlet容器创建一个HttpRequset对象,在这个对象中封装了HTTP请求信息;
4:Servlet容器创建一个HttpResponse对象;
5:Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;
6:HttpServlet调用HttpResponse的有关方法,获取HTTP请求信息
7:HttpServlet调用HttpResponse的有关方法,生成响应数据
8:Servlet容器把HttpServlet的响应结果传给Web客户

分享到:
评论

相关推荐

    javax.servlet.http.HttpServlet无法构建问题

    2个方法 简单有图 傻瓜式 javax.servlet.http.HttpServlet无法构建问题解决方法

    httpservlet.jar包下载

    首先,`httpservlet.jar`包含的是Java Servlet API,这是一个Java平台上的标准接口,定义了服务器端应用程序如何与HTTP服务器交互。它由Sun Microsystems(现为Oracle)开发并由Java Community Process (JCP)维护。...

    httpservlet的jar包,修复httpservlet报错

    `javax.servlet.http.HttpServlet`是Servlet API中的一个抽象类,它是所有HTTP Servlet的基类,提供了处理HTTP请求的基本方法。当你遇到“httpservlet报错”时,通常意味着你的项目缺少Servlet相关的依赖或版本不...

    HttpServlet 的Servlet的详解

    `HttpServlet`是Java Servlet API中一个重要的类,它为HTTP协议提供了默认的方法实现,简化了HTTP请求的处理过程。本文档旨在帮助开发者深入了解`HttpServlet`的工作原理以及如何有效地使用它来开发高性能的Web应用...

    Tomcat下HttpServlet的Web应用工程

    在这个项目中,用户可以通过HTTP请求与服务器交互,实现文件的上传和下载。文件上传通常涉及解析HTTP请求中的multipart/form-data数据,将文件保存到服务器的指定位置;文件下载则涉及创建一个HTTP响应,包含指向要...

    HTTPServlet-tomcat源码

    提供tomcat的httpServlet解决http协议一些问题,有兴趣的可以了解一下

    查看httpServlet源码的包必须导入这个包才能看源代码

    通过深入研究`HttpServlet`源码,我们可以更好地理解HTTP请求的处理流程,以及Servlet容器如何与HTTP协议交互。这有助于我们编写更高效、更健壮的Web应用程序。同时,对Tomcat服务器的源码有深入了解的开发者可以更...

    java 出现问题javax.servlet.http.HttpServlet was not found解决方法

    在Java开发过程中,可能会遇到一个常见的错误提示:"javax.servlet.http.HttpServlet was not found"。这个错误通常发生在使用Servlet API进行Web应用开发时,由于缺少相关的jar包或者构建路径配置不正确导致。下面...

    HttpServlet实现的资料,帮助初学者使用HttpServlet

    下面将详细讲解HttpServlet、Servlet的生命周期以及它们与Tomcat服务器的关系。 1. **Servlet简介** - Servlet是Java语言实现的一个接口,全称为Java Servlet,它是一个服务器端程序,主要用于生成动态Web内容,...

    JavaWeb程序设计入门课件HttpServlet共4页

    四、HttpServlet与其他技术结合 在实际开发中,HttpServlet常常与MVC(Model-View-Controller)框架如Spring MVC,或者ORM框架如Hibernate一起使用,以提高开发效率和代码可维护性。此外,还可以结合使用JNDI、JTA...

    servlet.jar,httpservlet架包

    Servlet.jar和HTTPServlet.jar是Java EE规范中定义的两个重要库文件,它们包含了Servlet API和HTTPServlet API的实现,是服务器端处理HTTP请求和响应的关键工具。 Servlet是Java编程语言中的一种接口,由Java ...

    Java Web程序设计入门课件-HttpServlet.pptx

    Java Web程序设计是一种用于构建基于Web的应用程序的技术,它结合了Java编程语言的强大功能与Web服务器的功能,使得开发者能够创建动态、交互式的网页。在这个入门课程中,我们将深入理解HttpServlet,它是Java Web...

    Servlet&GenericServlet&HttpServlet源码分析.zip_GenericServle_httpser

    Servlet、GenericServlet和HttpServlet是Java Web开发中的核心组件,它们是Java服务器端处理HTTP请求的基础。本压缩包文件提供了对这三种Servlet的源码分析,对于深入理解Servlet的工作原理和扩展自定义功能至关重要...

    基于JSP HttpServlet的详细介绍

    JSP(Java Server Pages)是一种动态网页技术...JSP提供了与HTML页面融合的便捷方式,而HttpServlet则提供了处理HTTP协议请求和响应的框架。将这两者结合,可以开发出动态、响应式的网页应用,适用于各种Web开发需求。

    javaWEB总结(7):HttpServlet和HttpServletRequest

    总的来说,`HttpServlet`和`HttpServletRequest`是构建动态Java Web应用程序的核心工具,掌握了这两个类的使用,就能有效地处理HTTP请求,实现与客户端的交互。通过不断实践和学习,你将在Java Web开发领域变得更加...

    javax.servlet 的JAR包

    javax.servlet JAR包,解决找不到 import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; jar包问题

    Java Web开发: 基于HttpServlet的用户登录网站实例

    3. **请求与响应处理**:HttpServlet中的`doGet()`和`doPost()`方法分别对应HTTP的GET和POST请求。用户登录通常使用POST请求,因为其可以携带更复杂的用户数据,如用户名和密码。 4. **请求参数解析**:在`doPost()...

    201812CKEditor粘贴屏幕截图上传图片、使用HttpServlet接收文件实现

    Java的HttpServlet是用于处理HTTP请求的标准组件,常用于构建Web应用。在这个场景中,HttpServlet被用来接收CKEditor上传的图片文件。当用户在CKEditor中完成截图并点击“上传”按钮时,编辑器会将图片数据封装成...

    如何重写继承HttpServlet的类

    在Java Web开发中,`HttpServlet` 是Servlet API的一个核心类,它提供了处理HTTP请求的基础框架。当你需要创建一个新的Servlet来处理HTTP请求时,通常会选择继承`HttpServlet`并重写其方法。以下是一个详细的过程,...

Global site tag (gtag.js) - Google Analytics