盐鱼二手

1 前言

1.1 课题的来源及意义

随着当前计算机网络技术不断发展,网络校园开始出现,并且得到快速发展,在网络校园中二手市场属于十分重要的组成部分,也是完成二手交易的重要平台。就目前网络校园二手市场的兴起而言,其虽然为大学生提供较大便利,然而也有一定问题存在。所以,为能够使二手市场得以更良好发展,应当对其存在的问题进行分析,以便更好解决问题,促使其稳定发展。

在当前计算机网络技术快速发展的大背景下,以计算机网络为基础的各种现代化产品越来越多,而网络校园就是比较重要的一种。在网络校园不断发展过程中,为能够满足大学生交易需求,二手市场开始兴起,并且快速发展,为大学生交易二手物品提供良好平台。在当前网络校园二手市场发展中,需要积极分析其存在的问题,以便更好解决问题,促使二手市场实现更好发展。

1.2 网络校园二手市场发展现状

对于我国当前网络校园二手市场而言,其仍处于起步发展阶段,在很多学校内发展仍缺乏成熟,二手市场运营不理想,有些规模比较小,很难进行较好运营。另外,目前网络校园二手市场在运作方面,其模式与一般电子商务比较类似,通常将网络作为平台,大多数都是由在校学生发起并且推动运行的,实际交易范围通常只在校园内部,有些也会扩展到其它校园内。同时,当前的网络校园二手市场网站的主要平台就是论坛,利用论坛发布相关交易信息,同时可进行站内联系,而这种交易模式在定位上比较初级,在整个论坛中交易信息只是其中一项内容,并且专业交易平台。在这种模式下,交易规则往往比较缺乏,交易双方的信用保证比较缺乏,缺少信用评估体系,在实际交易中双方均需承担一定风险,且双方需浪费较多时间及精力。

1.3 可行性研究

目前,二手商品交易成为了当代大学生课余生活的一大热门,许多学校每年都要举办红红火火的“跳蚤”市场,可见大学生对二手商品交易的需求,可遗憾的是校内的二手交易往往时间短暂,远远无法满足广大学子交易的需求。大学生具有相似的消费心理、共同的生活环境、生活方式,大多数交易物品都是学生自身需要的,交易商品具有共性(如:书籍、电子产品、自行车、体育用品等),使得学生之间交易的更为频繁,这是造成交易需求压力的原因之一。在校学生数量增多,大学生交易需求旺盛。根据调查,有 76% 的被调查者表示渴望购买一些有使用价值的二手商品。表明大学生大多希望购买一定数量的二手商品,这对构建一个大学生商品交易平台提出了一定的要求。再者,一些大四学生,他们即将离校,需要处理大量零零碎碎的物品,由于处理途径狭窄,短期内无法处理大量的物品,造成很多还有实用价值的物品被丢弃,浪费资源。目前,在各大高校的“跳蚤”市场,充斥着大量二手商品的供应和需求信息,但是,在单一、有限的交易时间内,大学生交易双方的需求根本无法满足,这就需要一个更加专业、标准的二手交易平台。

设计这样一个系统,从根本上解决了传统的校园二手信息发布交流方式的弊端,使得校园各种二手商品信息得到了有效的整合,方便了广大用户。且拥有的客户通常只是大学校园网的用户,所有系统规模上来讲不会很大。从技术上来说,由于是基于 Web 的,可以相对比较容易面对用户的实际需求而开发。而在现今,各种网络应用的开发已经相当成熟,出现了几大主流的开发语言和工具,都可以非常有效的支持开发这样一个系统。同时作为本系统,也有许多成功的电子商务类网站的经验可以借鉴,所以从技术的角度来说,也是可行的。从运行上来说,由于客户端仅仅只是需要一个浏览器,通过浏览器来登陆系统,而服务器端也只需要一台服务器,服务器要求一个数据库环境和一个网络应用开发的环境,实现起来比较容易,所以从运行上来说是可行的。同时这样一个系统,在系统管理员合法管理和用户的自觉配合下,不会违规进行任何的不法的活动和交易,发布具有危害性和不适宜的信息,也不存在任何非法牟利的行为,在法律上也是可行的。在各种可行性研究保证和基于用户需求要求下,开发系统的方案经过不断论证和假设,确定出了一个最佳方案。

2 相关技术介绍

2.1 JSP 技术简介

JSP(JavaServerPage 服务器网页)是从 1998 年开始出现的新技术。由 Sun 公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于 JavaServlet 以及整个 Java 体系的 Web 开发技术。在传统的网页 HTML 文件(.htm,.html)中加入脚本片段和 JSP 标记(Tag),构成 JSP 网页(*.jsp)。JSP 技术为创建显示动态生成内容的 Web 页面提供了简便的方法。JSP 作为 Java 家族的一员,承袭了 Java 的特点,即跨平台的特性,也即一次编译,到处运行。

在国外,己经大量使用 JSP 作为网络应用程序的开发工具,而在国内,尽管 JSP 还不是主流开发技术,但是由于 JSP 的强大优势,许多网站都已经准备转向 JSP,利用 JSP 来开发动态网站。

2.2 JSP 工作原理

JSP 是面向服务器的,因此支持任何浏览器。当 Web 服务器和 JSP 引擎遇到访问 JSP 网页的请求时,JSP 引擎将请求对象发送给服务器端的相关组件,比如 JavaBean 组件、Servlet 或 EJB 等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回 JSP 引擎。JSP 引擎将响应对象传递给 JSP 页面,根据 JSP 页面的 HTML 格式完成数据编排,最后 Web 服务器和 JSP 引擎将格式化后的 JSP 页面以 HTML 格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web 服务器——后台数据库的三层架构模式。因为 JSP 所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。

