作用域--请求域
作用范围:只在一次请求中有效
四个方法:
void setAttribute(String name,OBject obj)
Object getAttribute(String name)
void removeAttribute(String name)
Enumeration getAttributeNames():返回request域中所有属性名的枚举


Jsp页面实际上是Servlet
Jsp页面可以写Java代码:
用SessionID来标识一个会话的请求
用session对象来保存该会话的状态信息


服务器决定与某个客户端开启一个会话,创建一个Session对象
通过Cookie或者URL参加形式将SessionID传给客户端
如果客户端在一定时间内没有操作,服务器会自动终止会话,即删除Session对象
作用范围:该次会话期间一直有效


使Session无效的方法:
1.session.invalidate()执行后,session无效
2.session的最大等待时间到后,session无效
3.关闭浏览器后,session无效
4.关闭服务器后,session无效
只要浏览器和服务器没有配对的SessionID就表示session无效
再把这个SessionID发给浏览器,浏览器就拥有一个SessionID了
当再次访问该服务器时,浏览器会携带那个SessionID,被传到服务器
服务器首先判断该请求是否携带一个SessionID值,此时有了,代表着不是一个新的会话请求
如果浏览器两个请求之间时间太长,超出服务器等待的时间,服务器会删除这个Session对象
删除后,再次发送到该服务器,因为服务器里没有这个session对象了,就不能判断请求是否携带SessionID值
就是说判断不出来,就认为这是一个新的会话开始,又会产生一个SessionID,作为一次新会话的标识
又把这个SessionID发给浏览器就拥有一个新的SessionID了
在会话开始时,服务器会自动(Session对象),SessionID就在session对象里


javax.servlet.ServletConfig接口
一般用于处理该Servlet在配置文件中初始化参数
获得ServletConfig对象的代码:
ServletConfig config=this.getServletConfig();
常用方法:
getInitParameter(String name):返回名字为name的参数的值
String getServletName():返回该Servlet在配置文件中的名字
Enumeration getInitParameterNames():返回所有参数的名字的一个枚举
getServletVontext()


javax.servlet.ServletContext接口
一个Web应用程序中所有的Servlet都共享同一个ServletCobtext对象,所以该对象被称之为application对象
getRealPath(String str):用于获取文件本地绝对路径(可以先获取一个XML文件路径 再去读)
getRequestDispatcher(String str):用于资源转向和资源包含
getResoursePaths(String str):用于得到目录下所以子目录和文件的路径名称
void setAttribute(String name,Object obj)
Object getAttribute(String name)
void removeAttribute(String name)
Enumeration getAttributeNames():返回application域中所有属性名的枚举