20201215王馨瑤 電子公文傳輸系統——個人貢獻
20201215王馨瑤 電子公文傳輸系統——個人貢獻
一、個人工作簡述
(一)設計前後端介面
1.返回類和分頁
返回給前端的資料,需要有Response類/ResponsePages類封裝,也就是要帶有返回碼,返回訊息和返回體。如果要求給出分頁資訊,那麼ResponsePages類中,還需要有Page類,其中至少包括當前頁數,每頁顯示條數和總條數資訊。分頁使用github的pagehelper工具類來完成。
2.返回碼
返回碼不可以使用http狀態碼,因為http狀態碼是有限的,而且提示資訊很模糊,不足以定義豐富的業務錯誤,因此要定義自己的業務返回碼。同樣,也要成對定義業務返回訊息,用於描述業務錯誤。業務分配的錯誤編碼表,需要由研發部門統籌給出。如果是服務之間呼叫的,應當透傳返回碼和返回訊息。
http返回物件:
{
code: code,
msg: msg,
pageInfo: { // 分頁資訊
curPage: 1,
pageLimit: 10,
page: 1,
total: 10
}
data: {data}
}
(二)設計後端介面
主要涉及軟體系統“後端”的東西。比如,用於託管網站和 App 資料的伺服器、放置在後端伺服器與瀏覽器及 App 之間的中介軟體,它們都屬於後端。簡單地說,那些你在螢幕上看不到但又被用來為前端提供支援的東西就是後端。
網站的後端涉及搭建伺服器、儲存和獲取資料,以及用於連線前端的介面。如果說前端開發者關心的是網站外觀,那麼後端開發者關心的是如何通過程式碼、API 和資料庫整合來提升網站的速度、效能和響應性。
1.前端通過介面呼叫後臺返回的資料
jsp頁面向伺服器發起了一個ajax請求,請求的地址是"servlet/JJJJ",請求成功後執行回撥函式,這個data就是這個url返回的資料,一般是一個json格式的字串,它的根本還是一個字串。所以前端拿到這個字串之後,要將它轉化為json(陣列)物件,然後訪問這個物件的鍵/值,從而進行頁面資料渲染
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>test page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> this is my jsp <br> <div id="json"></div> </body> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script> <script type="text/javascript"> $.ajax({ type: "Get", url: "servlet/JJJJ", success: function(data){ $("#json").text(data); } }) </script> </html>
2.後端介面
//JJJJ.java
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("contentType", "text/html; charset=utf-8");
PrintWriter out = response.getWriter();
String jsonstr = "[{\"name\": \"eco\", \"age\": \"21\"}]";
out.print(jsonstr);
out.flush();
out.close();
}
servlet,定義了一個json格式的字串jsonstr,前端對這個servlet發起http請求後,它就返回給前端一個json字串。這個手寫的json字串,注意了裡面的冒號要用轉義字元“\”。
3.後臺servlet內資料轉換
//java物件轉化為json字串
User user = new User("eco", "567568"); //java物件
JSONObject json = JSONObject.fromObject(user); //轉為json物件
String jsonstr = json.toString(); //轉為json字串
//java物件列表轉化為json字串
User user1 = new User("eco", "567568");
User user2 = new User("桔子桑", "123123");
List list = new ArrayList(); //陣列列表,並新增兩個user物件
list.add(user1);
list.add(user2);
JSONArray array = JSONArray.fromObject(list); //java物件列表轉化為json物件陣列
String jsonstr = array.toString(); //json物件陣列轉化為json字串
(三)設計跳轉功能、設計傳遞資訊功能
1.前端資料轉換
前端通過後臺提供的介面獲得了json字串,接下來就是將其轉化為json物件(列表),然後再對其屬性進行操作。
二、你們小組總共的程式碼行數,你貢獻的程式碼行數?相關程式碼連結?
小組總共5992行程式碼,個人貢獻程式碼數為1200行左右,以下為專案程式碼。
其中,我編寫了src資料夾下com.action裡user_servlet.java、zhuanjia_servlet.java和WebRoot下azhuanjia檔案裡的程式碼、liuService.java、loginService.java、EncodingFilter.java、Pagination.java的程式碼
faker電子公文傳輸系統: 電子公文傳輸系統 (gitee.com)
三、你們小組總共的文件數?你貢獻的文件數?相關連結?
總共文件數為8。其中我貢獻了三篇