备忘录系统

目录

一、 系统简介

1.简介

2需求分析

3 编程环境与工具

二、 系统总体设计

1 系统的功能模块图。

2 各功能模块简介

3项目结构 4

三、 主要业务流程

(1)用户及管理员登录流程图

(2)信息添加流程

(3)信息删除流程

四、 数据库的设计

五、 系统功能详细实现及效果图

(1) 首页

(2) 备忘录界面

(3) 备忘录用户界面

(4) 目录表界面

六、 总结

  • 系统简介

1.简介

  1. 概述:

本备忘录系统是一个基于使用 Java Servlet、JSP(Java Server Pages)和 EL(Expression Language)表达式等技术,旨在帮助用户轻松管理个人备忘录和用户信息。该系统包括备忘录表的查看所有备忘录、查看和操作备忘录,以及用户表的查看所有用户和操作。主页面提供登录和注册功能,使用户可以安全地访问和管理他们的备忘录和个人信息。

  1. 功能:

备忘录创建/编辑:用户可以创建、编辑和删除自己的备忘录。

备忘录列表展示:用户可以查看自己创建的所有备忘录。

备忘录搜索:用户可以根据关键词搜索备忘录。

  1. 系统特点:

用户界面简洁直观,易于操作。

基于 Web 应用,无需安装客户端,通过浏览器即可使用。

采用多层架构,提高了系统的可维护性和扩展性。

通过这个备忘录程序,用户可以方便地管理个人备忘录,提高工作和生活效率。同时,该程序也展示了 Java Servlet、JSP 和 EL 表达式等技术在 Web 开发中的应用。

2需求分析

1.系统架构:采用 B/S 架构,基于 JavaWeb 技术实现。

2.数据库设计:使用关系型数据库,如 MySQL 或 Oracle 等。

3.技术框架:Servlet JDBC Java JSP 等。

3 编程环境与工具

根据本系统体系结构特点和使用本系统的用户特点,编程环境与工具的配置如表1-1所示:

表1-1 开发环境

Tab. 1-1 Development environment table

类别

标准配置

开发语言

Java

开发工具

IDEA

开发环境

JDK 8.0

服务器

Tomcat 8.0

数据库

MySql 5.6

  • 系统总体设计

1 系统的功能模块图。

按照系统的分析,本系统采用基于B/S架构的系统,系统分为管理员和普通用户两种身份,其中普通用户可以管理个人用户信息,也可以对数据库进行修改操作;需要先登录,然后才能使用系统的各项功能,会涉及相应的信息。

2 各功能模块简介。

  1. 登录功能:

已注册的用户可以使用他们的用户名和密码登录到系统。

登录成功后,用户将被授权访问他们的备忘录。

  1. 备忘录创建与编辑:

用户可以创建新的备忘录,并填写相关的标题和内容。

用户还可以随时编辑已创建的备忘录,包括修改标题和内容。

  1. 备忘录查找:

用户可以使用关键字搜索来查找他们感兴趣的备忘录。

系统将返回与搜索条件匹配的备忘录列表。

  1. 备忘录删除:

用户可以删除他们不再需要的备忘录。

删除操作会永久删除备忘录,无法恢复。

3项目结构:

  1. 数据库设计

备忘录表

用户表

  1. 代码结构

DBUtil.java

views

login.jsp

register.jsp

  1. 交互

使用JSP页面和EL表达式进行数据展示和操作

通过Servlet实现数据交互

  1. 项目依赖

Java Web框架

JSP、Servlet、EL表达式

数据库:MySQL

前端:HTML、CSS、JavaScript

(1)用户及管理员登录流程图

对于系统的安全性的第一关,就是用户想要进入系统,必须通过登录窗口,输入自己的登录信息才可以进行登录,用户输入的信息准确无误后才可以进入到操作系统界面,进行功能模块的相对应操作,如果用户输入的信息不正确,则窗口出现提示框,用户登录失败,返回到第一步进行重新输入,如图3-1所示。

3-1登录流程图

Figure 3-1 Login Flowchart

(2)信息添加流程

