回顾
Servlet中的“属性”是保存在容器侧的一段信息,它以Map的数据结构方式保存在内存中。根据作用域分成request级、session级、context级。Request级在应答完成后由容器自动删除,session级属性在同一会话都可见,而context级对于同一站点下的会话都可以操作。Session级属性通过手删除或会话超时也会给容器删除,context级手工删除或容器关闭释放。为了保证属性不要过多占用Web服务器内存,session级和context级用完后尽快手工释放内存,故使用频率request级->session级->context级。
属性操作
无论何种作用域的属性统一采用setAttribute()方法设定属性,getAttribute()取得属性,removeAttribute()删除属性。
设定
setAttribute()带二个参数,第一个参数为String类型,第二个为属性值为Object
取得
getAttribute()根据key来删除属性,key为String类型,返回Object类型
。
删除
removeAttribute()带一个参数为属性的key,其类型为String
小结
利用属性可以实现Servlet与Servlet、Servlet与Jsp、Jsp与Jsp之间的数据传递。在后继的JSP学习也会涉及属性的操作,而且JSP的属性作用域比Servlet还多个page级,由此可见属性在Web开发中的重要性。
今天就讲到这边,有任何问题欢迎联系小傅老师。