HttpRequest
概念:Hyper Text Transfer Protocol 超文本传输协议
* 传输协议:定义了,客户端和服务器端通信时,发送数据的格式
* 特点:
1. 基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求/响应模型的:一次请求对应一次响应
4. 无状态的:每次请求之间相互独立,不能交互数据
- 请求消息数据格式
请求行
请求方式 请求url 请求协议/版本
GET /login.html HTTP/1.1- 请求方式:
- HTTP协议有7中请求方式,常用的有2种
- GET:
- 请求参数在请求行中,在url后。
- 请求的url长度有限制的
- 不太安全
- POST:
- 请求参数在请求体中
- 请求的url长度没有限制的
- 相对安全
- GET:
- HTTP协议有7中请求方式,常用的有2种
- 请求方式:
- 用图解的方式了解HTTP和如何用虚拟路径
- 参数部分都要提交到后台进行操作,比较重要
- 虚拟路径
- 端口号可有可无,我设置的80, 浏览器默认的就是80,设置为其他的端口号则需要加上端口号
*下面的部分方法用代码和注释的方式演示
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/***request对象和response对象的原理* 1. request和response对象是由服务器创建的。我们来使用它们* 2. request对象是来获取请求消息,response对象是来设置响应消息*//*** request功能:* 1. 获取请求消息数据* 获取请求行数据* GET /demo1?name=zhangsan HTTP/1.1* 方法:* 1. 获取请求方式 :GET* String getMethod()* 2. (*)获取虚拟目录:/* String getContextPath()* 3. 获取Servlet路径: * String getServletPath()* 4. 获取get方式请求参数:name=zhangsan* String getQueryString()* 5. (*)获取请求URI:/day14/demo1* String getRequestURI(): /demo001/servletDemo01* StringBuffer getRequestURL() ** URL:统一资源定位符 : http://localhost//demo001/demo1 * URI:统一资源标识符 : /demo001/demo1 ** 6. 获取协议及版本:HTTP/1.1* String getProtocol()** 7. 获取客户机的IP地址:* String getRemoteAddr()*/// 上述 几种方法进行代码演示//浏览器为Chrome(谷歌)
@WebServlet("/servletDemo01")
public class ServletDemo01 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 1.获取请求的方式:分为get 和 post ,并在控制台上打印String method = request.getMethod();System.out.println(method);// 2. (*)获取虚拟目录:/// String getContextPath()String contextPath = request.getContextPath();System.out.println(contextPath);// 3.获取Servlet路径: // String getServletPath()String servletPath = request.getServletPath();System.out.println(servletPath);// 4.获取get方式请求参数:name=tg_锅锅// String getQueryString()String queryString = request.getQueryString();System.out.println(queryString);// 5.(*)获取请求URI:/day14/demo1// String getRequestURI(): /demo1// StringBuffer getRequestURL() :http://localhost/String requestURI = request.getRequestURI();System.out.println(requestURI);// 6.获取协议及版本:HTTP/1.1// String getProtocol()String protocol = request.getProtocol();System.out.println(protocol);// 7. 获取客户机的IP地址:// String getRemoteAddr()String remoteAddr = request.getRemoteAddr();System.out.println(remoteAddr);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}
- 执行结果
HttpRequest相关推荐
- 火狐浏览器中添加httprequest的方法
今天弄了很久就才装好, 下面的例子是以 window为例子的,mac的也是这样, 下载好火狐之后点击右上角的菜单 想到httprequest是个插件,就点击附加组件 搜索出来之后找到httpreque ...
- Django视图之HttpRequest对象和HttpResponse对象
五.HttpRequest对象 回想一下,利用HTTP协议向服务器传参有几种途径? 提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取: 查询字 ...
- HttpRequest接口测试
1.HttpRequest是火狐的一个插件,需要自己去组件库里去下载安装: 2.主界面: 3.操作步骤: 1)输入接口文档中的接口url: 2)如果是Post请求方式,还要在参数列表中添加参数名及参数 ...
- HttpRequest 与HttpWebRequest 有什么区别
System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等 而System.Net.HttpWebReq ...
- HttpRequest获取文件流,HttpResponse输出文件流
HttpResponse输出文件: Response.Clear(); Response.ContentType = "application/octet-stream"; //通 ...
- php httprequest 安装,php httpRequest(php实现httpRequest)
想从学校图书馆的网站上抓取数据处理之后在返回给浏览器,试了不少方法.首先试了http_request(),但是这个学院pecl_http支持,后来又试了网上流传甚广的class HttpRequest ...
- 【django】HttpRequest对象
回想⼀下,利⽤HTTP协议向服务器传参有⼏种途径? a.提取URL的特定部分,如/film/zhangsan/20/,可以在服务器端的路由中⽤正则表达式截取: b.查询字符串(query string ...
- Python Django 前后端数据交互 之 HttpRequest、HttpResponse、render、redirect
在使用三神装的时候,首先当然是得要导入它们: from django.shortcuts import HttpResponse, render, redirect 一.HttpRequest捕获请求 ...
- JavaWeb 入门篇(4)HttpResponse 详解 HttpRequest 详解
HttpResponse 讲解 HttpServletResponse概述: 在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代 ...
- django请求与响应(HttpRequest对象和HttpResponse对象)
HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpReq ...
最新文章
- Git 分布式版本管理
- swift禁用webView对H5中数字,链接,日期,地址,电话号码做解析
- 简单点,让论文写作简单点,老牌名校助理教授给出8个建议
- 疫情之下的网站优化该怎样进行?
- 最完美的xslt数值函数与字符串函数(转)
- OpenStack(Kilo版本)镜像服务glance的安装部署
- SpringBoot rest映射及源码解析
- Thinking In Machine Learning
- Here we want to mention one thing
- php 无法识别oci8,php 连接oracle 无法 启用oci8 解决办法 (摘自oracle官网)
- 新闻简报(7/18)
- Jquery一款非好的图片轮换效果
- Android仿虾米音乐播放器之专辑图片模糊处理
- CentOS8下安装配置Wireguard
- HBase二级索引实践(带你感受二级索引的力量)
- Office Ribbon 界面开发入门教程:QtitanRibbon详解
- windows操作系统下新建txt文件快捷键
- 主数据管理功能模块、实施、提供厂商
- 常用ES6语法归纳总结!
- Ipad2022可以用电容笔吗?双十一值得入手电容笔推荐