对于系统,需要随时添加所需要的数据信息,对于用户添加信息,需要根据添加界面,根据选框的内容进行填写所要添加的数据信息,信息输入完成后判断数据信息是否符合要求,符合要求则添加完成,用户所添加的信息不符合要求,则需要返回到第一步,重新输入数据信息,再进行判断操作,如图3-2所示。

图3-2信息添加流程图

Figure 3-2 Information is added to the Flowchart

(3)信息删除流程

不管是哪个用户角色进入到不通的系统操作界面,都可以进行不同的信息内容的操作功能,对用系统数据信息的删除,用户一旦将信息删除,那么该删除的数据信息将无法恢复,所以用户在对数据删除事,一定判断删除的内容是否是确定要删除的,确定无误后选择确定删除操作,如图3-3所示。

图3-3信息添加流程图

Figure 3-3 Information Deletion Flowchart

用表格列出表的结构及说明表中主要列的作用。

ID

名称

类型

是否主键

解释

1

admin_id

int

不能

编号

2

admin_name

varchar

不是主键

不能

名称

3

admin_password

varchar

不是主键

不能

密码

4

date

datetime

不是主键

不能

时间

此为用户表,包括账号密码。

ID

名称

类型

是否主键

解释

1

productID

int

不能

编号

2

product_name

varchar

不是主键

不能

名称

3

income_price

double

不是主键

不能

价格

4

providerID

int

不是主键

不能

提供id

5

categoryID

int

不是主键

不能

类别id

6

sales_price

decimal

不是主键

不能

销售价格

7

income_time

datetime

不是主键

不能

时间

此为provider表包括名称价格。

ID

名称

类型

是否主键

解释

1

categoryID

int

不能

编号

2

category_name

varchar

不是主键

不能

名称

3

category_desc

varchar

不是主键

不能

备注

此为备忘录表,包括名称备注。

  1. 首页

这是一个登录界面,它提供了用户登录的功能。通过输入正确的用户名和密码,用户可以成功登录并进入备忘录管理界面。

public interface AdminService {

// 登录

public Admin login(Admin admin);

// 注册

public int register(Admin admin);

}

@Override

public void sessionCreated(HttpSessionEvent event) {

//当会话建立,就代表有用户连接上线

ServletContext sc = event.getSession().getServletContext();

Integer tmp = (Integer)sc.getAttribute("onlineNum");

if(tmp!= null) {

sc.setAttribute("onlineNum", tmp+1);

}else {

sc.setAttribute("onlineNum", 1);

}

System.out.println("用户上线");

}

@Override

public void sessionDestroyed(HttpSessionEvent event) {

ServletContext sc = event.getSession().getServletContext();

Integer tmp = (Integer)sc.getAttribute("onlineNum");

if(tmp != null && tmp > 0) {

sc.setAttribute("onlineNum", tmp- 1);

}

System.out.println("用户下线");

}

}

  1. 备忘录界面

这是备忘录界面布局,包括导航栏、备忘录列表、查找备忘录等部分。用户可以在界面上查看所有备忘录、进行特定查找,还可以对单个备忘录进行查看、编辑、删除和分享等操作。界面提供新建、刷新和设置等功能按钮。整个界面设计简洁直观,方便用户快速查看和操作备忘录。

package com.jie.dao;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.jie.entity.Admin;

public interface AdminDao {

//增

public int insertAdminRegister(Connection conn,Admin admin) throws SQLException;

//查

public ResultSet selectAdminLogin(Connection conn,Admin admin) throws SQLException;

}

public class Admin {
    private Integer admin_id;
    private String admin_name;
    private String admin_password;
    private String date;
    
    public Admin() {
       // TODO Auto-generated constructor stub
    }
    public Admin(String admin_name, String admin_password) {
       super();
       this.admin_name = admin_name;
       this.admin_password = admin_password;
    }
    

