HttpServletRequest 接口源码学习

import java.io.IOException;
import java.security.Principal;
import java.util.Collection;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.http.Part;

/**
 * 说明:HttpServletRequest接口继承自ServletRequest接口,具备该接口中的所有方法
 * 但,实现HttpServletRequest接口的类,需要实现本接口中和ServletRequest接口的全部方法
 * */
public interface HttpServletRequest extends ServletRequest {
    String BASIC_AUTH = "BASIC";
    String FORM_AUTH = "FORM";
    String CLIENT_CERT_AUTH = "CLIENT_CERT";
    String DIGEST_AUTH = "DIGEST";

    // 如果servlet由一个鉴定方案所保护,如HTTP基本鉴定,则返回方案名称
    String getAuthType();

    // 获取客户端发送的cookie
    Cookie[] getCookies();

    // 该方法返回指定的头名称的构建 Date 对象的 long 值。
    long getDateHeader(String var1);

    //  获取单个请求头name对应的value值
    String getHeader(String var1);

    // 获取多个同名请求头对应的一组value值,因此返回枚举类型数据
    Enumeration<String> getHeaders(String var1);

    // 获取请求头的所有name值,返回的数据也是一个枚举类型的数据
    Enumeration<String> getHeaderNames();

    // 该方法以 int 格式根据名称返回客户请求中对应的头信息(header)。
    int getIntHeader(String var1);

    // 获取发送请求的方式,如get,post
    String getMethod();

    // 返回请求的实际URL相对于请求的servlet的url的路径
    String getPathInfo();

    // 该方法返回 URL 中在 servlet 名称之后,在检索字符串之前的路径信息(概念太模糊,这个方法都是这么介绍的 0.0)
    String getPathTranslated();

    // 该方法用于获取请求 URL 中属于 Web 应用程序的路径,
    // 这个路径以 / 开头,表示相对于整个 Web 站点的根目录,路径结尾不含 /。
    // 如果请求 URL 属于 Web 站点的根目录,那么返回结果为空字符串("")
    String getContextPath();

    // 该方法用于获取请求行中的参数部分,也就是资源路径后问号(?)以后的所有内容
    String getQueryString();

    // 如果用户通过鉴定,返回远程用户名,否则为null
    String getRemoteUser();

    // 如果当前已通过鉴定用户与指定角色相关,则返回true,如果不是或用户未通过鉴定,则返回false。
    boolean isUserInRole(String var1);

    // 如果用户通过鉴定,返回代表当前用户的java.security.Principal对象,否则为null
    Principal getUserPrincipal();

    // 返回客户端的会话ID
    String getRequestedSessionId();

    // 该方法用于获取请求行中的资源名称部分即位于 URL 的主机和端门之后、参数部分之前的部分
    String getRequestURI();

    // 该方法用于获取客户端发出请求时的完整 URL,包括协议、服务器名、端口号、 资源路径等信息,
    // 但不包括后面的査询参数部分。
    // 注意,getRequcstURL() 方法返冋的结果是 StringBuffer 类型,
    // 而不是 String 类型,这样更便于对结果进行修改
    StringBuffer getRequestURL();

    // 该方法用于获取 Servlet 的名称或 Servlet 所映射的路径
    String getServletPath();

    // 返回和客户端相关的session,如果没有分配session,则创建一个并返回(取决于参数,true表示创建)
    HttpSession getSession(boolean var1);

    // 返回和客户端相关的session,如果没有分配session,则返回null
    HttpSession getSession();

    // 如果客户端返回的会话ID仍然有效,则返回true
    boolean isRequestedSessionIdValid();

    // 如果请求的会话ID由一个Cookie对象提供,则返回true,否则为false
    boolean isRequestedSessionIdFromCookie();

    // 如果请求的会话ID在请求URL中解码,返回true,否则为false
    boolean isRequestedSessionIdFromURL();

    // 获取使用multipart/form-data格式传递的http请求的请求体,通常用于获取上传文件。
    Collection<Part> getParts() throws IOException, ServletException;

    // Part用来处理文件上传,获取对应名称的Part
    Part getPart(String var1) throws IOException, ServletException;

    // 以下方法不作分析
    boolean authenticate(HttpServletResponse var1) throws IOException, ServletException;

    void login(String var1, String var2) throws ServletException;

    void logout() throws ServletException;

    /** @deprecated */
    boolean isRequestedSessionIdFromUrl();
}

其中,HttpServletRequestWrapper 类是该接口的简单实现类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值