软件工程homework----九宫格记忆网

1.1开发背景

随着工作和生活节奏的不断加快,属于自己的私人时间越来越少,日记这种传统的倾诉方式也逐渐被人们淡忘,取而代之的是各种各样的网络日志。最近网络中又出现了一种全新的日记方式一九宫格日记,它由9个方方正正的格子组成,让用户可以像做填空题那样对号入座,填写相应的内容,从而完成一篇日记,整个过程不过几分钟,非常适合在快节奏的生活中,留下自己的心灵足迹。
在这里插入图片描述

1.2 需求分析

通过实际调查,要求九宫格日记网具有以下功能:

1.为了更好地体现九宫格日记的特点,需要以图片的形式保存每篇日记,并且日记的内容写在九宫格中。

2.为了便于浏览,默认情况下,只显示日记的缩略图。

3.对于每篇日记需要提供查看原图、左转和右转功能。

4.需要提供分页浏览日记列表功能。

5.写日记时,需要提供预览功能。

6.在保存日记时,需要生成日记图片和对应的缩略图。

1.3 系统设计

1.3.1系统目标

根据需求分析的描述及与用户的沟通,现制定网站实现目标如下:
界面友好、美观。区

2.日记内容灵活多变,既可以做选择题,也可以做填空题。

3.采用Ajax实现无刷新数据验证。

4.网站运行稳定可靠。

5.具有多浏览器兼容性,既要保证在Google Chrome上正常运行,又要保证在IE浏览器上正常运行。

1.3.2功能结构

九宫格记忆网的功能结构如下所示。
在这里插入图片描述

1.3.3功能结构

九宫格记忆网的系统流程如下所示:
在这里插入图片描述

1.3.4开发环境

系统开发环境要求
1.操作系统:Windows 10。
2.JDK环境:Java SE Development Kit(JDK) version 8。
3.开发工具:Eclipse。
4.Web服务器:Tomcat 9.0。
5.开发技术:Java Web + Ajax + jQuery。
6.数据库:MySQL 8.0数据库。

1.3.5系统预览

九宫格记忆网中有多个页面,下面列出网站中几个典型页面的预览。

1.主页面如下

当用户访问九宫格记忆网时,首先进入的是网站的主界面。九宫格记忆网的主界面主要包括以下4部分内容。
1.1 Banner信息栏:主要用于显示网站的Logo。
1.2 导航栏:主要用于显示网站的导航信息及欢迎信息。其中导航目将根据是否登录而显示不同的内容。
1.3主显示区:主要用于分页显示九宫格日记列表。
1.4版权信息栏:主要用于显示版权信息。
在这里插入图片描述
2.登录页面如下:
在这里插入图片描述
3.写日记页面如下,该页面用于填写日记信息,允许用户选择并预览自己喜欢的模板,以及选择预览日记内容等等。
在这里插入图片描述
1.4 数据库设计
1.4.1数据库设计
在这里插入图片描述
1.4.2 tb_user(用户信息表)
在这里插入图片描述
1.4.3 tb_diary(日记表)
在这里插入图片描述
1.4.4 tb_comments(评论记录表)
在这里插入图片描述
1.4.5 tb_likes(点赞记录表)
在这里插入图片描述

1.5部分源码

文件夹组织结构
在这里插入图片描述

数据库连接(ConnDB):
package com.mr.tools;
import java.io.InputStream; //导入java.io.InputStream类
import java.sql.*; //导入java.sql包中的所有类
import java.util.Properties; //导入java.util.Properties类
public class ConnDB {
   
   public Connection conn = 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 String dbClassName = "com.mysql.jdbc.Driver"; // 定义保存数据库驱动的变量
   private static String dbUrl = "jdbc:mysql://localhost:3306/db_9griddiary?user=root&password=123456&useUnicode=true&";
   public ConnDB() {
    // 构造方法
      try {
    // 捕捉异常
         // 将Properties文件读取到InputStream对象中
         InputStream in = getClass().getResourceAsStream(propFileName);
         prop.load(in); // 通过输入流对象加载Properties文件
         dbClassName = prop.getProperty("DB_CLASS_NAME"); // 获取数据库驱动
         // 获取连接的URL
         dbUrl = prop.getProperty("DB_URL", dbUrl);
      } catch (Exception e) {
   
         e.printStackTrace(); // 输出异常信息
      }
   }
   /**
    * 功能:获取连接的语句
    * 
    * @return
    */
   public static Connection getConnection() {
   
      Connection conn = null;
      try {
    // 连接数据库时可能发生异常因此需要捕捉该异常
         Class.forName(dbClassName).newInstance(); 
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值