- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 录功能的实现
第7章 登录功能的实现 本章主要内容 7.1 任务的提出与分解 7.2 验证登录信息(JDBC驱动) 7.3 在会话期间维持用户的登录信息 7.4 公共页面的处理 7.5 在线会员名单的显示 7.6 使用Cookie完成自动登录功能 7.1 任务的提出与分解 登录功能的完成可分解为以下几个子任务: 制作登录信息输入页面 验证用户输入的用户名与密码是否正确 用户登录成功后,在其访问本网站的一次会话期间,维持其已登录的状态 显示当前在线的人员名单 7.2 验证登录信息(JDBC驱动) 验证登录信息是否正确,实际上就是查询用户信息表中是否存在一条记录--其用户名和密码与用户输入的信息相同。 下面将介绍直接通过JDBC驱动访问数据库的方法。 7.2.1 通过JDBC访问数据库 JDBC(Java Database Connectivity)是Sun公司提供的一套访问数据库的标准类或接口。 目前,JDBC通用接口得到了各大数据库厂商的支持,主流的数据库产品如Oracle、Microsoft SQL Server、DBⅡ、Mysql等都实现了这些标准接口,并把这些实现类全部打包成jar文件提供给开发人员使用。我们平常所说的JDBC驱动程序就是指这些jar 文件,它们是实现了JDBC标准接口和类的集合。 7.2.1 通过JDBC访问数据库 下图展示了使用JDBC访问数据库时资源之间的调用关系。 7.2.1 通过JDBC访问数据库 当项目中需要访问数据库时,首先应添加对这些jar文件的引用。 接下来,使用JDBC驱动访问数据库的过程与第6章中使用JDBC-ODBC桥驱动访问数据库的过程基本相同。 下页给出了连接MySql数据库的代码。 7.2.1 通过JDBC访问数据库 7.2.1 通过JDBC访问数据库 当所采用的数据库产品不同时,连接数据库的驱动类全称和URL也不相同。下面给出了几种常用的数据库产品的驱动类名称和连接URL . 连接Microsoft SQL Server2000 String driverClass = com.microsoft.jdbc.sqlserver.SQLServerDriver ; String url= jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名称; 连接Microsoft SQL Server2005 String driverClass =com.microsoft.sqlserver.jdbc.SQLServerDriver; String url=jdbc: sqlserver://localhost:1433;DatabaseName=数据库名称; 7.2.1 通过JDBC访问数据库 连接Oracle String driverClass =oracle.jdbc.driver.OracleDriver; String url=jdbc:oracle:thin:@localhost:1521:实例名; Oracle的默认实例名一般为orcl. 7.2.2 任务实现 这里以访问MySQL数据库为例,实现用户登录信息的验证。 安装完MySQL后,按照第4章中的数据库结构创建3张表,即用户信息表users、主题帖表posts、回复帖表reply,并在每张表中添加数条测试用的记录。 7.2.2 任务实现 在项目中添加对MySQL驱动mysql-connector-java-3.1.12-bin.jar (不同版本时文件名称可能会有不同)的引用。 编写验证登录信息是否正确的页面chkLogin.jsp,代码如下页所示。 7.2.2 任务实现 7.2.3 重点提示 以JDBC方式访问数据库前,应先在项目中添加对相应的数据库驱动文件即jar文件的引用,否则,将产生java.lang.ClassNotFound异常,表示无法加载所需要的类。 对于不同厂商提供的数据库产品,所需注册的驱动类名称和创建数据库连接时的url也不相同。 7.3 在会话期间维持用户的登录信息 当用户通过登录页面登录成功后,用户随后所访问的其它页面都应能得知“该用户已经登录”的这个事实。例如,用户登录后,一般地,网站将会在随后的页面中显示登录用户名,同时,用户还具有发帖等权利。 在第2章我们了解到,HTTP协议是无状态的协议,不具备事务记忆的能力,通过协议本身无法保持客户端前一次请求产生的状态信息。 JSP内置的session(会话)对象就是专门用来保存客户端的会话状态的。 7.3.1 session对象的工作机制 session(会话)对象是JSP的内建对象之一,用于在客户端与服务器的一个会话期间保持客户端
文档评论(0)