JSP访问控制与作用域对象实战-会话跟踪与安全

需积分: 0 1 下载量 165 浏览量 更新于2024-08-18 收藏 2.11MB PPT 举报
"第六章 JSP作用域通信对象与访问控制" 在JSP开发中,访问控制和数据通信是至关重要的部分。本章主要探讨如何使用JSP隐式对象来实现这些功能,尤其是通过作用域通信对象pageContext、request、session和application。首先,我们回顾一下JSP隐式对象的基本概念。 JSP隐式对象是指在JSP页面中无需显式声明就能直接使用的Java对象。它们简化了开发过程,分为不同类别,包括输入输出对象、作用域通信对象等。例如,要获取用户在文本框中输入的数值,可以使用request对象的getParameter()方法。 本章以《小型电影DVD在线销售系统》为例,展示了如何添加访问控制、已访问人数统计以及按电影分类浏览电影列表的功能。访问控制通常用于确保只有注册用户才能访问特定资源,这可以通过session对象来实现。当用户成功登录后,系统保存其登录信息,然后在后续请求中检查session中是否存在该用户的登录信息,以决定是否允许访问。 会话(session)是用户在一段时间内与网站交互的连续过程,它通过session对象在服务器端保存用户状态信息。例如,当用户登录后,我们可以调用session.setAttribute()方法将用户信息存储在session中,之后在任何页面中都可以通过session.getAttribute()获取这些信息,以判断用户是否已登录。 另一方面,application对象的作用域比session更大,它在整个Web应用程序的生命周期内都有效。用于统计已访问人数,可以在用户首次访问时增加计数,并将计数器保存在application对象中,每次有新访问时更新。这样,即使用户关闭浏览器或结束会话,计数仍然保留。 作用域通信对象的生命周期和可访问范围如下: 1. pageContext:只存在于当前页面,一旦页面处理完毕,所有在pageContext中设置的属性都将消失。 2. request:在一次HTTP请求中有效,可以跨forward操作,但不适用于redirect,因为redirect会启动新的HTTP请求。 3. session:在用户的一次会话期间有效,直到会话过期或被显式销毁。 4. application:在整个Web应用程序的生命周期内有效,适用于全局共享数据。 了解这些作用域和对象的差异,有助于开发者选择合适的方式来管理和传递数据,从而实现各种功能,如访问控制和统计分析。在实际开发中,正确使用这些对象能够提高代码的效率和可维护性。