• HttpServletRequest


    HttpServletRequest

    HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。

    常用方法如下:

    方法   说明
    getRequestURL() 返回客户端发出请求时的完整URL(路径)
    getRequestURI()  返回除去host(域名或者ip)部分的路径
    request.getContextPath()  返回工程名部分,如果工程映射为/,此处返回则为空
    request.getServletPath()  返回除去host和工程名部分的路径
    getQueryString () 获取url中的参数
    getRemoteHost() 返回发出请求的客户机的完整主机名。
    getRemoteAddr() 返回发出请求的客户机的IP地址。
    getPathInfo() 返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以"/"开头。
    getRemotePort() 返回客户机所使用的网络端口号。
    getLocalAddr() 返回WEB服务器的IP地址。
    getLocalName() 返回WEB服务器的主机名。
    getHeader(string name) 以 String 的形式返回指定请求头的值。如果该请求不包含指定名称的头,则此方法返回 null。如果有多个具有相同名称的头,则此方法返回请求中的第一个头。头名称是不区分大小写的。可以将此方法与任何请求头一起使用
    getHeaders(String name) 以 String 对象的 Enumeration 的形式返回指定请求头的所有值
    getHeaderNames() 返回此请求包含的所有头名称的枚举。如果该请求没有头,则此方法返回一个空枚举
    getParameter(String name) 根据name获取请求参数(常用)
    getParameterValues(String name) 根据name获取请求参数列表(常用)
    getParameterMap() 获取所有参数对应的Map,其中key为参数名,value为参数值。
       

    request对象作为一个域对象(Map容器)使用时,主要是通过以下的四个方法来操作


    setAttribute(String name,Object o):将数据作为request对象的一个属性存放到request对象中,例如:request.setAttribute(“data”, data);

    getAttribute(String name):获取request对象的name属性的属性值,例如:request.getAttribute(“data”)

    removeAttribute(String name):移除request对象的name属性,例如:request.removeAttribute(“data”)

    getAttributeNames:获取request对象的所有属性名,返回的是一个,例如:Enumeration   attrNames = request.getAttributeNames();


    HttpServletRequest请求转发(服务器端跳转forward)

        在Servlet中请求转发是大量要使用的,因为当我们访问一个Servlet的时候通常会执行一些后台的业务逻辑,然后跳转到一个结果页面,那么跳转到结果页面的这个过程就是请求转发,举个例子我们做登录的功能,我们填写用户名密码然后提交到一个负责登录的Servlet,Servlet为我们做用户名和密码的校验,如果我们都正确的话,我们就要跳转到登录的提示页面,如果错误就要跳转到登录失败的页面。

    Request的请求转发也可以叫做服务器端的跳转,虽然有页面的跳转但是我们会发现地址栏是不会有变化的。

    request.getRequestDispatcher("/success.html").forward(request, response);

    HttpServletRequest获取上传的文件

    // 获取上传的文件对象
    Part part = request.getPart("file");
    // 获取上传的文件名字
    String fileName = part.getSubmittedFileName();
    // 获取输入流
    InputStream ins = part.getInputStream();
    // 获取上传的contentType
    String contentType = part.getContentType();
    //获取上传的文件的大小
     long size = part.getSize();
  • 相关阅读:
    this:从JavaScript执行上下文视角讲this
    作用域链和闭包:代码中出现相同的变量,JavaScript引擎如何选择
    调用栈:为什么JavaScript代码会出现栈溢出
    变量提升:JavaScript代码是按顺序执行的吗
    uniapp
    uniapp
    uniapp
    uniapp
    js
    uniapp
  • 原文地址:https://www.cnblogs.com/dw3306/p/13024891.html
Copyright © 2020-2023  润新知