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

  • 相关阅读:
    mysql授权
    mysql函数大全
    mysql常用命令
    ECMAScript中变量的解构赋值
    ECMAScript中的const常量
    ECMAScript中let与var的区别
    javaScript中的变量作用域的闭包处理
    javaScript的prototype对象
    javaScript中的this作用域
    js对象的创建方式
  • 原文地址:https://www.cnblogs.com/zhangyanran/p/10082096.html
Copyright © 2020-2023  润新知