快捷搜索:  汽车  科技

java如何做一个request对象,Java学习JavaWeb之Request

java如何做一个request对象,Java学习JavaWeb之Request获得客户端的请求方式:2)通过 request 获得请求行在创建 Servlet 时会覆盖 service() 方法,或 doGet()/doPost() 这些方法都有两个参数,一个为代表请求的 request 和代表响应 response。service 方法中的 request 的类型是 ServletRequest,而 doGet/doPost 方法的request 的类型是 HttpServletRequest,HttpServletRequest 是 ServletRequest 的子接口,功能和方法更加强大,今天我们学习HttpServletRequest。因为 request 代表请求,所以我们可以通过该对象分别获得 Http 请求的请求行,请求头和请求体。

我们上次说了Response

今天我们来聊聊它的小伙伴Request

Request

1)HttpServletRequest 概述

在创建 Servlet 时会覆盖 service() 方法,或 doGet()/doPost() 这些方法都有两个参数,一个为代表请求的 request 和代表响应 response。

service 方法中的 request 的类型是 ServletRequest,而 doGet/doPost 方法的request 的类型是 HttpServletRequest,HttpServletRequest 是 ServletRequest 的子接口,功能和方法更加强大,今天我们学习HttpServletRequest。

因为 request 代表请求,所以我们可以通过该对象分别获得 Http 请求的请求行,请求头和请求体。

2)通过 request 获得请求行

获得客户端的请求方式:

String getMethod()

获得请求的资源:

String getRequestURI()

StringBuffer getRequestURL()

String getContextPath()

String getQueryString()

request.getRemoteAddr()

java如何做一个request对象,Java学习JavaWeb之Request(1)

java如何做一个request对象,Java学习JavaWeb之Request(2)

3)通过 request 获得请求头

long getDateHeader(String name)

String getHeader(String name)

Enumeration getHeaderNames()

Enumeration getHeaders(String name)

int getIntHeader(String name)

这里只展示最常用的两种方法~

java如何做一个request对象,Java学习JavaWeb之Request(3)

4)通过 request 获得请求体

请求体中的内容是通过 post 提交的请求参数,通过一下方法获得请求参数:

String getParameter(String name)

String[] getParameterValues(String name)

Enumeration getParameterNames()

Map<String String[]> getParameterMap()

java如何做一个request对象,Java学习JavaWeb之Request(4)

注意:

get 请求方式的请求参数 上述的方法一样可以获得

5)request 的其他功能

request 是一个域对象

request 对象也是一个存储数据的区域对象,所以也具有如下方法:

setAttribute(String name Object o)

getAttribute(String name)

removeAttribute(String name)

request 完成请求转发

获得请求转发器----path 是转发的地址

RequestDispatcher getRequestDispatcher(String path)

通过转发器对象转发

requestDispathcer.forward(ServletRequest request ServletResponse response)

转发就好像我们去找张三借钱,张三没有但是张三去找了别人弄到了钱。来借给我们,我们只知道我们是从张三哪里借到了钱,其他的就不晓得了。

java如何做一个request对象,Java学习JavaWeb之Request(5)

页面的请求路径还是在servlet1并没有改变~

转发与重定向的区别?

1)重定向两次请求,转发一次请求

2)重定向地址栏的地址变化,转发地址不变

3)重新定向可以访问外部网站,转发只能访问内部资源

4)转发的性能要优于重定向

那么今天就到这里了

小伙伴们再见了

java如何做一个request对象,Java学习JavaWeb之Request(6)

我是萌新娜娜

立志做一个不翻车的老司机

学习Java的路上请多多指教

大家如果想要更深入了解java相关知识,私信我回复:【Java】 即可知道你们想要知道的java相关问题

猜您喜欢: