目录

  • 1 阶段1模块一Java Web编程准备
    • 1.1 学习导航
    • 1.2 任务一进行系统需求分析与总体设计
    • 1.3 任务二搭建开发环境
    • 1.4 任务三制作静态页面
    • 1.5 任务四部署并运行第一个JSP文件
    • 1.6 模块一课件
    • 1.7 模块一习题
  • 2 阶段1模块二Java Web编程入门
    • 2.1 学习导航
    • 2.2 任务一认识JSP页面组成元素
    • 2.3 任务二认识JSP的内置对象
    • 2.4 任务三使用out对象输出信息
    • 2.5 任务四获取客户端请求数据
    • 2.6 任务五实现页面跳转
    • 2.7 任务六实现访问控制
    • 2.8 任务七制作网页计数器
    • 2.9 模块二 课件
    • 2.10 模块二习题
  • 3 阶段1模块三JavaWeb数据库编程
    • 3.1 学习导航
    • 3.2 任务一使用MySQL
    • 3.3 任务二使用SQL操作数据
    • 3.4 任务三认识连接数据库的步骤
    • 3.5 任务四使用Statement处理数据
    • 3.6 任务五使用PreparedStatement处理数据
    • 3.7 模块三课件
    • 3.8 模块三习题
  • 4 阶段1模块四JavaWeb基础阶段实训
    • 4.1 课件
    • 4.2 IT新闻资讯系统
  • 5 阶段2模块五Java Web应用优化
    • 5.1 学习导航
    • 5.2 任务一认识软件设计分层架构
    • 5.3 任务二使用分层架构实现管理员登录
    • 5.4 模块五课件
    • 5.5 模块五习题
  • 6 阶段2模块六Java Web开发业务应用
    • 6.1 学习导航
    • 6.2 任务一实现页面的分页显示
    • 6.3 任务二使用SmartUpload组件实现文件上传下载
    • 6.4 任务三使用图表组件显示动态数据图表
    • 6.5 模块六课件
    • 6.6 模块六习题
  • 7 阶段2模块七Servlet技术基础
    • 7.1 学习导航
    • 7.2 任务一认识Servlet
    • 7.3 任务二创建并运行一个简单的Servlet
    • 7.4 任务三使用Filter解决中文乱码问题
    • 7.5 模块七课件
    • 7.6 模块七习题
  • 8 阶段2模块八MVC开发模式
    • 8.1 学习导航
    • 8.2 任务一认识MVC模式
    • 8.3 任务二使用MVC模式实现用户登录
    • 8.4 模块八课件
    • 8.5 模块八习题
  • 9 阶段2模块九  Java Web进阶阶段实训
    • 9.1 模块九课件
    • 9.2 在线收藏夹
  • 10 阶段3模块十学生会网站项目开发
    • 10.1 模块十课件
  • 11 实训题库
    • 11.1 网络留言板系统1
    • 11.2 网络留言板系统2
    • 11.3 猜数游戏
    • 11.4 学生成绩查询系统
    • 11.5 场馆管理系统
    • 11.6 物资管理系统
    • 11.7 网络书签
    • 11.8 商品库存系统
    • 11.9 火车车次管理系统
    • 11.10 会议室预定系统
    • 11.11 人员档案管理系统
    • 11.12 新闻资讯系统
任务六实现访问控制
  • 1 知识链接
  • 2 任务实现
  • 3 同步实训

【问题引入】

大家可能经常碰到这样的问题,比如我们在使用百度文库时,当想下载某文档时,系统会自动转入登录页面,提示用户登录后才能下载。当然,如果是已登录用户,就不会面临这样的问题了。那么,网络应用系统是如何判断用户是否已经登录过的呢?也就是说,系统如何实现对网站的访问控制呢?

【实现思路】

通常情况下,用户登录后的整个访问过程都会用到用户登录信息,JSPsession对象能在一段时间内保存用户的登录信息,所以通常会在用户登录之后把用户信息保存在session中。而在其他页面中访问session中的用户信息,从而实现访问控制。

【知识链接】

1  访问控制流程

系统进行访问控制有以下两种情形:

   

        HTTP协议是一种无状态的协议,也就是说,它不能有效地记录整个访问过程中的一些状态。JSP提供了一套会话跟踪机制,该机制可以维持每个用户的会话信息,可以为不同的用户保存不同的数据。对Web开发来说,一个会话就是用户通过浏览器与服务器之间进行的一次通话,它包含浏览器与服务器之间的多次请求、响应过程。当浏览器关闭时,相应的用户会话结束。

JSP中,session内置对象用来存储有关用户会话的所有信息,一个用户对应一个session,并且随着用户的离开session中的信息也会消失。访问控制就是使用session对象完成的。

2  使用session对象保存信息

session对象的setAttribute()方法用来保存用户信息,其语法格式为:

session.setAttribute(String key,Objectvalue);

key表示键,value表示值,value必须是一个Object类型,该方法表示以键/值的方式将一个对象的值存放到session中去。

3  使用session对象获取信息

session对象的getAttribute()方法用来获取session对象中存放的对象的值,其语法格式为:

(要强制转换的类型)session.getAttribute(String key);

key表示键,该方法表示以键的方式获取session对象中存放的对象的值,此方法的返回值是一个Object,必须要进行强制类型转换。

4  session中移除指定的对象

对于存储在session会话中的对象,如果想将其从session会话中移除,可以使用session对象的removeAttribute()方法,其格式如下:

session.removeAttribute(Stringkey);

key表示键,该方法表示以键的方式移除session对象中存放的对象,一般用在注销登录功能中。