电子公文传输系统——个人贡献

发布时间 2023-12-17 20:29:49作者: 尹子扬

一、个人工作简述

(一)在网上检索资料

现在网上有许多java-web工程的框架,我们可以在此基础上实现电子公文传输的相关功能,这样会比较好上手一些。所以首先是要搜集资料,在自己的idea里面进行调通。
另外我们借鉴别人的项目,最基本的还是要对整个项目体系有清晰的认识:


要明白每个项目文件夹都表示什么含义,都是什么类型的文件才能进行下一步

(二)学习java接口

首先要知道什么是接口

接口(Interface)是一种定义了类或对象应该遵循的合约或契约。它规定了一个类或对象应该提供哪些方法、属性和事件,以及这些方法、属性和事件的参数类型、返回类型和行为。

接口定义了一个类或对象与外部世界之间的交互方式,它描述了类或对象的公共行为。通过实现接口,一个类可以表明它拥有一组特定的方法和属性,并保证在使用该类或对象时能够按照接口要求进行操作。

接口通常只定义方法、属性和事件的签名,而不包含具体的实现。具体的类实现接口时,必须提供这些方法、属性和事件的具体实现。

接口在程序设计中的作用包括:

  • 实现多态性:通过接口,不同的类可以实现相同的接口并提供不同的实现逻辑,从而实现多态性。
  • 降低耦合度:通过接口,类之间的依赖关系变得松散,减少了类之间的耦合度。这样可以更容易地对系统进行扩展和修改,提高代码的可维护性。
  • 模块化开发:接口可以帮助团队协同开发,不同的成员可以在不同的模块中开发实现接口的类,通过接口进行集成和测试。
    规范约束:接口提供了一种规范的方式来定义类或对象的行为,使得程序员更容易理解和使用代码。
    总而言之,接口在程序设计中起到了定义合约、实现多态性、降低耦合度和模块化开发的作用,有助于构建灵活、可扩展和可维护的软件系统。

接口的用法

定义与实现

点击查看代码

public interface Test{
   public static final int num; //成员常量具有固定的修饰符:public static final
   public abstract void method; //成员函数具有固定的修饰符:public abstract 
}

public class Testimpl implements Test{
// 实现接口中的所有方法
    .....
}

接口的特性

接口不是类,尤其不用使用new运算符实例一个接口。
不能构造接口的对象,却能声明接口的变量。(出现在回调设计模式中,体现了Java的多态特性)

点击查看代码

/*
*功能:到达指定的时间发出通告
*/
public interface ActionListener{
    void actionPerformed(ActionEvent event);
}

class TimePrinter implements ActionListener{
     //此处ActionEvent参数提供了事件的相关信息
     public void actionPerformed(ActionEvent event){
         Date now = new Data();
         System.out.println("At the tone, the time is" + now);
         Toolkit.getDefaultToolkit().beep();
     }
}
//然后构造这个类的一个对象,并将它传递给Timer构造器。
ActionListener listener = new TimePrinter();
Timer t = new Timer(10000, listener);

接口中不能包含实例域或静态方法。
接口与接口之间可以是继承关系,而且可以实现多继承。

点击查看代码
public interface Moveable{
    void move(double x, double y);
}

public interface Powered extends Moveable{
    double milesPerGallon();
}

(四)学习数据库相关知识,学习mysql以及Navicat、tomcat的使用方法
MySQL和Navicat基本使用
MySQL简介:
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理

数据库分为三级关系:
数据库服务器、数据库、数据表

安装mysql

点击查看代码
sudo apt install mysql-server

输入su root提权,再输入mysql就可以进入数据库了

创建用户

点击查看代码
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

将"username"替换为你想要创建的用户名,将"password"替换为你想要设置的密码。如果你希望允许用户通过远程连接访问数据库,你可以将'localhost'替换为相应的IP地址或主机名。(此处localhost必须要是主机的ip地址才可以,不然主机无法访问数据库)
输入FLUSH PRIVILEGES;刷新权限使更改生效。

tomcat选用版本10.1.17,下载地址为

https://tomcat.apache.org/

navicat下载最新版即可(试用14天不用注册,到期可以用脚本文件刷新)下载地址为

http://3.sylqkji.cn/np/

(五)促进组内学习,解决其它同学所遇到的问题
首先大家需要在自己的电脑上调通代码,并且为了不出现兼容性问题,大家要统一jdk、tomcat等的版本。同时我积极解决大家的问题,比如一些关于idea调试和设置的问题,tomcat配置问题,每个人mysql连接性问题等等

二、你们小组总共的代码行数,你贡献的代码行数?相关代码链接?
个人贡献代码数为2000行左右,以下为项目代码。
其中我编写了ElectronicDocumentSystemJava\src\main\java\org\electronic\electronicdocumentsystemjava文件夹下的form、handler、interceptor、response、service、util文件以及front\src文件夹里的部分ts文件
具体链接:

点击查看代码
https://github.com/hexaosf/ElectronicDocumentSystemFront
https://github.com/hexaosf/ElectronicDocumentSystemBackend

三、你们小组总共的文档数?你贡献的文档数?相关链接?
我们小组总共的文档数为20.我主要负责了实验报告书和团队展示、需求分析、确定分工、描述设计、项目冲刺五次作业的编写

团队展示:https://www.cnblogs.com/yzy3655921/p/17780680.html
需求分析:https://www.cnblogs.com/yzy3655921/p/17796208.html
确定分工:https://www.cnblogs.com/yzy3655921/p/17810874.html
描述设计:https://www.cnblogs.com/yzy3655921/p/17827574.html
项目冲刺:https://www.cnblogs.com/yzy3655921/p/17909445.html