• JSP request对象功能详解说明


    转自:

    JSP request对象功能详解说明

    下文笔者讲述request对象的功能简介说明,如下所示:

     request的功能:
        request是HttpServletRequest类的实例
        request对象中封装了客户端请求的数据信息,通过获取request对象中的信息,我们可获取客户端的请求信息  
    

    request对象中的方法

    string getProtocol()返回请求用的协议类型及版本号 request.getProtocol() 输出:HTTP/1.1
    getServletConfig().getServletContext().getServerInfo()服务器信息 输出:JavaServer Web Dev Kit/1.0 EA (JSP 1.0; Servlet 2.1; Java 1.2; Windows NT 5.0 x86; java.vendor=Sun Microsystems Inc.)
    String getRemoteAddr()返回发送此请求的客户端IP地址 request.getRemoteAddr() 输出:192.168.8.8
    String getRemoteHost()返回发送此请求的客户端主机名
    String getCharacterEncoding()返回字符编码方式 request.getCharacterEncoding() 输出:GB2312
    int getContentLength()返回请求体的长度(以字节数)
    String getContentType()得到请求体的MIME类型 8. string getAuthType() 获取Authorization头 request.getContentType() 输出:basic或者digest
    string getMethod()获取请求类型 输出:通常是GET或者POST。但偶尔也会出现HEAD,PUT, Delete,OPTIONS,或者 TRACE.
    string getPathInfo()获取URL中的附加路径信息 输出:URL中Servlet路径之后、查询字符串之前的那部分
    string getPathTranslated()映射到服务器实际路径之后的路径信息
    string getQueryString()这是字符串形式的附加到URL后面的查询字符串,数据仍旧是URL编码的。
    string getRemoteUser()如果提供了Authorization头,则代表其用户部分。它代表发出请求的用户的名字。
    string getRequestedSessionId()输出SessionId
    string getRequestURI()请求URL
    string getServletPath()URL中调用Servlet的那一部分,不包含附加路径信息和查询字符串
    string getHeader()获取请求头部信息 getHeader("Accept") //访问Accept的HTTP头。 getHeader("Host") //输出:192.168.8.8:8080
    String getServerName()返回接受请求的服务器主机名 request.getServerName() 输出:192.168.8.8
    int getServerPort()返回服务器接受此请求所用的端口号 request.getServerPort() 输出:8080
    ServletInputStream getInputStream()得到请求体中一行的二进制流
    String getScheme()返回请求用的计划名,如:http.https及ftp等
    BufferedReader getReader()返回解码过了的请求体
    void setAttribute(String key,Object obj)设置属性的属性值
    String getRealPath(String path)返回一虚拟路径的真实路径
    String getParameter(String name)返回name指定参数的参数值
    Enumeration getParameterNames()返回可用参数名的枚举
    String[] getParameterValues(String name)返回包含参数name的所有值的数组

    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> 
    <%@ page import="java.util.*" %> 
     
     
    
     
    客户使用的协议是: 
    <% 
        String strProtocol = request.getProtocol(); 
        out.print(strProtocol); 
    %> 
    
    获取客户提交信息的页面: <% String strPath = request.getServletPath(); out.print(strPath); %>
    接受客户提交信息的长度 <% int intLength = request.getContentLength(); out.print(intLength); %>
    客户提交信息的方式: <% String strMethod = request.getMethod(); out.print(strMethod); %>
    获取HTTP头文件中User-agent的值 <% String strUserAgent = request.getHeader("User-Agent"); out.print(strUserAgent); %>
    获取HTTP头文件中的accept值 <% String strAccept = request.getHeader("accept"); out.print(strAccept); %>
    获取HTTP头的Host的值 <% String strHost = request.getHeader("Host"); out.print(strHost); %>
    获取HTTP头文件中accept-encoding的值 <% String strAcceptEncoding = request.getHeader("accept-encoding"); out.print(strAcceptEncoding); %>
    获取客户的IP地址 <% String strIP = request.getRemoteAddr(); out.print(strIP); %>
    获取客户机的名称 <% String strClientName = request.getRemoteHost(); out.print(strClientName); %>
    获得服务器的名称 <% String strServerName = request.getServerName(); out.print(strServerName); %>
    获得服务器端口号 <% int strServerPort = request.getServerPort(); out.print(strServerPort); %>
    获取客户端提交的所有参数名字:
    <% Enumeration enumer = request.getParameterNames(); while(enumer.hasMoreElements()) { String s = (String) enumer.nextElement(); out.print(s); out.print("
    "); } %>
    获取头名字的一个枚举:
    <% Enumeration enumHead = request.getHeaderNames(); while(enumHead.hasMoreElements()) { String s = (String) enumHead.nextElement(); out.print(s); out.print("
    "); } %>
    获取头文件中指定头名字的全部值的一个枚举
    <% Enumeration enumCookies = request.getHeaders("cookie"); while(enumCookies.hasMoreElements()) { String s = (String)enumCookies.nextElement(); out.print(s); out.print("
    "); } %>
  • 相关阅读:
    Toronto Research Chemicals加米霉素-d4说明书
    【Linux】VMware
    【vue3】shallowReactive与shallowRef;readonly与shallowReadonly;toRaw与markRaw
    Spring5学习笔记
    4.1 Windows驱动开发:内核中进程与句柄互转
    生信初学者必知的镜像设置
    Typecho框架漏洞
    网络安全(黑客技术)自学笔记
    string的部分题目
    2018年数学建模竞赛-高温作业专用服装设计
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126094261