2.3 JSP 体系结构

JSP 网站开发标准给出了两种使用 JSP 的技术,可以归纳为模式一、模式二。

模式一:JSP+JavaBeansm。在这种模式中,JSP 页面独自响应请求并将处理结果返回给客户。Bean 处理所有数据访问,JSP 实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或 Java 代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。

模式二:JSP+Servlet+JavaBeans。Servlet 技术是一种采用 Java 技术来实现 CGI 功能的一种技术,Servlet 技术非常适于服务器端的处理和编程,并且 Servlet 会长期驻留在内存。

从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的 MVC 结构(Model/view/controller),其中 Servlet 对应 controller,处于控制者的位置,处理 HTTP 请求,负责生成 JSP 中使用的 Beans 组件或对象,并判断应将请求传递给哪个 JSP 等,JSP 对应 view,负责生成最终的动态网页并返回给浏览器。而 JavaBeans 对应的是 Model,实现各个具体的应用逻辑与功能。

2.4 JSP 的特点

1.简化的页面生成技术。

JSP 页面用标准的 HTML 或 XML 命令来处理页面的格式化和布局设计,而用类似 HTML、XML 的标记和 Java 语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。

2.与 Java 平台有机集成。

JSP 技术是 Java2 平台的重要组成部分,JSP 使用 Java 语言作为它的脚本语言。在 JSP 页面中可以使用几乎所有的 Java 组件和 JavaAPI,这就能充分发挥出 Java 语言的强大功能。使用 JSP 技术可以创建具有高度可伸缩性和可靠性的 Web 应用程序。

3.硬件平台和服务器无关性。

JSP 作为 Java 家族的一员,秉承了 Java 技术的“一次编写,随处可用(WriteOnce,RumAnywhere)”的特性,可以运行于大多数流行的操作系统平台及 Web 服务器,这种与服务器硬件和操作系统平台的无关性是 JSP 相对于其它动态网页技术最大的一个优点。

4.功能可扩展性。

如同 Microsoft 的 JSP 技术可以通过 ActiveX/COM 组件来扩展功能一样,JSP 可以通过 JavaBean 和 EJB(EnterpriseJavaBean)以及自定义的标记来扩展功能。

JSP 可以通过 JDBC,与诸如 Oracle、SQLServer 这样的大型关系数据库进行连接。

JSP 提供了一些隐含对象。这些隐含对象在 JSP 页面中可以直接引用,而不必首先声明。利用 JSP 提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用 request 对象,可以很容易地接收用户在 HTML 表单中提交的信息。

2.5 MySQL 数据库

MySQL 是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

MySQL 是开放源代码的,因此任何人都可以在 GeneralPublicLicense 的许可下下载并根据个性化的需要对其进行修改。

MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL 是管理内容最好的选择。MySQL 特点:

1.使用 C 和 C++ 编写,并使用多种编译器进行测试,保证源代码的可移植性。

2.支持 AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows 等多种操作系统。

3.为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。

4.支持多线程,充分利用 CPU 资源。

5.优化的 SQL 查询算法,有效地提高查询速度。

6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。

7.提供多语言支持,常见的编码如中文的 GB2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。

7.提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。

8.提供用于管理、检查、优化数据库操作的管理工具。

9.支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

10.支持多种存储引擎。

2.6 系统数据库连接

JDBC 技术是 JavaDataBaseConnectivity 的缩写,它是 SUN 公司提供的一种支持基本 SQL 功能的通用的应用程序接口(ApplicationProgrammingInterface)。它由一组用 Java 语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在 Java 语言中方便地建立与数据库的链接,通过执行相应 SQL 语句,完成对不同数据库的访问。不但如此,使用 Java 语言编写的应用程序可以在任何支持 Java 的平台上运行,不必在不同的平台上开发不同的应用程序。

简单地说,JDBC 能完成下列三件事:

1.同一个数据库建立连接;

2.向数据库建立连接;

3.处理数据库返回的结果。

JDBC 是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说 JDBC 是一处低级的 API,是指它直接调用 SQL 命令,它比其他的一些数据库连接 API 要容易使用些,但它有同样可以作为更高级的,用户办面更友好的 API 或开发工具基础。

很多可视化的 Java 开发工具,如 VisualAgeForJava、VisualCafé、J++ 等都提供了基于 JDBC 的更面向用户的类和包,直接将关系数据库的表或视图映射为 Java 类,程序员通过可视化工具直接对 Java 对象进行操作,而真正需要的 MySQL 调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用 JDBCAPI 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的 SQL 命令以及 Java 程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解 SQL 语法以及 JDBC 编程。

数据库访问的三层结构如图 2-1 所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。

图 2-1 使用中间件的数据库访问三层结构

用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过 Web 服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。

在三层模型中,命令将被发送到服务的:中间层,而“中间层”将 SQL 语句发送到数据库。数据库处理 SQL 语句并将结果返回“中间层”,然后”中间层”将它们返回用户。其模型如图 2-2 所示。

图 2-2JDBC 的三层模型

因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层 API,这个 API 可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。

