Servlet-HttpServletRequest和HttpServletResponse解释和常用方法

HttpServletRequest和HttpServletResponse

一个Http请求对象,一个Http响应对象。

在这里插入图片描述

HttpServletRequest

HttpServletRequest,见名知义,就能知道它是通过HTTP协议请求Servlet的对象,它封装了HTTP请求携带的所有信息。

当客户端请求服务器上web应用的某个Servlet时,请求参数和请求的信息就会全部被封装到该对象中,我们使用该对象就能获取这些信息。

通俗讲,就是客户端来请求Servlet,总要带点东西呗[/调皮],这个东西就是请求对象HttpServletRequest,这个请求对象仅限于http请求,它有一个父类ServletRequest,ServletRequest就能代表各种协议的请求。

ServletRequest的常用方法有:

方法作用
public Object getAttribute(String name);获取该请求域中存储的指定属性值
public Enumeration getAttributeNames();获取该请求域中所有的属性名
public String getCharacterEncoding();返回该请求对象指定的编码,若未指定,返回null
public void setCharacterEncoding(String env) throws UnsupportedEncodingException;为该请求设置指定的编码方式
public int getContentLength();获取请求正文的长度,如果长度超过int类型的最大值,返回-1
public long getContentLengthLong();获取请求正文的长度,超过long类型的最大值就返回-1
public String getParameter(String name);获取该请求中指定的参数值,返回字符串
public Enumeration getParameterNames();获取该请求中所有的参数名
public String[] getParameterValues(String name);获取该请求中指定参数名的值,返回数组类型
public Map<String, String[]> getParameterMap();获取该请求中所有的参数和值,返回map集合
public void setAttribute(String name, Object o);在该请求域中设置名为name,值为o的属性
public void removeAttribute(String name);移除该请求域中指定的属性
public RequestDispatcher getRequestDispatcher(String path);获取该请求转发到指定路径的转发器对象

HttpServletRequest的常用方法有:

方法作用
public Cookie[] getCookies();获取请求中携带的所有Cookie数据,没有就返回null
public String getHeader(String name);获取指定的请求头携带的信息
public Enumeration getHeaderNames();获取该请求中所有的请求头
public String getMethod();获取该请求的客户端请求方式
public String getContextPath();返回请求URI中指示请求上下文的部分,请求路径除开前面的协议主机和端口,之后的部分
public String getRequestURI();返回整个请求的URL,包括协议,主机名和端口
public HttpSession getSession(boolean create);获取与当前请求关联的session,如果没有与之关联的session而且传入参数为true时,它就会创建一个session并返回,如果没有与之关联的session并且传入参数为false,就返回null。
public HttpSession getSession();获取一个与当前请求关联的session对象,如果不存在就创建一个并返回
public Collection getParts() throws IOException, ServletException;获取此请求的所有Part组件,前提是该请求的类型为multipart / form-data
public Part getPart(String name) throws IOException, ServletException;获取该请求中指定名字的Part,该请求的类型为multipart / form-data

HttpServletResponse

HttpServletResponse,同理,它就是通过HTTP协议请求Servlet只后响应给客户端的对象,它封装了Servlet响应给客户端的信息。

通俗来讲,在Http请求的前提下,Servlet收到客户端的请求之后,不能把客户端“晾”着吧,Servlet在处理完客户端的请求之后,就需要”回礼“给客户端,在这里就是说的响应对象。

HttpServletResponse也有个父类叫ServletResponse,ServletResponse就是响应各种协议的对象。

ServletResponse的常用方法:

方法作用
public String getCharacterEncoding();获取响应对象的编码
public ServletOutputStream getOutputStream() throws IOException;获取响应的ServletOutputStream对象
public PrintWriter getWriter() throws IOException;获取响应的PrintWriter对象
public void setCharacterEncoding(String charset);设置响应的编码

HttpServletResponse的常用方法:

方法作用
public void addCookie(Cookie cookie);向响应中写入cookie
public boolean containsHeader(String name);判断响应中是否包含某个响应头
public void sendRedirect(String location) throws IOException;响应给客户端,让客户端重定向到location
public void setHeader(String name, String value);设置响应头信息
public void addHeader(String name, String value);添加响应头信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值