说道说道JSP和HTTP吧

2024-03-24 10:44
文章标签 http jsp 说道

本文主要是介绍说道说道JSP和HTTP吧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家都知道的是JSP(Java Server Pages),也知道有个传输协议为HTTP协议,那么他俩到底有啥关系?像是有关系但又有点说不清楚,这里咱们一块捋一捋。

我们说servlet处理客户端请求的方式有2种:get和post。

也知道了http的8种请求方法:get、post、put、delete、options、trace、connect、head。

那http的get、post方法和servlet处理请求的get、post方式有啥关系呢?我们再说servle的时候都说get和post根据表单的method方法的方式来确定是get还是post,那就有个问题了。

我们刚开始打开浏览器还没有提交表单的时候,浏览器怎么知道是用哪种方式呢?是get还是post呢,毕竟我们只在浏览器输入了URL地址,没有提交任何form。

为什么会有以上的疑问?

因为我们上面提到的http协议,在发送报文的时候,报文前面都是包含请求方式的,例如我们对我们自己的网站里面的index.html请求,在浏览器输入http://localhost:8080/index.html,回车之后客户端向服务器端发送请求:

GET /index.html HTTP/1.0
Host: www.gefionsoftware.com
User-Agent: Mozilla/4.5 [en] (WinNT;I)
Accept: image/gif, image/jpeg, image/pjpeg, image/ping,*/*
Accept-Language : en
Accept-Charset : iso-8859-1,*,utf-8

上面的例子里面,第一行是请求行,表明是GET命令,请求的资源是index.html ,协议是HTTP1.0。

那么GET命令是怎么确定的呢?

1、浏览器会发送Get请求的情况

A、直接在浏览器地址栏输入某个地址。

B、点击某个链接。

C、表单默认的提交方式,也就是不指定method方法的时候,默认是Get方式。

通过上面的说明,大家应该就清楚了,直接在浏览器输入地址是get方式发送请求。

2、浏览器会发送post请求的情况

设置表单method = “post”,在这种情况下,请求方式才会是post方式。

3、get请求的特点

请求参数会添加到URL的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)

请求参数会显示在浏览器地址栏,路由器会记录请求地址

4、post请求的特点

1、 请求参数添加到实体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)

2、 相对安全,但是,post请求不会对请求参数进行加密处理(可以使用https协议来保证数据安全)。

5、http和jsp没有必然联系

今天去讲http报文的默认get方式,其实要表达的内容跟jsp没有关系,但我们在学jsp的时候,我们在服务器端放着的静态或者动态页面,怎么去展示呢?其实就是浏览器端通过http协议或者报文的方式发送请求到服务器端,服务器根据请求内容去进行业务逻辑处理,然后响应到浏览器的页面上。

举个例子:在浏览器输入栏中输入https://blog.csdn.net/luohaitao  我的博客主页就出现在浏览器窗口。这背后是什么在起作用呢?这个就需要弄明白。

使用浏览器从网站获取HTML页面时,实际在使用Hypertext Transfer Protocol (HTTP) HTTP协议规定了信息在Internet上的传输方法,特别规定了浏览器与服务器的交互方法。

从网站获取页面时,浏览器在网站上打开了一个对网络服务器的连接,并发出请求,服务器收到请求后响应,所以HTTP协议被称作“请求和响应”协议。

浏览器可以直接请求某个网址例如:www.baidu.com,域名映射到ip,然后关联到某个welcome.html或者index.html或者welcome.jsp,也或者是通过映射过滤去处理浏览器的请求。

一个典型请求通常包含许多头,称作请求的HTTP头。头提供了关于信息体的附加信息及请求的来源,其中有些头是标准的,有些头和特定的浏览器有关。

一个请求还可能包含信息体。例如信息体可包含HTML表单的内容。在HTML表单上单击Submit按钮时,该表单使用ACTION=“POST”或ACTION=”GET”特征,输入表单的内容都被发送到服务器上,该表单内容就由POST方法或GET方法在请求的信息体中发送。

服务器在收到请求时,返回HTTP响应。响应也有某种结构,每个响应都由状态行开始,可以包含几个头及可能的信息体,称作响应的HTTP头和响应信息体。这些头和信息体由服务器发送给客户的浏览器,信息体就是客户请求的网页运行结果,对于JSP页面,就是网页的静态信息。

6、jsp怎么响应http的请求方法

还记得前面讲的http的8种请求方法:get、post、put、delete、options、trace、connect、head吧,在讲servlet的时候我们重点提到了响应get和post的方法,对应的servlet对象为:HttpServlet,那么我们很自然的要问,http的其他请求方法怎么办?其实吧,HttpServlet里面也都有了,只是我们前面没用到罢了。

doHead():用来处理HTTP客户端的HEAD请求。

doGet():如果HTTP客户端发给服务器的请求是GET方式,这个方法将被service方法调用。

doPost(): 如果HTTP客户端发给服务器的请水是POSI万式,区个方法会被service方法调用。

doDelete():用来处理HTTP客户端的DELETE请求。

doOptions():用来处理HTTP的OPTIONS请求此外,还有doPut()方法和doTrace()

铁子们,是不是都get到了?能理解你们的是不是只有我才能彩透你们想要问什么,这下心里不堵得慌了吧。

参考资料:

https://blog.csdn.net/guanjungao/article/details/36191107

https://blog.csdn.net/m0_67444502/article/details/127979516

https://blog.csdn.net/m0_64892750/article/details/122114632

这篇关于说道说道JSP和HTTP吧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/841361

相关文章

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在