JDBC 是 Java 应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将 SQL 语句传递给数据库。三、从数据库取得 SQL 语句的执行结果。当 JDBC 要与数据库建立连接前,首先,它必须先取得连接此数据库的 JDBC 驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将 JDBC 驱动程序的类载入至 JVM(JavaVirtualLMachine)中,本系统中利用 java.lang.Class 类内的 forName()静态函数依据指定的类名称,将 JDBC 驱动程序载入进来。完成载入驱动程序的步骤后,必须使用 java.sal.DriverManager 类所提供的 getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为 java.sal.Connection,必须通过它才能将 SQL 指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得 Statement 对象才能对数据库执行 SQL 指令。Statement 主要实现两个功能:执行 SQL 语句以及取得执行结果。在 java.sql.Statement 的 SQL 对象中执行查询或修改命令的函数后传回的是一个 ResultSet 对象,这个对象提供了一个存取 SQL 执行结果的管道,以便通过它将表格数据从数据库中取出。每个 Statement 对象只能产生一个 ResultSet 对象。

有了 JDBC,向各种关系数据发送 SQL 语句就是一件很容易的事。换言之,有了 JDBCAPI,就不必为访问 Sybase 数据库专门写一个程序,为访问 Oracle 数据库又专门写一个程序,或为访问 Informix 数据库又编写另一个程序等等,程序员只需用 JDBCAPI 写一个程序就够了,它可向相应数据库发送 SQL 调用。同时,将 Java 语言和 JDBC 结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是 Java 语言“编写一次,处处运行”的优势。

Java 数据库连接体系结构是用于 Java 应用程序连接数据库的标准方法。JDBC 对 Java 程序员而言是 API,对实现与数据库连接的服务提供商而言是接口模型。作为 API,JDBC 为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC 使用已有的 SQL 标准并支持与其它数据库连接标准,如 ODBC 之间的桥接。JDBC 实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。

Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。

JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBCAPI 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、Macintosh 和 UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用 Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。

MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java 和 JDBC 可为外部客户提供获取信息更新的更好方法。

简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例:

    Connectioncon=DriverManager.getConnection("jdbc:odbc:wombat","login""password");Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("SELECTa,b,cFROMTable1");while(rs.next()){intx=rs.getInt("a");Strings=rs.getString("b");floatf=rs.getFloat("c");}

上述代码对基于 JDBC 的数据库访问做了经典的总结。

3 系统分析

为了最终实现目标系统,设计一个针对盐鱼的物品交易网站,用户可以在该网站浏览信息进行物品选购、查看个人信息以及历史订单。管理员账户可以对已注册用户进行查询、对订单进行查询、审核。目标是建立一个人人可自由发布商品的平台,甚至对“宿舍超市”提供良好的支持(暂不讨论是否违规)。

注意网站的目标:仅仅是提供一个交易、信息浏览平台,因此不会提供任何对交易纠纷的处理,最大限度的问题解决方式也只是封禁、删除某些账号而已。

这是一个典型的浏览器(B)/服务器(S)模式,因此客户只需要一个浏览器,我们则要实现一个服务端。

3.1 系统功能分析

首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行。即通过在网上已有的二手交易网站注册成会员来了解其具备的功能。

1.从用户角度来看:

注意:概述提到这是一个“人人可自由发布”的网站,因此不会区分买家账户和卖家账户,所有的普通用户都是一样的,下面只是把功能分开说。

注册及登录,应当支持若干时间内的自动登录。

买家功能:

-浏览商品,提供搜索功能、分类查看

-购物车功能,一次购买多个商品

-浏览个人信息页,包含订单历史、收藏的订单

-浏览用户信息页,可查看任一用户的公开信息

-对商品进行购买(创建一笔订单)

-购买完成后关闭订单

关于支付的一些说明:概述提到过网站目标,因此支付由用户在线下自行完成。另外的考虑是第三方线上支付或者自己实现支付系统的复杂性、难以测试性会使整个项目的开发中心偏移。而使用站内虚拟货币又没有什么实际意义。

卖家功能:

-提交一个商品,包含商品必要信息(交给管理员审核,通过即可被浏览)

-查看我发布的商品,应标记出审核状态

-提醒:我的某商品被购买

-取消订单

2.从网站的角度看:

对于后台数据处理,有真-服务器管理员可以直接操作数据库,所以并没有什么必要对管理员账户作过多的功能开发,但为了方便管理,管理员应该在浏览器上可以:

-普通用户的所有功能,管理员首先是一个用户。

-审核商品,为了防止出现恶意破坏网站和不合规定的商品,每个商品都必须通过审核。

-人工添加用户、删除用户、查询用户和任何商品、订单信息

3.2 需求分析

需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变。

括号内为说明

首页(不同分类的商品展示)

登录页

注册页

个人页

个人资料

收藏页

正在进行的订单页

历史订单页(购买、售出)

站内消息页(系统、用户)

购物车(支持移除个别商品)

我的商品

正在审核的商品

用户资料页(所有公开信息)

商品详情页(发布日期、作者、作者信息)

购买结果页

订单详情页(订单号、发布信息)

搜索结果页(不同排序方式)

后台管理页

商品审核

订单查找

用户管理

对数据的安全性、完整性要求:用户信息保密,只有管理员可见(可查),但不能任意修改。确保网上支付安全。商品信息、用户信息必须保证其完整性。防止恶意删改。以下是系统性能需求:

(1)准确性和可靠性高

(2)页面友好,功能齐全,且可以使用

(3)系统便于维护和升级。

(4)数据库访问效率高

数据流图:是一种描述软件系统逻辑模型的图形符号。这种图形表示即可以从本质上描述计算机软件系统的工作情况,又适合非计算机专业人员学习和掌握,在需求分析中是一种很好的交流和表达工具。

