JSP应用开发与实践 教学课件 ppt 作者 刘乃琦 王冲 第14章 综合案例——九宫格日记网

上传人:E**** 文档编号:89400220 上传时间:2019-05-24 格式:PPT 页数:106 大小:5.38MB
返回 下载 相关 举报
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第14章  综合案例——九宫格日记网_第1页
第1页 / 共106页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第14章  综合案例——九宫格日记网_第2页
第2页 / 共106页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第14章  综合案例——九宫格日记网_第3页
第3页 / 共106页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第14章  综合案例——九宫格日记网_第4页
第4页 / 共106页
JSP应用开发与实践 教学课件 ppt 作者  刘乃琦 王冲 第14章  综合案例——九宫格日记网_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《JSP应用开发与实践 教学课件 ppt 作者 刘乃琦 王冲 第14章 综合案例——九宫格日记网》由会员分享,可在线阅读,更多相关《JSP应用开发与实践 教学课件 ppt 作者 刘乃琦 王冲 第14章 综合案例——九宫格日记网(106页珍藏版)》请在金锄头文库上搜索。

1、,本章要求:,第14章 综合案例九宫格日记网,九宫格日记网的基本开发流程 九宫格日记网的功能结构及系统流程 九宫格日记网的数据库设计 编写数据库连接及操作的类 配置解决中文乱码的过滤器 九宫格日记网主界面的实现 显示九宫格日记列表模块的实现 写九宫格日记模块的实现 九宫格日记网的编译与发布,主要内容,1. 需求分析 2. 总体设计 3. 数据库设计 4. 公共模块设计 5. 网站主要模块开发 6. 网站编译与发布,第14章 综合案例九宫格日记网,14.1 需求分析,随着工作和生活节奏的不断加快,属于自己的私人时间也越来越少,日记这种传统的倾诉方式也逐渐被人们所淡忘,取而代之的是各种各样的网络日

2、志。不过,最近网络中又出现了一种全新的日记方式,九宫格日记,它由九个方方正正的格子组成,让用户可以像做填空题那样对号入座,填写相应的内容,从而完成一篇日记,整个过程不过几分钟。九宫格日记因其便捷、省时等优点在网上迅速风行开来,倍受学生、年轻上班族青睐。 通过实际调查,要求九宫格日记网具有以下功能: 为了更好的体现九宫格日记的特点,需要以图片的形式保存每篇日记,并且日记的内容写在九宫格中。 为了便于浏览,默认情况下,只显示日记的缩略图。 对于每篇日记需要提供查看原图、左转和右转功能。 需要提供分页浏览日记列表功能。 写日记时,需要提供预览功能。 在保存日记时,需要生成日记图片和对应的缩略图。,1

3、4.2.1 系统目标 14.2.2 构建开发环境 14.2.3 网站功能结构 14.2.4 系统流程图,14.2 总体设计,根据需求分析的描述及与用户的沟通,现制定网站实现目标如下: 界面友好、美观。 日记内容灵活多变,即可以做选择题,也可以做填空题。 采用Ajax实现无刷新数据验证。 网站运行稳定可靠。 具有多浏览器兼容性,即要保证在IE 9下正常运行,又要保证在火狐浏览器下正常运行。,14.2.1 系统目标,1网站开发环境 开发工具:Eclipse IDE for Java EE。 开发技术:JSP+Ajax+HTML 5+JavaScript。 后台数据库:MySQL。 开发平台:Win

4、dows XP(SP2)/Windows Server 2003(SP2)/Windows 7。 Java开发包:Java SE Development KET(JDK) version 7 Update 3。 2服务器端 操作系统:Windows XP(SP2)/Windows Server 2003(SP2)/Windows 7。 Web服务器:Tomcat 7.0.27。 数据库服务器:MySQL。 3客户端 浏览器:IE 9.0以上版本、Firefox等。 分辨率:最佳效果16801050像素。,14.2.2 构建开发环境,根据九宫格日记网的特点,可以将其分为用户模块、显示九宫格日记列

5、表和写九宫格日记3个部分设计。下面分别进行介绍。 显示九宫格日记列表模块 显示九宫格日记列表主要用于分页显示全部九宫格日记、分页显示我的日记、展开和收缩日记图片、显示日记原图、对日记图片进行左转和右转以及删除自己的日记等。 写九宫格日记模块 写九宫格日记主要用于填写日记信息、预览生成的日记图片和保存日记图片。其中,在填写日记信息时,允许用户选择并预览自己喜欢的模板,以及选择预置日记内容等。 用户模块 用户模块又需要包括用户注册、用户登录、退出登录和找回密码等4个子功能。其中,用户注册主要用于新用户注册。在进行用户注册;用户登录主要用于用户登录网站,登录后的用户可以查看自己的日记、删除自己的日记

6、以及写九宫格日记等;退出登录主要用于登录用户退出当前登录状态;找回密码主要用于当用户忘记密码时,根据密码提示问题和答案找回密码。,14.2.3 网站功能结构,根据以上说明,我们可以得出如图14-1所示的九宫格日记网的功能结构图。 图14-1 九宫格日记网的功能结构图 说明: 在图14-1中,用虚线框起来的部分为只有用户登录后,才可以有的功能。,九宫格日记网的系统流程如图14-2所示。 图14-2 九宫格日记网的系统流程图,14.2.4 系统流程图,14.3 数据库设计,14.3.1 数据库概要说明 14.3.2 数据库实体图 14.3.3 数据表结构,从读者角度出发,为了使读者对本网站数据库中

