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页面:

转载于:https://www.cnblogs.com/zhangyanran/p/10082096.html

Servlet学习笔记(三)之HttpServletRequest相关推荐

  1. J2EE学习笔记三:EJB基础概念和知识 收藏

    J2EE学习笔记三:EJB基础概念和知识 收藏 EJB正是J2EE的旗舰技术,因此俺直接跳到这一章来了,前面的几章都是讲Servlet和JSP以及JDBC的,俺都懂一些.那么EJB和通常我们所说的Ja ...

  2. Servlet学习笔记 Servlet原理

    Servlet学习笔记 Servlet原理 一.Servlet基础 1.Servlet执行过程 用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的servi ...

  3. tensorflow学习笔记(三十二):conv2d_transpose (解卷积)

    tensorflow学习笔记(三十二):conv2d_transpose ("解卷积") deconv解卷积,实际是叫做conv_transpose, conv_transpose ...

  4. Ethernet/IP 学习笔记三

    Ethernet/IP 学习笔记三 原文为硕士论文: 工业以太网Ethernet/IP扫描器的研发 知网网址: http://kns.cnki.net/KCMS/detail/detail.aspx? ...

  5. iView学习笔记(三):表格搜索,过滤及隐藏列操作

    iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...

  6. 吴恩达《机器学习》学习笔记三——多变量线性回归

    吴恩达<机器学习>学习笔记三--多变量线性回归 一. 多元线性回归问题介绍 1.一些定义 2.假设函数 二. 多元梯度下降法 1. 梯度下降法实用技巧:特征缩放 2. 梯度下降法的学习率 ...

  7. Python基础学习笔记三

    Python基础学习笔记三 print和import print可以用,分割变量来输出 import copy import copy as co from copy import deepcopy ...

  8. Mr.J-- jQuery学习笔记(三十二)--jQuery属性操作源码封装

    扫码看专栏 jQuery的优点 jquery是JavaScript库,能够极大地简化JavaScript编程,能够更方便的处理DOM操作和进行Ajax交互 1.轻量级 JQuery非常轻巧 2.强大的 ...

  9. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  10. ROS学习笔记三:创建ROS软件包

    ,# ROS学习笔记三:创建ROS软件包 catkin软件包的组成 一个软件包必须满足如下条件才能被称之为catkin软件包: 这个软件包必须包含一个catkin编译文件package.xml(man ...

最新文章

  1. 关于C语言中printf函数“输出歧视”的问题
  2. 解决postgresql数据库localhost可以连接,ip连接不了的问题
  3. 计算最大回撤_看专业分析研究员如何一步步解读外汇市场结构,实现交易最大化盈利化!...
  4. php ldap 创建用户,PHP LDAP获取作为组成员的成员的用户详细信息
  5. 重学java基础第十四课:java特性和优势
  6. LeetCode 330. 按要求补齐数组(贪心)
  7. JavaScript数据结构和算法简述——前言
  8. 中英文对照 —— 软件与病毒、电子与硬件
  9. cross-env跨平台设置环境变量
  10. python中高阶函数与装饰器(3)
  11. Android TableLayout 表格布局详解
  12. ASP.Net中控件的EnableViewState属性
  13. js配合css3开发流畅的web拾色器功能
  14. ZYF loves set (lca+转化)
  15. 会员积分商城系统的功能介绍
  16. python中axis=0和axis=1的理解
  17. 吉他指弹入门——特殊调弦
  18. kibana监控logstash
  19. Android 11.0 12.0蓝牙遥控器确认键弹不出输入法的解决方法
  20. 图像迁移风格保存模型_图像风格迁移

热门文章

  1. 细数Ajax Control Toolkit 34个服务器端控件
  2. 计算机数字信号原理,计算机网络通信原理数字信号的基带传输.ppt
  3. jsonproperty注解_Jackson注解详解
  4. python考证书-计算机二级 Python 怎么考?考什么?
  5. python和c哪个好学-C/C++和Python哪个更有前景?
  6. python天天学怎么样-python练习:好好学习,天天向上
  7. python界面长什么样子-图形界面
  8. 如何自学python到做项目-总算明白如何通过项目学习python
  9. python处理excel教程实例-python如何处理excel数据
  10. python工作-python工作中总结