分层数据流图:

如图 3-1 为系统数据流图,说明了盐鱼二手交易管理系统的主要功能的流向。

图 3-1 系统数据流图

如图 3-2 核对数据流图,主要是检查需要核对的数据流。

图 3-2 核对数据流图

如图 3-3 用户信息处理数据流图,主要是用户信息的三种数据处理。

图 3-3 用户信息处理数据流图

如图 3-4 为订单处理数据流图,主要是订单信息的三种数据处理。

图 3-4 订单处理数据流图

如图 3-5 为查询处理数据流图,主要是查询处理、商品总览、商品查询处理的关系。

图 3-5 查询处理数据流图

如图 3-6 为商品管理数据流图,主要是管理商品的数据处理

图 3-6 商品管理数据流图

如图 3-7 为站内信息管理数据流图,主要是管理商品交易信息的数据处理。

图 3-7 站内信息管理数据流图

3.3 业务流分析

盐鱼二手交易市场系统工作流程为:系统启动并进入登录界面,根据不同的用户进行登录,所有用户都可以浏览系统主页面。通过权限判断,普通用户只能浏览、阅读和查询信息,注册用户除了可以完成普通用户的操作外,还可以进行对自己注册资料的操作(包括对自己的资料的录入、修改和删除的操作)。管理员可以对系统信息进行添加、修改和删除的权限,及对系统管理的所有功能进行操作。所有用户均可以实现查询功能。

本系统是将现代化的计算机技术与销售管理服务模式相结合,按照销售管理的服务流程设计完成的。同时为扩展服务范围,初步设计一个销售平台以利于信息发布和管理。为了使系统在各项管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下系统开发目标:

具体目标如下:

(1)操作简单、界面友好:完全控件式的页面布局,使得信息的录入工作更简便;许多选项包括信息类别、来源、作者等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

(2)即时可见:对信息的处理(包括添加、修改、删除)将立即在主页的对应栏目显示出来,达到"即时发布、即时见效"的功能。

(3)功能完善:不仅包括常见系统的信息管理的各个方面:信息录入、浏览、删除、修改、查询等各个方面,完整地实现了系统对即时信息的管理要求。而且,还能进行对会员的管理,对会员的资料进行审核,以及上传文件的管理。同时,为了能有效方面的更新系统的界面。

(4)方便移植:系统应具有实用性、可靠性和适用性,同时注意到先进性。针对不同的用户,只需要稍作修改就可以开发出适合自己特点的商品票预订系统。系统界面中所需的条目,图片等数据都存放于数据文件中,只要对该文件做部分修改,就能在系统界面上实现及时更新的效果,减少了更改系统源代码的复杂性。

(5)动态管理:对系统数据库实行动态操作,能实现对数据库信息的动态查询、动态更新修改和动态录入数据。

3.4 数据流分析

