java开发——servlet作用域

来源:互联网 发布:linux gcc 版本 编辑:程序博客网 时间:2024/06/15 08:40

作用域——请求域(httpservletrequest request)

作用范围:只在一次请求中有效

方法:
void setAttribute(arg0, arg1)
object getattribute(String name)
void removesttribute(String name)
Enumeration getattributeName()返回

作用域——会话域(session)

作用范围:该次会话期间一直有效(默认30分钟)<session-config><session-timeout>30</session-timeout></session-config>

获得session:httpsession  session'=request.getsession();

在jsp界面中可以直接用session

会话:一个浏览器和服务器之间发生的一系列的请求和响应的过程
sessionid(标识同一个会话的请求)

session对象(保存该会话的状态请求)


session无效:

session.invalidate()执行后,session无效

session的最大等待时间到后,session无效

关闭浏览器、服务器后session无效

只要浏览器和服务器没有配对sessionid就表示session无效




浏览器与服务器:


浏览器发送一次请求到服务器,服务器首先判断,该请求是否携带一个SessionID值
如果这次请求没有携带一个SessionID值,服务器就知道了,这是第一次来访问该服务器
浏览器与该服务器开始建立会话
服务器会在相应请求的同时,将产生一个SessionID,作为该次会话的标识
再把这个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在配置文件中的名字

getServletContext()

enumeration  getInitParameterNames()返回所以参数的名字的一个枚举


javax.servlet.servletcontext接口

一个web应用程序中所有的servlet都要共享同一个servletcontext对象,所以该对象被称之为application对象

获得servletcontext对象:servletcontext application=this.getservletcontext();

void setAttribute(String name,Object obj)

Object  getAttribute(String name)


原创粉丝点击