• ServletRequest接口和HttpServletRequest接口


    简述:

    在Servlet接口中的service(ServletRequest request , ServletResponse response)方法中有一个ServletRequest类型的参数。ServletRequest类表示来自客户端的请求。当Servlet容器接收到客户端要求访问特定Servlet的请求时,容器先解析客户端的原始请求数据,把它包装成一个ServletRequest对象。当容器调用Servlet对象的service()方法时,就可以把ServletRequest对象作为参数传给service()方法。

    请求对象方法

    ServletRequest接口提供了一系列用于读取客户端请求数据的方法,如下:
    1)getContentLength():返回请求正文的长度。如果请求正文的长度位置,则返回-1.
    2)getContentType():获得请求正文的MIME类型。如果请求正文的类型未知,则返回null。
    3)getInputStram():返回用于读取请求正文的输入流。
    4)getLocalAddr():返回服务器短短的IP地址。
    5)getLocalName():返回服务器端的主机名。
    6)getLocalPort():返回服务器端的FTP端口号。
    7)getParameter(String name):根据给定的请求参数名,返回来自客户请求中的匹配的请求参数值。
    8) getProtocal():返回客户端和服务器端通信所用的协议的名称及版本号。
    9)getReader():返回用户读取字符串形式的请求正文的BufferedReader对象。
    10)getRemoteAddr():返回客户端的IP地址。
    11)getRemoteHost():返回客户端的主机名。
    12)getRemotePort():返回客户端的FTP端口号。
    下面三个方法用户在请求范围内存取共享数据的方法:
    1)setAttribute(String name , java.lang.Object object):在请求范围内保存一个属性,参数name标识属性名,参数object标识属性值。
    2)getAttribute(String name):根据name参数给定的属性名,返回请求范围内的匹配的属性值。
    3)removeAttribute(String name):从请求范围内删除一个属性。

    HttpServletRequest接口

    HttpServletRequest接口是ServletRequest接口的子接口。
    HttpServlet类的重载service()方法及doGet()和doPost()等方法都有一个HttpServletRequest类型的参数,如:
    1. protected void service(HttpServletRequest req, HttpServletResponse resp)
    2. throws ServletException, IOException{........}

    响应方法

    HttpServletRequest接口提供了用于读取HTTP请求中的相关信息的方法:
    1)getContextPath():返回客户端所请求访问的web应用的URL入口。例如,如果客户端访问的URL为http://localhost:8080/helloapp/info,那么该发放返回“/helloapp”。
    2)getCookies():返回HTTP请求中的所有的Cookie。
    3)getHeader(String name):返回HTTP请求头部的特定项。
    4)getHeaderNames():返回一个Enumeration对象,它包含了HTTP请求头部的所有项目名。
    5)getMethod():返回HTTP请求方式,如post,或get。
    6)getRequestURI():返回HTTP请求的头部的第1行中的URI。
    7)getQueryString():返回HTTP请求中的查询字符串,即UTL中的“?”后面的内容。例如,如果客户端访问的URL为
    http://localhost:8080/htlloapp/info?username=tom
    ,那么该方法返回“username=tome”。

    根据SUN的Servlet API来创建的Servlet,无需费力的解析原始HTTP请求。解析原始HTTP请求的工作完全由Servlet容器来代劳。Servlet容器把HTTP请求包装成HttpServletRequest对象,Servlet只需调用该对象的getXXX()方法,节能轻轻松松地读取到HTTP请求中的各种数据。
  • 相关阅读:
    Java实现 LeetCode 236 二叉树的最近公共祖先
    Java实现 LeetCode 236 二叉树的最近公共祖先
    Java实现 LeetCode 235 二叉搜索树的最近公共祖先
    Java实现 LeetCode 235 二叉搜索树的最近公共祖先
    Java实现 LeetCode 235 二叉搜索树的最近公共祖先
    Java实现蓝桥杯打印图形
    Java实现蓝桥杯打印图形
    Java实现蓝桥杯打印图形
    C++ int与string的转化
    C语言:将16进制字符串转化为int类型值
  • 原文地址:https://www.cnblogs.com/hank-lkj/p/9365959.html
Copyright © 2020-2023  润新知