数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(dataflowdiagram,简称 DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。

盐鱼二手交易市场系统的数据流程:对本系统操作的数据源有普通用户、注册用户和管理员三种,首先由系统管理员根据不同用户的需要将某些信息保存到数据库中,然后再进行发布。不同权限的用户可以对这些库信息进行添加、修改和删除处理。所有用户均可以进行信息查询。通过对本系统的需求分析,系统的基本功能已经确定。

3.5 数据字典

字典的作用是给词汇以定义和解释。在结构化分析中,数据字典的作用是给数据流图上每个成分以定义和说明。换句话说,数据流图上所有成分的定义和解释的文字集合就是数据字典。数据字典对数据流图和各种成分起注解说明作用,给这些成分赋以实际的内容。除此之外,数据字典还要对系统分析中其他需要说明的问题进行定义和说明。数据字典描述的主要内容有:数据流、数据元素、数据存储、加工、外部项。其中数据元素是组成数据流的基本成分,在系统分析中,数据字典起着重要的作用。

3.6 需求分析复审

需求分析说明书完成后,应由用户和开发人员共同复审,复审小组对需求分析说明书的各个部分逐个进行认真的复查,确认文档所描述的系统模型符合用户的需求,复审结束后双方签字确认。

本次需求分析有老师布置并指导。小组成员亲自调查,并经小组分析讨论后制定系统需求功能目标。

4 系统总体设计

4.1 系统总体功能结构图

如图 4-1 为系统功能结构图

图 4-1 系统功能结构图

4.2 系统 ER 图

如图 4-2 为系统 ER 图

图 4-2 系统 ER 图

4.3 系统功能设计目标

理论系统功能设计目标如下:

(1)实用性强:我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求;

(2)先进的程序结构:使用当代前卫的软件编程,能延长其生命周期,易于维护与管理;

(3)安全可靠性高:后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全、可靠;

(4)使用模块化设计的方法:使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护;

(5)操作简单,维护方便:每个子系统都具有相对独立的系统维护功能

对可变化的项目可自行维护;

(6)查询功能强大:可以对商品的基本情况、用户基本情况,商品评论信息,用户留言等按各种方式查询,可形成各种表单,同时还可对其进行汇总,使管理人员能及时准确地掌握用户和商品等的基本情况。

4.4 系统功能模块划分

根据需求分析与系统功能设计目标,结合实际情况本系统功能模块设计分为如下几个模块:

1.主页:在这里我们可以看见本系统的主要功能和信息。

2.用户注册:在这里我们可以注册我们的基本信息,其中邮箱和名字是比较重要的,因为我们需要对这些信息进行处理,以方便用户的付款和邮购。

3.用户登录:方便用户的付款,邮购和管理,我们需要登陆自己账户可以进行留言与购买。

4.商品信息浏览:成功登录后的用户可以浏览二手商品信息,可以将物品添加到我的收藏或者添加到购物车,也可以立即购买将信息提交到填写订单页面。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

5.收藏加购商品:成功登陆的用户可以在该页面收藏或者加购所想要的商品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

6.查看订单:成功登陆的用户可以在该页修改已经购买的商品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

7.修改订单:成功登陆的用户可以在该页修改或删除已经购买的商品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

8.商品查询:成功登陆的用户可以在该页查找自己需要的商品。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

9.修改密码:成功登陆的用户可以在该页修改自己的密码。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

10.修改个人信息:成功登陆的用户可以在该页修改自己当初注册时的信息。如果用户还没有注册就直接进入或者没有成功登陆就进入页面,将被连接到“用户登录页面”。

11.管理员:查看用户订单,查看用户信息,并根据用户信息和用户订单对商品进行发派。

4.5 系统的体系结构

如图 4-3 为三层结构图:

即:JSP 技术 +JavaBeans+MYSQL 数据库,就是从视图进行逻辑处理后进入数据库。

5 数据库设计

5.1 数据库系统概述

数据库系统是在文件系统的基础上发展而来的,经历了层次数据库、网状数据库、关系数据库三个阶段。由于关系数据库采用人们比较容易理解和接受的二维表格来组织数据,发展迅速,已成为数据库产品的主流。

本系统的前端开发是使用 JSP 技术,通过 JavaBeans 进行逻辑控制和数据库连接,而后台数据库采用的是 MySQL。MySQL 数据库管理系统是一项全面完整的数据库与分析产品。MySQL 非常容易学习、使用,介绍、学习资料比较多,MySQL 全面支持 Web 功能的数据库解决方案,与此同时,MySQL 还在可伸缩性与可靠性方面保持着多项基准测试纪录,而这两方面特性又都是企业数据库系统在激烈市场竞争中克敌致胜的关键所在。无论以应用程序开发速度还是以事务处理运行速度来衡量,MySQL 都堪称最为快捷的数据库系统。

对比 MySQL 和其他的大型数据库管理系统,MySQL 具有可靠的安全性,较快的存储速度,高度的兼容性,简单易用,应用 MySQL 作为后台数据库为系统的开发提供了强有力的支持,并对以后软件的运行提供了坚实的基础,因此,我们采用了 MySQL 作为后台数据库。

5.2 数据库表设计

数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。

在商品票预订系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。

表 5-1 为用户身份信息表,存储系统中的用户身份信息。

表 5-1 用户身份信息表(user)

列名 数据类型 字段大小 必填字段 默认值 说明
id int 11 (主键)
email char 255 邮箱
img char 255 头像
pwd char 255 密码
name char 255 昵称
stu_num char 255 学号
QQ char 255 QQ 号
phone char 255 手机号
mess_num int 11 消息数

表 5-2 为商品信息表,记录系统中商品详细信息。

表 5-2 商品信息表(goods)

列名 数据类型 字段大小 必填字段 默认值 说明
id int 11 (主键)
image char 255 商品图片
type_id int 11 类型 id
name char 255 商品名
num int 11 数量
price float 0 价格
status int 11 当前状态
content varchar 255 介绍
producter_id int 11
create_date datetime 0 出售日期

表 5-3 为商品购买信息表,记录系统中购买订单生成信息。

表 5-3 商品购买信息表(order)

列名 数据类型 字段大小 必填字段 默认值 说明
id int 11 主键)
goods_id int 11 订单物品编号
user_id int 11 购买用户
date datetime 0 订单日期
message varchar 255 订单留言

表 5-4 为商品收藏信息表,记录系统中用户收藏商品信息。

表 5-4 商品收藏信息表(collect)

列名 数据类型 字段大小 必填字段 默认值 说明
collect_id int 11 (主键)
user_id int 11 用户编号
goods_id int 11 收集物品编号

表 5-5 为商品加购信息表,记录在系统中商品加购信息。

表 5-5 商品信息信息表(shoppingcart)

列名 数据类型 字段大小 必填字段 默认值 说明
shop_id int 11 (主键)
goods_id int 11
user_id int 11

表 5-6 为购买用户 id 信息表,记录针对购买用户详细信息。

表 5-6 购买用户 id 信息表(sessionkey)

列名 数据类型 字段大小 必填字段 默认值 说明
id int 20 (主键)
session_key varchar 127
user_id int 20

表 5-7 为用户留言信息表,记录针对卖家与买家留言详细信息。

表 5-6 购买用户 id 信息表(sessionkey)

列名 数据类型 字段大小 必填字段 默认值 说明
mess_id int 11 消息 id(主键)
mess_from_id int 11 消息接收者
mess_to_id int 11 消息发布者
mess_text varchar 255 消息内容
send_time datetime 0 发送时间
mess_type int 11 消息类型

6 程序设计

6.1 程序说明

根据前边的需求分析和系统总体设计内容进行程序设计。本系统是以 Java 语言为基础进行开发的。我个人负责的模块主要是采用 JSP 技术 +JavaBeans+MYSQL 模式进行模块开发与实现的。全部都以面向对象的方法进行设计和实现。

在程序设计时,我用到了下面的一些定义,解释如下:

1.Page 用来定义整个 JSP 页面的一些属性和这些属性的的值。

