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

一、个人工作简述

(一)学习java接口语句

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对象(列表),然后再对其属性进行操作。

//json字符串转化为json对象

var a = JSON.parse( data );      //浏览器支持的方式

var b = $.parseJSON( data );     //jQuery支持的方式

上面是两种将json字符串转化为json对象的方式,jQuery方式需要事先导入jQuery框架。

下面是json对象的数据访问方式。

a.username;                    //a是一个json对象,返回对象的username属性值

a[1].username;                 //a是一个json对象数组,返回第二个对象的username属性值

(四)学习数据库相关知识,学习mysql以及navicat使用方法

1.数据库概念

数据:描述事物的符号记录称为数据。特点:数据和关于数据的解释不可分。

数据库:长期存储在计算机内、有组织、可共享的大量的数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。特点:永久存储、有组织、可共享。

数据库管理系统(DBMS):位于用户与操作系统之间的一层数据管理软件。主要功能:数据定义功能(DDL);数据组织、存储和管理;数据操纵功能(DML);数据库的事务管理和运行管理;数据库的建立和维护功能;其他功能。

数据库系统(DBS):由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

数据管理技术三个阶段:人工管理、文件系统、数据库系统。

两类数据模型:概念模型(又叫信息模型);逻辑模型、物理模型。

数据模型的组成要素:数据结构、数据操纵和数据的完整性约束条件。

2.sql分类

  • 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
  • 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等
  • 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户
  • 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

3.数据库操作

  • 创建数据库

create database 数据库名;

create database if not exists 数据库名; -- 如果不存在则创建

  • 查看数据库

查看mysql服务器中的所有数据库:

show databases;

  • 查看某个数据库的定义信息

show create database 数据库名;

  • 删除数据库

drop database 数据库名称;

  • 切换数据库

use 数据库名;

二、你们小组总共的代码行数,你贡献的代码行数?相关代码链接?

个人贡献代码数为950行左右,以下为项目代码。

其中,我编写了src文件夹下com.action里user_servlet.java、zhuanjia_servlet.java和WebRoot下azhuanjia文件里的代码。

 xieyi20181312/电子公文传输系统 (gitee.com)

三、你们小组总共的文档数?你贡献的文档数?相关链接?

总共文档数为11。我主要负责了第三篇博客的编写和冲刺博客的审核修改工作。

https://www.cnblogs.com/bky614-8/p/13912051.html

posted @ 2020-11-29 21:10  shihaolin  阅读(128)  评论(0编辑  收藏  举报