7、的数据表有更清晰的认识,笔者在此设计了数据表树形结构图,如图14-3所示,其中包含了对系统中所有数据表的相关描述。 图14-3 清爽夏日九宫格日记网的数据库,14.3.1数据库概要说明,根据对网站所做的需求分析、流程设计及系统功能结构的确定,规划出满足用户需求的各种实体及它们之间的关系,本网站规划出的数据库实体对象只有两个,分别为用户实体和日记实体。 用户实体包括用户编号、用户名、密码、E-mail、密码提示问题、提示问题答案和所在地等属性。用户实体的实体图如图14-4所示。 图14-4 用户信息实体图,14.3.2 数据库实体图,日记实体包括日记编号、标题、日记保存的地址、写日记的时间和用户

8、ID等属性。日记实体的实体图如图14-5所示。 图14-5 日记信息实体图,在设计完数据库实体E-R图之后,根据相应的实体E-R图设计数据表,下面分别介绍本网站中的用到的两张数据表的数据结构和用途。 tb_user(用户信息表) 用户信息表主要用于存储用户的注册信息。该数据表的结构如表14-1所示。 表14-1 tb_user表,14.3.3 数据表结构,tb_diary(日记表) 日记表主要用于存储日记的相关信息。该数据表的结构如图14-2所示。 表14-2 tb_diary表,14.4 公共模块设计,14.4.1 编写数据库连接及操作的类 14.4.2 编写保存分页代码的JavaBean

9、14.4.3 配置解决中文乱码的过滤器 14.4.4 编写实体类,数据库连接及操作类通常包括连接数据库的方法getConnection()、执行查询语句的方法execute- Query()、执行更新操作的方法executeUpdate()、关闭数据库连接的方法close()。下面将详细介绍如何编写清爽夏日九宫格日记网的数据库连接及操作的类ConnDB。 (1)指定类ConnDB保存的包,并导入所需的类包,本例将其保存到com.wgh.tools包中,代码如下: package com.wgh.tools; /将该类保存到com.wgh.tools包中 import java.io.Input

10、Stream; /导入java.io.InputStream类 import java.sql.*; /导入java.sql包中的所有类 import java.util.Properties; /导入java.util.Properties类 注意: 包语句以关键字package后面紧跟一个包名称,然后以分号“;”结束;包语句必须出现在import语句之前;一个.java文件只能有一个包语句。,14.4.1 编写数据库连接及操作的类,(2)定义ConnDB类,并定义该类中所需的全局变量及构造方法,代码如下: public class ConnDB public Connection conn

11、 = null; / 声明Connection对象的实例 public Statement stmt = null; / 声明Statement对象的实例 public ResultSet rs = null; / 声明ResultSet对象的实例 private static String propFileName = “connDB.properties“;/ 指定资源文件保存的位置 private static Properties prop=new Properties();/创建并实例化Properties对象的实例 / 定义保存数据库驱动的变量 private static Str

12、ing dbClassName = “com.mysql.jdbc.Driver“; private static String dbUrl = “jdbc:mysql:/127.0.0.1:3306/db_9griddiary? user=root / 输出异常信息,(3)为了方便程序移植,这里将数据库连接所需信息保存到properties文件中,并将该文件保存在com.wgh.tools包中。connDB.properties文件的内容如下: DB_CLASS_NAME=com.mysql.jdbc.Driver DB_URL=jdbc:mysql:/127.0.0.1:3306/db_9

13、griddiary?user=root 最后通过Properties对象的getProperty方法读取properties文件中的数据。,(4)创建连接数据库的方法getConnection(),该方法返回Connection对象的一个实例。getConnection()方法的代码如下: /* * 功能:获取连接的语句 * * return */ public static Connection getConnection() Connection conn = null; try / 连接数据库时可能发生异常因此需要捕捉该异常 Class.forName(dbClassName).newI

14、nstance(); / 装载数据库驱动 / 建立与数据库URL中定义的数据库的连接 conn = DriverManager.getConnection(dbUrl); catch (Exception ee) ee.printStackTrace(); / 输出异常信息 if (conn = null) System.err.println(“警告: DbConnectionManager.getConnection() 获得数据库链接失败.rn链接类型:“+ dbClassName + “rn链接位置:“ + dbUrl); / 在控制台上输出提示信息 return conn; / 返回

15、数据库连接对象 ,(5)创建执行查询语句的方法executeQuery,返回值为ResultSet结果集。executeQuery方法的代码如下: /* * 功能:执行查询语句 */ public ResultSet executeQuery(String sql) try / 捕捉异常 / 调用getConnection()方法构造Connection对象的一个实例conn conn = getConnection(); stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_O

16、NLY); rs = stmt.executeQuery(sql); catch (SQLException ex) System.err.println(ex.getMessage(); / 输出异常信息 return rs; / 返回结果集对象 ,(6)创建执行更新操作的方法executeUpdate(),返回值为int型的整数,代表更新的行数。executeQuery()方法的代码如下: /* * 功能:执行更新操作 */ public int executeUpdate(String sql) int result = 0; / 定义保存返回值的变量 try / 捕捉异常 / 调用getConnection()方法构造Connecti

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号