Servlet学习笔记(三)之HttpServletRequest
HttpServletRequest(HttpServletRequest 想比 ServletRequest 添加与协议相关 API)对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户信息。
通过Request对象进行的常用操作:
- 获取客户机信息
- 获取请求头信息
- 获取请求参数
- 利用请求域传递对象
(一)获取客户机信息
常用方法:
输出:
区别URL(统一资源定位符)与URI(统一资源标识符):
url:http://localhost/requesttest/request1 — 完整
uri:/requesttest/request1
—- 部分
URI 包含 URL的 ,URL 一定完成路径,URI可以相对路径
http://localhost/requesttest/request1
是一个URL 同时也是 URI
https://blog.csdn.net/Megustas_JJC/article/details/hello
/requesttest/request1 —- 托福ibt都是URI 不是URL
querystring:null
由于请求中没有查询串,因此querystring为null,如果改成http://localhost/requesttest/request1?username=megustas则输出变为
即通过 getQueryString 可以获得 get方式提交查询串 url中?后面部分
获得当前访问资源路径 :
在URI的基础上去掉工程虚拟目录名称的部分,剩下的就是当前访问的资源的路径。
(二)获取请求头信息
getHeader 获得头信息的值,转换一个字符串
getHeaders 获得头信息值 ,获得Enumeration
getHeaderNames 获得所有头信息名称 返回 Enumeration
- 掌握getHeader使用,遍历Enumeration 获得所有头信息
通过头信息可以进行防盗链,存在合法referer不是盗链,否则控制目标资源无法访问 (因为直接输入网址的情况没有refer的头信息)
*
通过URL 绕过盗链判断
(三)获取请求参数
请求参数:用户通过请求提交服务器的一些数据—–< a
href=https://blog.csdn.net/Megustas_JJC/article/details/”url?xxx=xxx” >、<
form method=”get”> 、 < form method=”post”>
可以通过getParameter(name)方法来获取
html页面:
Servlet学习笔记(三)之HttpServletRequest的更多相关文章
- servlet学习笔记三
Servlet主要内容: 1)状态跟踪 一.状态跟踪 HTTP协议是无状态协议,即请求与请求之间没有任何关系,也就是不会记住任何数据. 但若想在请求间传递数据,怎么办?web里的三个基本容器对象可以解 ...
- Servlet学习笔记(三)
目录 Servlet学习笔记(三) 一.HTTP协议 1.请求:客户端发送欸服务器端的数据 2.响应:服务器端发送给客户端的数据 3.响应状态码 二.Response对象 1.Response设置响应 ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
- Servlet学习笔记(二)
目录 Servlet学习笔记(二) Request对象 1.request和response对象: 2.request对象继承体系结构: 3.什么是HttpServletRequest ? 4.Htt ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
随机推荐
- 爬取房价信息并制作成柱状图XPath,pyecharts
以长沙楼盘为例,看一下它的房价情况如何url = https://cs.newhouse.fang.com/house/s/b91/ 一.页面 二.分析页面源代码 我们要获得的数据就是名字和价格,先来 ...
- Wordpress 4.6 任意命令执行漏洞(PwnScriptum)
漏洞存在后台登录地方的找回密码页面:http://192.168.49.2:8080/wp-login.php?action=lostpassword 抓包进行修改包 输入一个存在的用户,然后点击获取 ...
- Jmeter RMI 反序列化命令执行漏洞(CVE-2018-1297)
下载ysoserial,git git clone https://github.com/frohoff/ysoserial.git cd ysoserialmvn clean package -Ds ...
- js 跨域请求失败
注:错误返回:Failed to load http://xxxxxxxxxxx: No 'Access-Control-Allow-Origin' header is present on the ...
- Netty 源码分析系列(二)Netty 架构设计
前言 上一篇文章,我们对 Netty做了一个基本的概述,知道什么是Netty以及Netty的简单应用. Netty 源码分析系列(一)Netty 概述 本篇文章我们就来说说Netty的架构设计,解密高 ...
- 自学linux——16.LAMP项目上线流程
LAMP项目上线流程 一.编译安装与卸载Nginx(web服务器软件,类似于Apache) 1.安装nginx ① 下载nginx 网页下载https://nginx.org/en/downlo ...
- requests 上件中文文件名报错解决方案
这几天在用wxpy写机器人,在调用里面的上传文件接口的时候,一直报错.经过排查后,发现是不支持中文文件名:在群里问了下作者后才知道是requests惹的祸,默认requests用的是unicode来处 ...
- Java知识复习回顾
1.MVC 三层架构: M:Model 数据模型层 V:View 视图层 C:Controller控制器层 目的:解耦 2.Spring Spring:轻量级的Java开源框架,容器,目的是解决企业级 ...
- SpringBoot开发八-会话管理
需求介绍-会话管理 利用Cookie和Seesion使得HTTP变成有会话的连接,写几个实例演示一下 代码实现 先写个例子,表示客户端第一次访问服务器,服务器端创建一个Cookie发送给客户端. 不管 ...
- vue项目中踩过的element的坑
前言:在现在这种大的社会背景下,人们的需求更加的个性化了,而之前为了解放开发复杂的原生开发状态,现有的组件库已经远远不能满足人们高质量的需求了,这两天开发发现了一些element UI交互上的缺陷,当 ...