    public Admin(Integer admin_id, String admin_name, String admin_password, String date) {
       super();
       this.admin_id = admin_id;
       this.admin_name = admin_name;
       this.admin_password = admin_password;
       this.date = date;
    }
    public Integer getAdmin_id() {
       return admin_id;
    }
    public void setAdmin_id(Integer admin_id) {
       this.admin_id = admin_id;
    }
    public String getAdmin_name() {
       return admin_name;
    }
    public void setAdmin_name(String admin_name) {
       this.admin_name = admin_name;
    }
    public String getAdmin_password() {
       return admin_password;
    }
    public void setAdmin_password(String admin_password) {
       this.admin_password = admin_password;
    }
    public String getDate() {
       return date;
    }
    public void setDate(String date) {
       this.date = date;
    }
    @Override
    public String toString() {
       return "Admin [admin_id=" + admin_id + ", admin_name=" + admin_name + ", admin_password=" + admin_password
             + ", date=" + date + "]";
    }
    
}

  1. 备忘录用户界面

这是备忘录用户界面,用户可以查看所有已注册用户的列表,并进行查看、编辑和删除等操作。在用户详细信息页面,会显示用户的 ID 和名字,方便用户识别和管理。

package com.jie.dao;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.jie.entity.Categorys;

import com.jie.entity.Products;

import com.jie.util.Page;

public interface ProductsDao {

// 增

public int insertProducts(Connection conn, Products products) throws SQLException;

// 删

public int deleteProducts(Connection conn, Products products) throws SQLException;

// 改

public int updateProducts(Connection conn, Products products) throws SQLException;

// 查

public ResultSet selectProducts(Connection conn) throws SQLException;

// 查

public ResultSet selectProductsByPage(Connection conn, Page<Products> page) throws SQLException;

// 搜索

public ResultSet selectProductsByCondition(Connection conn, Page<Products> page , Products p) throws SQLException;

// 查

public int selectProductsTotalRecord(Connection conn) throws SQLException;

public int selectProductsTotalRecordByCondition(Connection conn,Products p) throws SQLException;

//查

public int selectProductsByProvideID(Connection conn , int id) throws SQLException;

//查

public int selectProductsByCategoryID(Connection conn , int id) throws SQLException;

public int selectProductsByProductName(Connection conn , String name) throws SQLException;

public ResultSet selectProductsByID(Connection conn , int id) throws SQLException;

}

  1. 目录表界面

这是一个基于 Java Web 的备忘录管理系统的目录表界面,用户可以在该界面查看和操作所有备忘录。界面以表格形式展示备忘录的标题、创建日期等信息,同时提供编辑、删除和查看详情等操作功能,方便用户对备忘录进行管理。

public int updateData(Connection conn, String sql, Object... object) throws SQLException {

this.conn = conn;

this.ps = conn.prepareStatement(sql);

for (int i = 0; i < object.length; i++) {

ps.setObject(i + 1, object[i]);

}

return ps.executeUpdate();

}

// 通用查

public ResultSet selectData(Connection conn, String sql, Object... object) throws SQLException {

this.conn = conn;

this.ps = conn.prepareStatement(sql);

for (int i = 0; i < object.length; i++) {

ps.setObject(i + 1, object[i]);

}

this.set = ps.executeQuery();

return this.set;

}

public Products(String product_name, Double income_price, Providers provider, Categorys categorys,

Double sales_price, String income_time) {

super();

this.product_name = product_name;

this.income_price = income_price;

this.provider = provider;

this.categorys = categorys;

this.sales_price = sales_price;

this.income_time = income_time;

}

public Products(Integer productID, String product_name, Double income_price, Providers provider, Categorys categorys,

Double sales_price, String income_time) {

super();

this.productID = productID;

this.product_name = product_name;

this.income_price = income_price;

this.provider = provider;

this.categorys = categorys;

this.sales_price = sales_price;

this.income_time = income_time;

}

}

  • 总结归纳:

1. 功能实现:该系统实现了用户注册/登录、备忘录创建/编辑/删除、备忘录分类管理、搜索备忘录等核心功能,满足了用户对备忘录的基本需求。

2. 用户界面:系统拥有一个简洁、易于使用的用户界面,用户可以方便地进行操作。

3. 数据存储:采用数据库来存储备忘录数据,保证了数据的安全性和稳定性。

4. 扩展性:系统具有良好的扩展性,可以根据用户需求进行功能扩展和定制。

