zoukankan      html  css  js  c++  java
  • Request 请求

    Request 请求

    HttpServletRequest概述

    我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。

    service方法中的request的类型是ServletRequest,而doGet/doPost方法的request的类型是HttpServletRequest,HttpServletRequest是ServletRequest的子接口,功能和方法更加强大

    通过request获得请求行

    getMethod()   //获取请求方式

    getContextPath  //获得项目名

    String requestURI=request.getRequestURI(); //网址

    StringBuffer requestURL=request.getRequestURL(); //网址

    getQueryString()  //获取get请求后的参数

    getRemoteAdder  //获取客户端ip地址

    通过request获取请求头

    getHeader(“Referer”)  //获取请求头

    应用,防盗链

    //获取指定的请求头

    String referer=request.getHeader("Referer");

     

    //防盗链

    //判断请求头

    response.setContentType("text/html;charset=utf-8");//解决中文乱码

    if(referer!=null && referer.startsWith("http://localhost")){//判断是否以什么开头

        response.getWriter().write("杨超越");

    }else{

        response.getWriter().write("你是小偷");

    }

    通过request获取请求体

    //解决post提交 中文乱码问题

    request.setCharacterEncoding("UTF-8");

    //解决get方式中文乱码问题

    username=new String(username.getBytes("ISO-8859-1"),"UTF-8");

    //获取单个参数值

    String username=request.getParameter("user"); //括号内填name

    //获取一个name多个值的参数

    String[] hobbys=request.getParameterValues("hobby");

    //获取所有请求参数的map集合

    Map<String,String[]> map=request.getParameterMap();

    request域对象

    作用范围:一次请求中

    setAttribute(String name, Object o)  //存入

    getAttribute(String name)  //取值

    removeAttribute(String name)  //删除值

    请求转发

    request.getRequestDispatcher(转发的地址).forward(request,response);

    特点:

           1.请求服务器1次

           2.url地址不变化

  • 相关阅读:
    Max Sum of Max-K-sub-sequence(单调队列)
    Matrix Swapping II(求矩阵最大面积,dp)
    重温世界杯(贪心)
    Pie(求最小身高差,dp)
    Matrix(多线程dp)
    Python 实现自动导入缺失的库
    分布式系统session一致性解决方案
    数据结构 【链表】
    【数字图像处理】gamma变换
    【数字图像处理】顶帽变换和底帽变换
  • 原文地址:https://www.cnblogs.com/hhthtt/p/10708158.html
Copyright © 2011-2022 走看看