2.Pageimport 该属性的作用是为 JSP 页面引入 Java 核心包中的类,这样就可以在 JSP 页面的程序片部分,变量及函数声明部分,表达式部分使用的类。可以为该属性指定多个值,该属性的值可以是 Java 某个包中的所有类或一个具体的类。

3.includefile 表示的是静态的插入一个文件。

6.2 具体模块划分

1.主页面模块

主页面中上部包含:① 标题:盐鱼物品交易网站

② 登陆注册及物品信息陈列。

如图 6-1 所示

图 6-1 主页界面

2.用户注册模块

用户注册是为第一次登录网站的用户所设计的。在用户成为本站用户之前一定要注册才可以访问我网站的其它网页。

① 用户注册包括:注册账号,邮箱,密码,密码重复,名字,用户协议等。

② 注册成功后,可以访问本站的其他页面。

如图 6-2 所示

图 6-2 注册界面

3.用户登录模块

① 用户登录包括:登录网站,邮箱地址,密码,下次自动登录。

② 当用户登录后由管理员核对该用户的名称和密码是否正确,如果无误的话用户可以通过检查直接进入网站的其它页面进行浏览和购买。

如图 6-3 所示

图 6-3 登录界面

4.商品浏览模块

商品浏览:成功登陆后的用户可以分页浏览商品,并将想要的物品提交到填写

订单页面。

如图 6-4 所示

图 6-4 商品浏览界面

5.查看订单模块

查看订单:成功登录的用户可以在该页修改所购买的商品。

如图 6-5 所示

图 6-6 查看订单界面

6.修改密码及信息模块

修改密码:成功登陆的用户可以在该页修改自己的密码及信息。

如图 6-6 所示

7.站内信息模块

我的消息/发送站内信:接受自或者发送往买家的留言信息。

注意:系统消息会带有“sys”标签,其他皆为用户消息,带有“user”标签。

如图 6-7 所示

8.购物车模块

我的购物车:将自己想要的商品加入购物车,方便下次浏览以及购买。

如图 6-8 所示

9.购物历史模块

我的购物记录:将自己想要的商品直接购买,在购买记录中显示方便查看以及管理。

如图 6-9 所示

9.我发布的商品模块

发布的物品:将自己想出售的商品发布到盐鱼网站上并展示给用户浏览。

如图 6-9 所示

![img](wpsA57.tmp.jpg

10.发布商品模块

发布新物品:将物品名称,价格,物品介绍,分类,物品图片等详细信息上传并提交系统管理员,带管理员审核通过后再网站上显示。

如图 6-10 所示

11.收藏夹模块

发布的物品:将物品名称,价格,物品介绍,分类,物品图片等详细信息上传并提交系统管理员,带管理员审核通过后再网站上显示。

如图 6-11 所示

7 软件安装与调试

7.1 软件的安装与配置

(1)软件安装:

操作系统:WindowsXP

设计语言:JAVAHTMLJSPJQUERY

数据库:MySQL

JDK 安装:JDK 安装特别简单,和安装其他的软件没什么区别。

JDK 的配置:

设置 JAVA_HOME 环境变量:JDK 安装目录例:D:\ProgramFiles(x86)\JDK\JDK1.9

设置 PATH 环境变量:JDK 安装目录\bin;例:D:\ProgramFiles(x86)\JDK\JDK1.9\bin;

服务器的安装:Tomcat8.5

设置 TOMCAT_HOME 环境变量:Tomcat 安装目录例:D:\QQ 下载\apache-tomcat-8.5.57-windows-x64\apache-tomcat-8.5.57;

(2)安装完毕后,启动 Tomcat,然后再浏览器中输入通过市场现有浏览器访问网站 lunac.vaiwan.com/salt-fish。(推荐 Firefox 和 Chrome 浏览器)

7.2 系统编码风格

(1).代码规范:后端使用同一份代码格式化膜模板 ali-code-style.xml,ecplise 直接导入使用,idea 使用 EclipseCodeFormatter 插件配置 XML 后使用。前端代码使用 vs 插件的 Beautify 格式化,缩进使用 TAB 后端代码非特殊情况准守 P3C 插件规范

注释要尽可能完整明晰,提交的代码必须要先格式化 XML 文件和前端一样,使用 TAB 缩进。

(2).括号:大括号各占一行,与关键字同列。小括号与关键字中使用空格并与函数名紧贴。

a)运算符、空格、关键词、函数:每个运算符与运算值中间要有一个空格

b)每段较大的程序体上下应加入空白行,两程序块之间使用一空行。

c)说明或显示部分中,内容如含有中文、数字、英文单词混杂应在前后加入空格。

(3).注释:对于代码进行简短介绍,统一使用//。

(4).变量、对象、函数名小写,变量名只用项目中有据查的英文缩写方式,可以合理的对过长的命名进行缩写。

(5).常量:全部使用大写字母命名。

(6).Sql 语句所有 SQL 语句除了表名、字段名外。全部的语句函数均大写。长语句应适当断行。

7.3 软件测试

7.3.1 注册模块

1、根据此模块的规格说明,可以划分出如下等价类:

(1)有效输入的等价类有:

由字母组成的邮箱

由数字组成的邮箱

由数字和字母组合而成的邮箱

(2)无效输入的等价类有:

除字母和数字之外的其他输入

不遵守邮箱规范的名称

