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。其中我贡献了三篇

posted @ 2022-12-11 16:45  小组博客123  阅读(59)  评论(0编辑  收藏  举报