request对象是有什么功能?
2022-10-11 · 百度认证:IT168官方账号,优质数码领域创作者
request 的其他功能,request 是一个域对象,request 对象也是一个存储数据的区域对象,所以也具有如下方法:setAttribute(String name, Object o),getAttribute(String name),removeAttribute(String name)
request 完成请求转发,获得请求转发器----path 是转发的地址RequestDispatchegetRequestDispatcher(String path),通过转发器对象转发requestDispathcer.forward(ServletRequest request, ServletResponse response)
HttpServletRequest 概述,在创建 Servlet 时会覆盖 service() 方法,或 doGet()/doPost(), 这些方法都有两个参数,一个为代表请求的 request 和代表响应 response。
service 方法中的 request 的类型是 ServletRequest,而 doGet/doPost 方法的request 的类型是 HttpServletRequest,HttpServletRequest 是 ServletRequest 的子接口,功能和方法更加强大,今天我们学习HttpServletRequest。因为 request 代表请求,所以我们可以通过该对象分别获得 Http 请求的请求行,请求头和请求体。
通过 request 获得请求行,获得客户端的请求方式:String getMethod()
获得请求的资源:String getRequestURI(),StringBuffer getRequestURL(),String getContextPath(),String getQueryString(),request.getRemoteAddr()
通过 request 获得请求头,long getDateHeader(String name),String getHeader(String name),Enumeration getHeaderNames(),Enumeration getHeaders(String name),int getIntHeader(String name),这里只展示最常用的两种方法~
通过 request 获得请求体,请求体中的内容是通过 post 提交的请求参数,通过一下方法获得请求参数:String getParameter(String name),String[] getParameterValues(String name),Enumeration getParameterNames(),Map<String,String[]> getParameterMap()
注意:get 请求方式的请求参数 上述的方法一样可以获得