request

发布时间 2023-05-23 18:10:00作者: 宁宝儿

请求行
请求方式 请求的资源 协议/版本
获取请求的方式
String getMethod():
获取项目动态路径
String getContextPath():

String getRemoteAddr()

String getQueryString():获取的get请求参数 username=tom&password=123

String getProtocol():获取协议和版本


请求头
key/value(value可以是多个值)

获取的一个请求头
String getHeader(String name)

获取的一个所有的请求头
Enumeration getHeaderNames()


请求体(操作请求参数get或者post)


获取的单值的请求参数
String getParameter(String name)
获取的指定请求参数(多值)
String[] getParameterValues(String name
:获取的所有的参数名称和值
Map<String,String[]> getParameterMap()

应用场景 :
1.服务器中同一请求不同页面之间的数据传递
2.表单控件的值传递


请求的中文乱码:

post 或则get请求
request.setCharacterEncoding("utf-8")


请求转发:
request.getRequestDispatcher("/内部路径").forward(request,response);

作用:
两个资源可以在同一次请求之间,进行资源共享

请求转发和重定向的区别:

重定向发送两次请求 请求转发发送一次请求

重定向地址栏变化 请求转发地址栏不变

重定向是响应发起的 请求转发是请求发起

重定向路径不带协议和主机的绝对路径 请求转发是内部路径

重定向不能使用request的属性操作 请求转发可以使用request属性操作

request域对象:
1.上下文管理者 就是域对象 整个项目都有效
2.requset 请求来 生成响应信息就销毁了

 

创建:请求来的时候
销毁:生成响应的时候
作用范围 : 一次请求中有效 ServletContext : 上下文 : 范围 : 整个项目有效

域对象:在一个访问内有效,并且域对象都有xxxAttribute()方法