JSP访问控制与作用域通信对象解析

需积分: 0 1 下载量 145 浏览量 更新于2024-08-18 收藏 2.11MB PPT 举报
"第六章 JSP理论 - 增加访问控制" 在JSP中,增加访问控制是为了确保只有经过身份验证的用户才能访问特定的网页或功能。本章主要涉及了如何在《小型电影DVD在线销售系统》中实现这一功能。首先,我们需要在数据库中创建一个名为`users`的表,用于存储用户名和密码。接着,创建一个数据库访问类,如`UsersDAO`,并添加`doLogin`方法来执行登录验证。 登录过程通常包括以下步骤: 1. 创建登录页面(login.jsp),用户在此输入用户名和密码。 2. 创建登录处理页面(doLogin.jsp),该页面负责接收登录请求,执行验证操作。 在登录处理页面的代码片段中,我们看到以下关键部分: ```jsp <% // 进行登录验证 Users loginedUser = null; UsersDAO usersDAO = new UsersDAOImpl(); loginedUser = usersDAO.doLogin(userName, passWord); if(loginedUser != null) { // 如果是已注册用户 // 在会话中存放已登录用户信息 session.setAttribute("LOGINED_USER", loginedUser); // 重定向到后台管理首页 response.sendRedirect(path + "/admin/admin.jsp"); } else { // 重定向回后台管理登录页面 response.sendRedirect(path + "/admin/login.jsp"); } %> ``` 这里,`session.setAttribute()` 方法用于在会话(session)作用域中存储登录成功的用户信息,以便后续页面能识别已登录的用户。如果验证失败,用户会被重定向回登录页面。 JSP隐式对象在实现这些功能中扮演着重要角色。其中,作用域通信对象包括 `pageContext`、`request`、`session` 和 `application`。这些对象提供了在不同范围存储和检索数据的能力。 - `pageContext` 对象提供对整个JSP页面的访问,包括其他隐式对象和属性。 - `request` 对象代表客户端的一次请求,它的作用域仅限于当前请求的页面及通过`forward`方法跳转的页面,不适用于`redirect`。 - `session` 对象代表用户的会话,它在用户浏览器打开直到会话过期或被显式销毁之前都有效,适合存储用户登录状态等信息。 - `application` 对象在整个Web应用中都有效,可用于存储全局信息,如访问统计。 本章还提到了其他功能,如增加已访问人数统计,这通常可以通过 `application` 对象来实现,因为需要在整个应用范围内跟踪数据。同时,学习了如何使用超链接传递参数以及根据电影分类浏览电影列表。 通过学习本章,开发者应能掌握如何使用JSP作用域通信对象,特别是 `session` 对象来实现访问控制,以及如何利用 `application` 对象进行访问人数统计。预习检查部分强调理解作用域的概念、各个作用域对象的区别,以及会话管理和访问控制的原理。