编号 等价类 输入 预期的输出
1 由字母组成的邮箱 ss@qq.commailto:ss@qq.com 注册成功
2 由数字组成的邮箱 223618@qq.commailto:223618@qq.com 注册成功
3 由符号组成的邮箱 8954#)@qq.com @符号前内容不应包含符号#
4 不遵守邮箱规范的名称 89546@mailto:89546@ 请在@后面输入内容,@后不完整
5 不遵守邮箱规范的名称 89546 请在电子邮箱中包含@

2、根据此模块的规格说明,可以划分出如下等价类:

(1)有效输入的等价类有:

由字母组成的用户名

由数字组成的用户名

由数字和字母组合而成的用户名

由字符组合而成的用户名

用户真实姓名

(2)无效输入的等价类有:

除字母和数字之外的其他输入

非用户真实姓名

编号 等价类 输入 预期的输出
1 由字母组成的用户名 luquanyou 注册成功
2 由数字组成的用户名 12 注册成功
3 由符号组成的用户名 !@#¥% 注册失败
4 由中文组成的用户名 陆全有 注册成功

3、根据此模块的规格说明,可以划分出如下等价类:

(1)有效输入的等价类有:

由字母组成的密码

由数字组成的密码

有字符和字母数字组成的密码

(2)无效输入的等价类有:

不满六位字符组成的密码

编号 等价类 输入 预期的输出
1 由字母组成的密码 asdfgh 注册成功
2 由数字组成的密码 123456 注册成功
3 有字符和字母数字组成的密码 asdfgh。 注册成功
4 不满六位字符组成的密码 123 密码格式错误
5 由字母和数字组成的密码 12345a 注册成功

7.3.2 搜索模块

根据此模块的规格说明,可以划分出如下等价类:

(1)有效输入的等价类有:

由全部关键词组成的搜索

由部分关键词组成的搜索

(2)无效输入的等价类有:

不包含关键词的搜索

编号 等价类 输入 预期的输出
1 由全部关键词组成的搜索 考研书 页面出现考研书
2 由部分关键词组成的搜索 考研 页面出现考研书
3 由部分关键词组成的搜索 页面出现考研书
4 不包含关键词的搜索 苹果 页面不出现内容

1、根据此模块的规格说明,可以划分出如下等价类:

(1)有效输入的等价类有:

上传头像

使用数字修改电话号码

两次使用相同字符串修改密码

(2)无效输入的等价类有:

使用字母修改电话号码

使用字母和数字修改电话号码

使用字符和字母数字修改电话号码

两次使用不相同字符串修改密码

编号 等价类 输入 预期的输出
1 上传头像 1.jpg 更新信息成功
2 使用数字修改电话号码 123456 更新信息成功
3 使用字母修改电话号码 adbkca 更新失败,检查你的输入
4 使用字母和数字修改电话号码 dasjhd1 更新失败,检查你的输入
5 使用字符和数字修改电话号码 123654# 更新失败,检查你的输入
6 两次使用相同字符串修改密码 123457/123457 更新信息成功
7 两次使用不相同字符串修改密码 123457/456123 更新失败,两次密码不一致

7.4.4 用户购买模块

1、根据此模块的规格说明,可以划分出如下等价类:

(1)有效输入的等价类有:

将商品加入购物车

将商品添加收藏

购买商品

购物车

收藏夹

将已有商品移出收藏夹

将已有商品移出购物车

(2)无效输入的等价类有:

已加入购物车的情况下再次点击

已将商品添加收藏的情况下再次点击

编号 等价类 输入 预期的输出
1 将笔记本加入购物车 点击加入购物车 已加入购物车
2 将笔记本添加收藏 点击收藏此物品 已收藏
3 购买笔记本 点击立即购买 购买成功
4 已加入购物车的情况下再次点击 点击已收藏 已收藏
5 已添加收藏的情况下再次点击 点击已加入购物车 Sorry,你可能重复添加了
6 购物车 点击购物车 出现商品笔记本
7 收藏夹 点击收藏夹 出现商品笔记本
8 将已有商品移出收藏夹 点击移出收藏 已从收藏夹移出
9 将已有商品移出购物车 点击移出 笔记本从购物车移出

7.4.5 站内用户聊天模块

1、根据此模块的规格说明,可以划分出如下等价类:

(1)有效输入的等价类有:

与站内用户发起交流

回复站内用户消息

删除站内用户消息

编号 等价类 输入 预期的输出
1 与站内用户交流 对用户韩志强发送你好 用户韩志强收到信息
2 回复站内用户消息 用户韩志强发送回复 消息栏出现提示
3 删除站内用户消息 删除用户韩志强的回复 跳转页面删除成功

限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。

经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。

结论

经过两周的努力,指导老师的教导以及同组同学的团结协作,共同完成盐鱼二手交易市场系统。基本实现了所有功能–二手交易信息的管理及二手交易信息的发布,基本满足用户需求,管理员实现了对系统的维护和管理,普通用户实现浏览,添加,搜索二手交易信息的功能,比如:添加,修改,删除各栏目信息的功能;系统用户管理系统相关属性,网站页面模板管理,网站页面编辑管理。系统的操作方便,有一定的可移植性。

由于团队水平及条件限制,此系统从整体上来说并不是很完善,很多方面还需要进一步改善:

1).系统的美观方面需要进一步改进,是系统界面更加友好。

2).管理员用户信息安全性方面欠考虑。

但对于我们来说,在制作过程中,我们学到了很多知识,让自己的所学知识得到了深化,让我们知道如何去做一个项目,如何将项目分解成各个模块,明白去实现一个项目的各个流程,从需求分析,立项,实施计划,具体实施,总结,把握其中的每个环节。

