电子公文传输系统——个人贡献
一、个人工作简述
(一)学习java接口
什么是接口?
-
一个
Java
接口(interface)是一些方法特征的集合,这些方法特征来自于具体方法,这些方法符合它们一般来自于一些在系统中不断出现的方法。一个接口只有方法的特征,而没有方法的实现,因此这些方法在不同的地方被实现时,可以具有完全不同的行为。在Java
语言中,Java
接口还可以定义public
的变量。 -
接口把方法的特征和方法的实现分割开来。这种分割,体现在接口常常代表一个角色(role),它包装与该角色相关的操作和属性,而实现这个接口的类便扮演这个角色的演员(类)。一个角色(接口)可以由不同的演员(类)来演,而不同的演员(类)之间除了扮演一个共同的角色(接口)之外,并不要求有任何其他的共同之处。
接口的用法
定义与实现
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(); }
对于自己在学习接口时所存在的疑惑
接口为何不能用继承代替呢?
回答:
-
Java
中不支持多继承,也就是不能存在一个子类继承多个父类的情况,当然你会问这是为什么呢.因为这会造成子类中某些方法或者变量的不确定性。 -
为了弥补1中采用单继承所带来的不足,
Java
出现了接口这个概念,接口可以很好的避免这个问题的出现。 -
Java
中通过多实现接口的方式去解决类之间无法多继承的问题。
(二)学习前端接口设计
学习前端需要掌握的基础知识有jquery,css。做移动端开发最好掌握CSS3,CSS3的许多新特性会让布局简单很多。Jquery可以不用每个知识点都很熟练,但是最好都了解,用的时候知道有这个东西再进行细致学习会更牢固。必须掌握的几个点:
1.选择器
基础的id样式选择器是必须掌握的,这里不多说。
2.事件绑定
不推荐写法
<button id="foo" onclick="dosomething()">Bar</button>
缺点:这样做的结果就是html前端和js前端的工作混在了一起,原则上HTML代码只能体现网页的结构
建议写法
$(“#foo”).click(function(){});
优点:jQuery是追加绑定的,绑多少执行多少,还解决了IE的不兼容问题。
Jquery中的事件绑定方式有很多 click,live,bind,one,on…,它们之间的区别这里就不多讲了。on方法是官方推荐的绑定事件的一个方法,从性能和试用场景上来说都是很好的。
$(“#foo”).on(“click”,function(){});
高级用法,场景(在多行的表格表格中,动态添加了一行,如果想给新增的这行绑定点击事件)
$(“#table”).on(“click”,”.row”,function(){});
这里在页面初始化的时候可以给表格里面带row样式的行绑定click事件,就算row是新增的,也会添加上该click事件,即事件委托。用C#来解释:发布者会把click事件发布给所有继承row这个类的订阅者身上,即常说的发布-订阅者模式。
3.函数闭包
推荐使用闭包的方式封装函数,避免函数覆盖。
var PublicHandle=(function(){ /*私有变量和函数*/ var _privateVar; var _getName=function(){ }; /*对外提供的接口*/ return{ verifyName:function(){ }, getName:function(){ } } });
掌握的jquery的几个基础知识,结合前端开任务对js会越来越熟练。
(三)学习数据库相关知识,学习mysql以及Navicat的使用方法
MySQL和Navicat基本使用
MySQL简介:
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理
数据库分为三级关系:
数据库服务器、数据库、数据表
MySQL安装:
安装包下载地址:https://dev.mysql.com/downloads/mysql/
解压下载的安装包
在解压后文件的根目录下新建配置文件 my.ini
my.ini:
[mysql] #设置mysql客户端默认字符集 default-character-set = utf8 [mysqld] #设置mysql的安装目录 Basedir = C:\Program Files\mysql-8.0.18-winx64 #设置mysql数据库的数据的存放目录 Datadir = C:\Program Files\mysql-8.0.18-winx64\data #设置允许最大连接数 max_connections = 200 #设置打开表的最大缓存数 table_open_cache = 2000 #设置最大缓存线程数量 thread_cache_size = 10 #设置默认使用端口 port = 3306 #设置服务端使用的字符集 character-set-server = utf8 #设置创建新表时将使用的默认存储引擎 default-storage-engine = INNODB
配置环境变量:
我的电脑 – 属性 – 高级系统设置 – 环境变量 – 系统变量 – path
新建环境变量为mysql安装文件bin的路径
MySQL使用:
1.用管理员身份打开cmd命令行,进入bin目录下执行命令生成数据的存放文件data
2.安装MySQL
mysqld install
3.启动MySQL服务
net start mysql
4.登录mysql
mysql -u用户名 -p密码
5.显示数据库中数据表
show tables
说明:具体MySQL使用命令参照课本第十四章内容。
MySQL图形化处理界面Navicat基本使用
网上可以查到免费版本的Navicat安装
安装完成后,启动MySQL服务,打开Navicat
SQL语句:
SQL即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统
查询数据
1.基本查询
select 字段名1, 字段名2, … from 表名
2.条件来筛选查询
select 字段名1, 字段名2, … from 表名 where 筛选条件
3.模糊查询:
select 字段名1, 字段名2, … from 表名 where 字段名 like 模糊查询条件
4.结果排序查询
select 字段名1, 字段名2, … from 表名 order by 排列顺序
5.限制结果查询:
select 字段名1, 字段名2, … from 表名 limit 起始位置,长度
起始位置为查询结果的索引,从0开始,0代表第一条数据,如果省略,则默认表示从0开始
如果有where和order by,limit放在最后面
6.连接查询:
select * from 表名1 join 表名2 on 连接条件
连接条件一般为:表名1.值1=表名2.值2
可以为字段名和表名定义别名
添加数据
insert into 表名(字段名1, 字段名2, …) values (值1, 值2, …)
或
insert into 表名 set 字段名1=值1, 字段名2=值2, …
字段的顺序要和值的顺序相互对应,如果每个字段都有数据,那么表名后面可以省略字段名,但是values里面值的顺序必须正确,自增长类型的主键,可以使用null来填充,MySQL会自动填充数据
修改数据
update 表名 set 字段名1=值1, 字段名2=值2, … where 修改条件
删除数据
delete from 表名 where 删除条件
二、你们小组总共的代码行数,你贡献的代码行数?相关代码链接?
个人贡献代码数为980行左右,以下为项目代码。
其中,我编写了src文件夹下的com.controller文件中的MenuController.java、UserController.java、SysController.java和WebContent文件夹下的js文件中的main.js、cache.js以及src文件夹下的com.entity文件中的User.java里的代码。
https://gitee.com/two_thousand_and_thirteen/zx-code/tree/master/%E5%85%AC%E6%96%87%E4%BB%A3%E7%A0%81
三、你们小组总共的文档数?你贡献的文档数?相关链接?
我们小组总共的文档数为11.我主要负责了第三篇博客《确定分工》的编写和冲刺博客第三篇《冲刺总结——第三天》