更新时间:2022-12-27 11:59:30 来源:极悦 浏览1791次
Java作用域分为public,protected,friendly,private.
首先按照作用Java作用域范围来算:是PageContext(jsp页面)
若在不同作用域有相同名称的对象,则系统的查找顺序为page->request->session->application
application作用域:所有作用域中范围最大的域,由于所有servlet共享一个servletcontext对象,所有多个servlet通过servletcontext可以实现数据在不同servlet之间的共享,是一个全局变量
httpsession作用域:范围第二大的域,(会话范围)在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session。如果没有,就在内存中创建一个session并返回。当一短时间内(默认30分钟)session没有被使用,则服务器会销毁该session。若服务器非正常关闭,未到期的session也会跟着销毁。若调用session提供的invalidate()方法,可以立即销毁session。
servletRequest作用域:范围第三大的域,在整个请求链中共享数据,最长用于在servlet中处理好的数据交给jsp显示,此时参数就可以放置在servletRequest域中带过去
PageContext作用域:范围最小的一个域,可以获取其他八大内置对象,可以认为是一个入口对象,能够获取其他所有域中的数据。能跳转到其他资源,其身上提供forward和sendRedirect方法,简化了转发和重定向的操作,代表页面上下文,该对象主要用于访问jsp之间的共享数据,当对jsp的请求时开始,当响应结束时销毁
作用域与可见性 | 当前类 | 同一package | 子类 | 其他package |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default(friendly) | √ | √ | × | × |
private | √ | × | × | × |
public关键字在所有的包、类中都可以访问
protected关键字仅在同包或者其子类中可以访问
default关键字仅在同一包中可以访问
private关键字仅在当前类中可以访问
以上就是关于“Java四大作用域”的介绍,大家如果想了解给更多相关知识,不妨来关注一下本站的Java视频教程,里面的课程内容从入门到精通,细致全面,通俗易懂,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习