该系统还具备其他一些特点,例如用户界面友好、数据存储与管理、权限管理等。确保在不同设备上都能提供良好的用户体验。同时,能够确保用户只能访问其拥有权限的备忘录和用户信息,保障了系统的安全性和隐私保护。系统还提供了备忘录分类管理和搜索功能,帮助用户更好地组织和查找备忘录信息,提升了系统的实用性和用户满意度

  • 不足之处:

1. 移动端支持:目前系统仅支持桌面浏览器访问,缺乏对移动设备的适配,可能导致用户在移动场景下的使用不便。

2. 数据同步:系统没有实现数据的云同步功能,用户只能在本地设备上使用备忘录,如果用户需要在多个设备之间同步备忘录,可能需要手动进行数据备份和恢。

3. 安全性:虽然系统采取了一些基本的安全措施,但在面对高级别的安全威胁时可能存在不足,需要进一步加强安全性方面的措施。

4. 用户体验:在界面设计和交互流程上,可能存在一些可以改进的地方,以提高用户的使用体验。

综上所述,该备忘录管理系统在功能实现和用户界面方面表现良好,但在移动端支持、数据同步、安全性以及用户体验等方面还有待进一步改进和完善。

完整源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/386382.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息安全技术解析

在信息爆炸的今天&#xff0c;信息技术安全已成为社会发展的重要基石。随着网络攻击的日益复杂和隐蔽&#xff0c;保障数据安全、提升防御能力成为信息技术安全领域的核心任务。本文将从加密解密技术、安全行为分析技术和网络安全态势感知技术三个方面进行深入探讨&#xff0c;…

基于Java的微博传播分析系统的设计与实现

1 项目介绍 1.1 摘要 本文致力于展示一项创新的微博传播分析系统设计与应用研究&#xff0c;该系统基于Java技术&#xff0c;巧妙利用大数据环境下的社交媒体——微博的庞大用户群及高度活跃特性&#xff0c;旨在深度探索信息传播的内在逻辑与社会影响机制。研究开篇明确定了…

2024非常全的接口测试面试题及参考答案-软件测试工程师没有碰到算我输!

一、前言 接口测试最近几年被炒的火热了&#xff0c;越来越多的测试同行意识到接口测试的重要性。接口测试为什么会如此重要呢&#xff1f; 主要是平常的功能点点点&#xff0c;大家水平都一样&#xff0c;是个人都能点&#xff0c;面试时候如果问你平常在公司怎么测试的&#…

设计模式 之 —— 单例模式

目录 什么是单例模式&#xff1f; 定义 单例模式的主要特点 单例模式的几种设计模式 1.懒汉式&#xff1a;线程不安全 2.懒汉式&#xff1a;线程安全 3.饿汉式 4.双重校验锁 单例模式的优缺点 优点&#xff1a; 缺点&#xff1a; 适用场景&#xff1a; 什么是单例模…

微前端概念

微前端作用 大型应用程序的拆分独立的前端子应用降低程序复杂性&#xff0c;提高开发效率 微前端能力 js隔离css隔离元素隔离生命周期预加载数据通信应用跳转多层嵌套… 微前端实现方案 IframeSingle-spaQiankunMicro-app Iframe <iframe src"https://www.examp…

684.美的集团六三二项目流程变革框架整体规划方案132页PPT

读者朋友大家好&#xff0c;最近有会员朋友咨询晓雯&#xff0c;关于集团公司流程变革框架整体规划的问题&#xff0c;晓雯查找到一份《美的集团632项目流程变革框架整体规划方案》&#xff0c;下面是部分内容分享&#xff0c;欢迎大家下载学习。 知识星球APP搜索【战略咨询文…

基于CentOS Stream 9平台安装JDK17.0.12

官方&#xff1a; https://www.oracle.com/java/technologies/downloads/#java17 1. 下载&#xff1a; https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 2. 存放目录 mkdir /usr/local/javacd /usr/local/java3. 解压 tar -zxvf jdk-17_linux-x64_…

JQuery异步请求与Flask后端通信、this和event指针汇总

目录 一.JQuery与Flask通信的三种方法 1.1$.ajax() 1.2$.get() 1.3$.post() 二.forEach()方法 三.this指针 3.1为什么要用this指针 3.2this的指向 3.3this指针的四种绑定方式 3.3.1默认绑定 3.3.2隐式绑定 3.3.3显式绑定 3.3.4new绑定 3.3.5通过标签调用this指针…

