目录
一、Servlet域对象
解析:
1、javaWeb中有四大域:
application域:整个项目有效(慎用)
session域:在同一次会话内有效(常用)
request域:在同一次请求内有效(常用)
page域:在同一个页面/Servlet有效:等同于this
2、域对象都有下列方法:
void setAttribute(String name,Object object) 作用:往域中存数据, 如果name不存在,就添加,如果name存在,覆盖object
Object getAttribute(String name) 作用:从域中获取数据, 如果name不存在, 返回null
removeAttribute(String name) 作用:从域中删除数据
Enumeration<String> getAttributeNames() 作用: 获取域中所有的name
3、ServletContext(上下文):与天(tomcat)同寿
3.1、ServletContext 在Tomcat启动的时候创建, 在tomcat关闭的时候销毁, 在整个web项目中只有一个;
3.2、在Web项目任何一个用户任何一个地方都可以访问
3.3、作用: 作为全局共享数据容器
3.4、ServletContext也称为application域
4、域对象作用: 存放数据,取数据, key/value对结构 key: String value:Object
二、request
-
request的概述
解析:
1、Request对象: 请求对象;
2、父接口: ServletRequest
3、Servlet继承HttpServlet, 得到请求对象: 子类对象: HttpServletRequest对象
4、HttpServletRequest 是ServletRequest 子接口
5、下图是一次请求与响应的流程
-
request的方法
解析:
1、获取请求头方法(了解)
String getHeader(String name):获取指定名称的请求头;
Enumeration getHeaderNames():获取所有请求头名称;
int getIntHeader(String name):获取值为int类型的请求头。
2、获取请求参数方法(重点)String getParameter(String name): 获取一个请求参数名对应一个值
第一种情况: 前端传递请求参数名, 并且传递值
结果: 传递值
第二种情况: 前端传递请求参数名,没有传递值 username=&email=111
结果: ""
第三种情况: 前端没有传递请求参数名
结果: null
String[] getParameterValues(String name) :一个请求参数名对应多个值
Map<String,String[]> getParameterMap() :获取所有的请求参数, 得到一个map集合
一般结合第三方jar, 把map转换为java对象
3、域对象功能方法(重点