電子公文傳輸系統(tǒng)——個(gè)人貢獻(xiàn)
電子公文傳輸系統(tǒng)——個(gè)人貢獻(xiàn)
一、個(gè)人工作簡(jiǎn)述
(一)在網(wǎng)上檢索資料
現(xiàn)在網(wǎng)上有許多java-web工程的框架,我們可以在此基礎(chǔ)上實(shí)現(xiàn)電子公文傳輸?shù)南嚓P(guān)功能,這樣會(huì)比較好上手一些。所以首先是要搜集資料,在自己的idea里面進(jìn)行調(diào)通。
另外我們借鑒別人的項(xiàng)目,最基本的還是要對(duì)整個(gè)項(xiàng)目體系有清晰的認(rèn)識(shí):


哪些是前端,哪些是后端?怎么分工?首先就要理清各個(gè)項(xiàng)目文件夾的作用。
(二)學(xué)習(xí)java接口
什么是接口?
一個(gè)Java 接口(interface)是一些方法特征的集合,這些方法特征來(lái)自于具體方法,這些方法符合它們一般來(lái)自于一些在系統(tǒng)中不斷出現(xiàn)的方法。一個(gè)接口只有方法的特征,而沒(méi)有方法的實(shí)現(xiàn),因此這些方法在不同的地方被實(shí)現(xiàn)時(shí),可以具有完全不同的行為。在Java語(yǔ)言中,Java接口還可以定義public的變量。
接口把方法的特征和方法的實(shí)現(xiàn)分割開(kāi)來(lái)。這種分割,體現(xiàn)在接口常常代表一個(gè)角色(role),它包裝與該角色相關(guān)的操作和屬性,而實(shí)現(xiàn)這個(gè)接口的類(lèi)便扮演這個(gè)角色的演員(類(lèi))。一個(gè)角色(接口)可以由不同的演員(類(lèi))來(lái)演,而不同的演員(類(lèi))之間除了扮演一個(gè)共同的角色(接口)之外,并不要求有任何其他的共同之處。
接口的用法
定義與實(shí)現(xiàn)
public interface Test{
public static final int num; //成員常量具有固定的修飾符:public static final
public abstract void method; //成員函數(shù)具有固定的修飾符:public abstract
}
public class Testimpl implements Test{
// 實(shí)現(xiàn)接口中的所有方法
.....
}
接口的特性
接口不是類(lèi),尤其不用使用new運(yùn)算符實(shí)例一個(gè)接口。
不能構(gòu)造接口的對(duì)象,卻能聲明接口的變量。(出現(xiàn)在回調(diào)設(shè)計(jì)模式中,體現(xiàn)了Java的多態(tài)特性)
/*
*功能:到達(dá)指定的時(shí)間發(fā)出通告
*/
public interface ActionListener{
void actionPerformed(ActionEvent event);
}
class TimePrinter implements ActionListener{
//此處ActionEvent參數(shù)提供了事件的相關(guān)信息
public void actionPerformed(ActionEvent event){
Date now = new Data();
System.out.println("At the tone, the time is" + now);
Toolkit.getDefaultToolkit().beep();
}
}
//然后構(gòu)造這個(gè)類(lèi)的一個(gè)對(duì)象,并將它傳遞給Timer構(gòu)造器。
ActionListener listener = new TimePrinter();
Timer t = new Timer(10000, listener);
接口中不能包含實(shí)例域或靜態(tài)方法。
接口與接口之間可以是繼承關(guān)系,而且可以實(shí)現(xiàn)多繼承。
public interface Moveable{
void move(double x, double y);
}
public interface Powered extends Moveable{
double milesPerGallon();
}
對(duì)于自己在學(xué)習(xí)接口時(shí)所存在的疑惑
接口為何不能用繼承代替呢?
回答:
Java中不支持多繼承,也就是不能存在一個(gè)子類(lèi)繼承多個(gè)父類(lèi)的情況,當(dāng)然你會(huì)問(wèn)這是為什么呢.因?yàn)檫@會(huì)造成子類(lèi)中某些方法或者變量的不確定性。
為了彌補(bǔ)1中采用單繼承所帶來(lái)的不足,Java出現(xiàn)了接口這個(gè)概念,接口可以很好的避免這個(gè)問(wèn)題的出現(xiàn)。
Java中通過(guò)多實(shí)現(xiàn)接口的方式去解決類(lèi)之間無(wú)法多繼承的問(wèn)題。
(三)學(xué)習(xí)前端接口設(shè)計(jì)
學(xué)習(xí)前端需要掌握的基礎(chǔ)知識(shí)有jquery,css。做移動(dòng)端開(kāi)發(fā)最好掌握CSS3,CSS3的許多新特性會(huì)讓布局簡(jiǎn)單很多。Jquery可以不用每個(gè)知識(shí)點(diǎn)都很熟練,但是最好都了解,用的時(shí)候知道有這個(gè)東西再進(jìn)行細(xì)致學(xué)習(xí)會(huì)更牢固。