【云原生】Kubernetes中crictl的详细用法教程与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Glyph-ByT5-v2多语言高精度文字海报

微软亚洲研究院、清华大学、北京大学、利物浦大学联合推出渲染高视觉美感文本惊艳海报&#xff0c;效果媲美DALL-E3支持10种不同语言的准确视觉文本渲染项目仓库&#xff1a;https://github.com/AIGText/Glyph-ByT5i68爱六八,链接你我他&#xff1a;https://i68.ltd

基于物联网的区块链算力网络,IGP/BGP协议

目录 基于物联网的区块链算力网络 IGP/BGP协议 IGP(内部网关协议) BGP(边界网关协议) 内部使用ISP的外部使用BGP的原因 一、网络规模和复杂性 二、路由协议的特性 三、满足业务需求 四、结论 基于物联网的区块链算力网络 通 过 多个物联网传感器将本地计算…

鸿蒙HarmonyOS开发:@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化

文章目录 一、装饰器二、概述三、限制条件四、装饰器说明五、Toggle组件1、子组件2、接口3、ToggleType枚举4、事件 六、示例演示1、代码2、效果 一、装饰器 State装饰器&#xff1a;组件内状态Prop装饰器&#xff1a;父子单向同步Link装饰器&#xff1a;父子双向同步Provide装…

Windows10安装CMake图文教程

CMake是一个跨平台的开源构建工具&#xff0c;用于管理软件构建过程。CMake允许开发人员使用简单的语法来描述项目的构建过程&#xff0c;而无需直接处理特定于操作系统或编译器的细节。开发人员可以编写CMakeLists.txt文件来指定项目的源文件、依赖项和构建规则&#xff0c;然…

2024杭电多校第三场

目录 1001-深度自同构 1003-游走 1007-单峰数列 1008-比特跳跃 1011-抓拍 1012-死亡之组 1001-深度自同构 每个数的答案其实与它的各个因数有关&#xff0c;正向递推一下 #include <bits/stdc.h> using namespace std; #define int long long const int N1e65; co…

计算机毕业设计选题推荐-服装生产管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

超市客流统计,AI智能分析算法,生成精准客户画像

随着科技的进步&#xff0c;零售行业正经历着前所未有的变革。其中&#xff0c;超市作为零售业态的重要组成部分&#xff0c;面临着如何更有效地吸引顾客、提升购物体验、增加销售额等挑战。借助先进的客流统计系统和AI智能分析算法&#xff0c;超市不仅能够准确地统计客流量&a…

共建数智江城:生态沃土如何孕育技术普惠的硕果

当人们热议一线、新一线等城市综合竞争力时&#xff0c;数字经济早已成为城市之间竞争的新赛道。 作为国家首批智慧城市建设试点城市&#xff0c;武汉一直是数字经济发展的先锋。2023年&#xff0c;武汉建成数字经济产业园区30家&#xff0c;数字经济规模占地区生产总值比重达4…

一篇文章教你学会二叉树的链表实现及其oj题(附源码)

前言 前面我们通过堆实现了二叉树&#xff0c;接下来我们用链表实现二叉树。 1. 实现链式结构二叉树 1.1 结构体定义 二叉树的每个结点需要两个指针&#xff0c;分别指向其左孩子和右孩子。还有一个结点域&#xff0c;存储数据。 还是将数据类型重命名&#xff0c;便于后面…

【JavaEE】通过Linux部署Web项目到云服务器上

一.配置部署所需的环境. 1.1 什么是部署? 要想知道什么是部署, 就要先了解我们在日常开发的过程中所设计到的几种环境: 开发环境: 软件开发环境指的是开发人员在创建、测试和部署软件应用程序时所需的一系列硬件、软件、工具和流程的集合。它是为了支持软件开发过程而构建的…

文件包含漏洞--pyload

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.PHP伪协议利用 php://协议 php://filter &#xff1a;用于在读取作用和写入文件时进行过滤和转换操作。 作用1&#xff1a;利用base64编码过滤器读取源码 通常利用文件包含执行php://filte…