通过这次课程实训,我们同回到了理论和实践之前联系的重要性,将理论运用到实际的操作中,要从实践中学习新的知识,找到解决问题的想法。由于我们的学习能力和其他方面的原因,本次设计中之运用了其中一部分,有待在将来的学习中进一步学习张悟和与运用。

♻️ 资源

大小: 4.33MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87354512

基于Java(JSP)+MySQL实现盐鱼二手物品交易网站【100010280】相关推荐

  1. java毕业设计——基于java+JSP+MySQL的电脑彩票销售管理系统设计与实现(毕业论文+程序源码)——彩票销售管理系统

    基于java+JSP+MySQL的电脑彩票销售管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JSP+MySQL的电脑彩票销售管理系统设计与实现,文章末尾附有本毕业设计的 ...

  2. java毕业设计——基于java+JSP+MySQL的网上购书系统设计与实现(毕业论文+程序源码)——网上购书系统

    基于java+JSP+MySQL的网上购书系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JSP+MySQL的网上购书系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地 ...

  3. 基于Java jsp+mysql+Spring的汽车出租平台租赁网站平台设计和实现

    ​​​​​​​主要功能说明: 管理员角色包含以下功能:管理员登录, 用户管理,管理员管理, 订单管理和审核,利润统计, 交易流水管理车辆管理, 汽车品牌管理等功能. 用户角色包含以下功能: 用户登录页 ...

  4. 基于java+jsp+mysql的酒店预订系统

    介绍: 基于JSP的酒店预订系统(MySQL版) 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善. 开发环境: MySQL 5.0 ...

  5. 基于JAVA+JSP+MYSQL的出差报销管理系统

    项目功能: 系统模块 ①管理员模块 ②用户模块 ③财务管理人员模块 ④公告模块 々用户操作流程 http://localhost:8080/userLogin.jsp (用户登录界面地址) 对应数据表 ...

  6. 基于java+jsp+mysql教师教学质量测评系统

    介绍: JSP:Mysql教师教学质量测评系统论文 要求系统能够实现以下功能: (1)要求学生能够对教师进行教学质量评估 (2)要求教师能够查看评教 (3)要求管理员能够对学生.教师信息进行插入,删除 ...

  7. 基于Java+JSP+MySQL共享单车管理系统的设计与实现-计算机毕业设计

    项目介绍 随着时代的发展,我国的国民经济一直在稳步的提升,共享单车的是用来一直在不断的攀升,为了能够更加方便快捷的管理共享单车,需要开发一套利用计算机进行管理的JSP共享单车管理系统. 本项目利用软件 ...

  8. 基于Java+JSP+MySQL基于SSM的在线投票系统-计算机毕业设计

    项目介绍 随着社会的发展,人们在处理一些问题的时候不同意见越来越多,这源于人们对思想的解放和对社会的认识.所以在处理同一问题上,为了征求不同人的意见在线投票系统诞生了. 基于SSM的在线投票系统以钦州 ...

  9. 基于Java+JSP+MySQL基于SSM的医院挂号就诊系统——计算机毕业设计

    随着计算机科技的快速发展,很多地方都实现了自动化管理,医院也不例外.在大多数医院,无论是挂号处,还是取药的窗口,都会看到有很长的队伍,很显然这样会让患者就医的过程中浪费太多的时间.其次,对于那些年长的 ...

最新文章

  1. 中科院英文宣传“大片”来了!超燃
  2. pandas计算滑动窗口中的中位数实战(Rolling Median of a Pandas Column):计算单数据列滑动窗口中的中位数、计算多数据列滑动窗口中的中位数
  3. 程序设计类课程教学中创造技法的探索
  4. gcc s.lds 使用方法
  5. python超级计算机_Python高性能计算库——Numba
  6. mysql node
  7. 深度学习核心技术精讲100篇(二十一)-深入理解Dirichlet分布及过程
  8. mysql 恢复 二进制,mysql通过二进制日志恢复数据库
  9. css毛玻璃效果白边_使用css模拟vista毛玻璃效果
  10. 见过一些能力非常强的但创业总是失败
  11. QT 5.3 VS2010 中文
  12. 思科cisco模拟器路由器的基础配置
  13. Django笔记十一之外键查询优化select_related和prefetch_related
  14. 领导的本质就是:管理自己,影响别人
  15. 10--Django-ORM操作-choices参数、多对多的三种创建方式
  16. Bootstrap 导航元素( tab导航)标签页
  17. Java并发编程73道面试题及答案 —— 面试稳了 侵立删
  18. 电子元器件企业面临缺货涨价,SRM协同系统助力企业采购数字化智慧升级
  19. Java多线程--深入浅出Java多线程
  20. [安卓]安装低版本微信

热门文章

  1. python txt文件的数据筛选
  2. 武松杀潘金莲时为何先扯开其衣服?得知真相才明白武松多么机智!
  3. Unity-Live2d(表情系统,姿势动作与口型功能的实现)
  4. 按下鼠标滚轮c语言,C++检测鼠标某键是否按下
  5. 三个理由告诉你 为什么社保不能断缴
  6. 社保交了24年,还有十几年才到退休年龄。还有必要继续交下去吗?
  7. Fortify白盒神器20.1.1安装教程
  8. 五 . css系列之文本段落属性及应用
  9. 牛客:爬塔(STL)
  10. 墨画子卿第四章第6节:卷轴