必須掌握的幾個(gè)點(diǎn):
1.選擇器
基礎(chǔ)的id樣式選擇器是必須掌握的,這里不多說(shuō)。
2.事件綁定
不推薦寫(xiě)法
<button id="foo" onclick="dosomething()">Bar</button>
缺點(diǎn):這樣做的結(jié)果就是html前端和js前端的工作混在了一起,原則上HTML代碼只能體現(xiàn)網(wǎng)頁(yè)的結(jié)構(gòu)
建議寫(xiě)法
$(“#foo”).click(function(){});
優(yōu)點(diǎn):jQuery是追加綁定的,綁多少執(zhí)行多少,還解決了IE的不兼容問(wèn)題。
Jquery中的事件綁定方式有很多 click,live,bind,one,on…,它們之間的區(qū)別這里就不多講了。on方法是官方推薦的綁定事件的一個(gè)方法,從性能和試用場(chǎng)景上來(lái)說(shuō)都是很好的。
$(“#foo”).on(“click”,function(){});
高級(jí)用法,場(chǎng)景(在多行的表格表格中,動(dòng)態(tài)添加了一行,如果想給新增的這行綁定點(diǎn)擊事件)
$(“#table”).on(“click”,”.row”,function(){});
這里在頁(yè)面初始化的時(shí)候可以給表格里面帶row樣式的行綁定click事件,就算row是新增的,也會(huì)添加上該click事件,即事件委托。用C#來(lái)解釋?zhuān)喊l(fā)布者會(huì)把click事件發(fā)布給所有繼承row這個(gè)類(lèi)的訂閱者身上,即常說(shuō)的發(fā)布-訂閱者模式。
3.函數(shù)閉包
推薦使用閉包的方式封裝函數(shù),避免函數(shù)覆蓋。
var PublicHandle=(function(){
/*私有變量和函數(shù)*/
var _privateVar;
var _getName=function(){
};
/*對(duì)外提供的接口*/
return{
verifyName:function(){
},
getName:function(){
}
}
});
掌握的jquery的幾個(gè)基礎(chǔ)知識(shí),結(jié)合前端開(kāi)任務(wù)對(duì)js會(huì)越來(lái)越熟練。
我們最后結(jié)合jss形成的登錄界面如下:

(四)學(xué)習(xí)數(shù)據(jù)庫(kù)相關(guān)知識(shí),學(xué)習(xí)mysql以及Navicat的使用方法
MySQL和Navicat基本使用
MySQL簡(jiǎn)介:
MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言–結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理
數(shù)據(jù)庫(kù)分為三級(jí)關(guān)系:
數(shù)據(jù)庫(kù)服務(wù)器、數(shù)據(jù)庫(kù)、數(shù)據(jù)表
MySQL安裝:
安裝包下載地址:https://dev.mysql.com/downloads/mysql/
解壓下載的安裝包
在解壓后文件的根目錄下新建配置文件 my.ini
my.ini:
[mysql]
#設(shè)置mysql客戶端默認(rèn)字符集
default-character-set = utf8
[mysqld]
#設(shè)置mysql的安裝目錄
Basedir = C:\Program Files\mysql-8.0.18-winx64
#設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
Datadir = C:\Program Files\mysql-8.0.18-winx64\data
#設(shè)置允許最大連接數(shù)
max_connections = 200
#設(shè)置打開(kāi)表的最大緩存數(shù)
table_open_cache = 2000
#設(shè)置最大緩存線程數(shù)量
thread_cache_size = 10
#設(shè)置默認(rèn)使用端口
port = 3306
#設(shè)置服務(wù)端使用的字符集
character-set-server = utf8
#設(shè)置創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine = INNODB
配置環(huán)境變量:
我的電腦 – 屬性 – 高級(jí)系統(tǒng)設(shè)置 – 環(huán)境變量 – 系統(tǒng)變量 – path
新建環(huán)境變量為mysql安裝文件bin的路徑
MySQL使用:
- 用管理員身份打開(kāi)cmd命令行,進(jìn)入bin目錄下執(zhí)行命令生成數(shù)據(jù)的存放文件data
- 安裝MySQL
mysqld install - 啟動(dòng)MySQL服務(wù)
net start mysql - 登錄mysql
mysql -u用戶名 -p密碼 - 顯示數(shù)據(jù)庫(kù)中數(shù)據(jù)表
show tables
說(shuō)明:具體MySQL使用命令參照課本第十四章內(nèi)容。
MySQL圖形化處理界面Navicat基本使用
網(wǎng)上可以查到免費(fèi)版本的Navicat安裝
安裝完成后,啟動(dòng)MySQL服務(wù),打開(kāi)Navicat
SQL語(yǔ)句:
SQL即結(jié)構(gòu)化查詢(xún)語(yǔ)言(Structured Query Language),是一種特殊目的的編程語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢(xún)和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢(xún)、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)
查詢(xún)數(shù)據(jù)
1.基本查詢(xún)
select 字段名1, 字段名2, … from 表名
2.條件來(lái)篩選查詢(xún)
select 字段名1, 字段名2, … from 表名 where 篩選條件
3.模糊查詢(xún):
select 字段名1, 字段名2, … from 表名 where 字段名 like 模糊查詢(xún)條件
4.結(jié)果排序查詢(xún)
select 字段名1, 字段名2, … from 表名 order by 排列順序
5.限制結(jié)果查詢(xún):
select 字段名1, 字段名2, … from 表名 limit 起始位置,長(zhǎng)度
起始位置為查詢(xún)結(jié)果的索引,從0開(kāi)始,0代表第一條數(shù)據(jù),如果省略,則默認(rèn)表示從0開(kāi)始
如果有where和order by,limit放在最后面
6.連接查詢(xún):
select * from 表名1 join 表名2 on 連接條件
連接條件一般為:表名1.值1=表名2.值2
可以為字段名和表名定義別名
** 添加數(shù)據(jù)**
insert into 表名(字段名1, 字段名2, …) values (值1, 值2, …)
或
insert into 表名 set 字段名1=值1, 字段名2=值2, …
字段的順序要和值的順序相互對(duì)應(yīng),如果每個(gè)字段都有數(shù)據(jù),那么表名后面可以省略字段名,但是values里面值的順序必須正確,自增長(zhǎng)類(lèi)型的主鍵,可以使用null來(lái)填充,MySQL會(huì)自動(dòng)填充數(shù)據(jù)
** 修改數(shù)據(jù)**
update 表名 set 字段名1=值1, 字段名2=值2, … where 修改條件
刪除數(shù)據(jù)
delete from 表名 where 刪除條件
(五)促進(jìn)組內(nèi)學(xué)習(xí),解決其它同學(xué)所遇到的問(wèn)題
首先大家需要在自己的電腦上調(diào)通代碼,并且為了不出現(xiàn)兼容性問(wèn)題,大家要統(tǒng)一jdk、tomcat等的版本。同時(shí)我積極解決大家的問(wèn)題,比如一些關(guān)于idea調(diào)試和設(shè)置的問(wèn)題:


二、你們小組總共的代碼行數(shù),你貢獻(xiàn)的代碼行數(shù)?相關(guān)代碼鏈接?
個(gè)人貢獻(xiàn)代碼數(shù)為1400行左右,以下為項(xiàng)目代碼。
其中,我編寫(xiě)了src文件夾下的com.controller文件中的MenuController.java、UserController.java、SysController.java和WebContent文件夾下的js文件中的main.js、cache.js以及src文件夾下的com.entity文件中的User.java里的代碼。
https://gitee.com/zhang-yibo/micro-certification
三、你們小組總共的文檔數(shù)?你貢獻(xiàn)的文檔數(shù)?相關(guān)鏈接?
我們小組總共的文檔數(shù)為7.我主要負(fù)責(zé)了《描述設(shè)計(jì)》的編寫(xiě)和沖刺博客第三篇《需求分析》
描述設(shè)計(jì):http://www.rzrgm.cn/sanfeng-ooo/p/16907872.html
posted on 2022-12-11 16:30 20201321周慧琳 閱讀(134) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)