1. 引言
研究现状
随着社会经济的发展,互联网产业取得了突飞猛进的增长,尤其是网购—订餐服务,但随之而来的问题是垃圾如何处理?近些年,在国家的大力倡导下,首先在国内一线城市纷纷出台了相关法律措施来完善垃圾分类工作 [1],同时取得了一定的成果,接下来普遍在二、三线城市进行推广,但是在一些老旧社区存在着很多的缺陷。比如:1) 居民大多都是中老年人,他们对垃圾分类的意识不够;2) 对垃圾分类知识的极度缺乏;3) 小区物业对垃圾分类的相关设施配备不齐,也没有进行相关知识宣传讲座 [2] ;4) 当地政府也没有相关管理职能部门去进行监督管理等问题。所以,垃圾分类就需要全体公民的一起参与,而建立一个简易、方便的城市垃圾分类系统,可以很有效的协助全体公民更好的完成分类,从而美化城市生活环境,增加社会资源效益 [3]。
2. 研究背景与意义
2.1. 研究意义
保护环境,人人有责。中国人口基数庞大,每年会产生大量垃圾,因此垃圾分类对美化小区环境具有重要意义 [4]。如果物业对垃圾分类的宣传不到位,居民无法正确认识到垃圾分类的重要性,导致了严重的资源浪费和环境污染,给居民生活来了严重不便。生活垃圾处理所带来的环境问题主要体现在如下几个方面:1) 环境污染,生活废弃物中存在着大量的有害废弃物,燃烧时又会形成巨大的有毒气体,从而导致环境污染,严重影响小区居民生活 [5]。2) 集中填埋,造成了严重的土地资源浪费,以及垃圾沉淀造成地下水污染,导致了大量的水资源浪费。3) 经济资源浪费,垃圾中含有大量的可回收垃圾,焚烧和填埋都会直接导致资源浪费。所以,垃圾分类对小区居民生活,经济以及环境保护都具有重要意义。
2.2. 研究内容
针对老旧小区垃圾分类及中老年人对垃圾分类的认识等问题,本文设计一种基于Java语言的一套垃圾分类管理系统 [6],采用“Spring + SpringMVC + Mybatis框架”,并以MySQL作为数据库,创建用户和管理员两种角色,来帮助中老年人更好地解决垃圾分类的一些主要问题。它可以帮助老年居民清晰了解垃圾的分类、垃圾站的信息等,同时系统管理员可以实时的对垃圾进行归类、小区管理和垃圾站的管理等功能。
此系统的主要技术优势有:1) Java编程语言是目前最热门的网络开发编程语言之一 [7],因为Java凭着优秀的通用度、高效率、平台迁移性,并且安全等优势迅速在市场上占领先机。2) Web技术是互联网界面中广泛应用的一种技术 [8]。3) MySQL企业数据库管理系统是一种关系式数据库系统,在Web领域方面,MySQL也是目前最佳的RDBMS领域之中。
3. 系统设计
3.1. 系统的基本功能
本管理系统设计主体包括使用者与管理员两部分。如图1所示。
用户功能:登录后可以查阅垃圾分类的相关情况,并且可以查询自己的社区垃圾站的地点信息以及垃圾站所对应的垃圾种类。
系统管理员功能:通过后台来管理垃圾系统的所有功能,并对这些数据进行增删查改。
3.2. 数据库设计
3.2.1. E-R图
E-R图是由实体及其关系所构成的图,通过ER图能够清晰的描绘出实体之间的联系。在系统中主要的四个实体如下所示:
1) 用户注册实体
用户注册实体包括了用户,管理员,账号,密码等属性。用户注册实体如图2所示。
2) 垃圾种类实体
垃圾种类实体包括了回收垃圾,不可回收垃圾,厨余垃圾,有害垃圾,其他垃圾等属性。垃圾种类实体如图3所示。
3) 垃圾分类实体
垃圾分类实体主要包含了垃圾种类,名称,图片等属性。垃圾分类实体如图4所示。
4) 垃圾站实体
垃圾站实体主要包括垃圾种类,地点,名称等属性。垃圾站实体如图5所示。
3.2.2. 数据库设计
该数据库系统基于功能分类和功能的模块图,在数据库系统中设置了以下四张图。
1) user表:负责保存在用户表的所有数据,如ID主键、密码username、用户密码以及是否为用户,如图表1中所示。
2) class表:用来存储垃圾分类数据,包含商品ID主键的垃圾分类,如表2所示。
3) rubbish表:用来存储垃圾信息,包含了垃圾隶属于的类型、垃圾数量等,如表3所示。
4) station表:用来存储垃圾分类信息,包含了垃圾隶属于的分类、垃圾站名称,如表4所示。
3.3. 系统流程图
本控制系统的主要功能流程图如图6所显示。系统管理员在后台负责管理所有用户信息,并对数据库 [9] 中的用户表进行增删查改等操作。如用户端在前台注册时就会在用户列表中加一个记录,注册时就会进行查询函数,如果账号和密码都与数据库中的资料相同,则就可以进行用户注册操作。
4. 系统实现
4.1. 系统的操作流程
4.1.1. 登录界面操作流程
管理员/用户如果想进入系统的第一步就是登录系统界面,选择登录对象,并在该界面中输入自己相对应的信息,如果输入信息错误,则系统提示错误,返回系统的第一步。如图7所示。
Figure 7. Operation procedure of the login interface
图7. 登录界面操作流程
4.1.2. 信息添加流程
管理员在后台添加相关数据时,首先判断是否合法,若合法则完成输入,不合法则退回上一级,重新输入。如图8所示。
Figure 8. Process of information addition
图8. 信息添加流程
4.1.3. 信息删除流程(管理员/用户)
管理员或者是用户在进入系统界面后,若对信息进行删除,则相应的系统数据信息无法恢复,所以系统会对用户或管理员进行判定,确认后将进行删除。如图9所示。
4.2. 系统前端实现
4.2.1. 登录界面
本文设计的登录界面方式:首先通过Java中的Jframe类来获得一个窗体,然后使用工具setLayout()来设置影响窗体主界的布局风格,接着创建一个容器和一个Label对象(将背景图片存入其中),并且Label对象可以通过Container类中的add()方式添加到容器中去,最后通过new JTextField()给窗体添加账号框完成这次设计。该界面为用户在输入自己的用户信息,后台核对无误后进入平台。界面如图10所示。
登录界面设计的相关主要代码为:
//窗体JFrame jf =new JFrame();
//窗体主界的布局风格
FlowLayout flow = new FlowLayout(),
jf.setLayout(flow).
//添加背景图片
ImageIcon image = new ImageIcon(D:\\SRT\\BeiJIng\\Pictures\\1.jpg),Jlabel jla =new Jlabel(image),jf.add(jla).
//添加账户框
Jlabel user = new Jlabel(“账号:”),jf.add(user).
JLabel user1 = new JLabel(密码:),if.add(user1).
Jlabel user = new Jlabel(“验证码:”),jf.add(user).
JTextFieldjtf1= new JTextField(),Dimension dm1 = new Dimension(380,25) ,jtf1.setPreferredSize(dm1);jf.add(jtf1).
4.2.2. 垃圾分类垃圾展示界面图
该垃圾分类页面的功能主要为:对垃圾类型等内容编辑,并可根据需要进行修改或删除操作。
在建立垃圾分类展示界面的相关操作:首先要连接数据库 [10],然后在src目录下创建一个connect目录(持久层)用于存放数据库操作的代码,一个domain目录(用于存放实体类),一个Test目录(用于测试代码),在创建一个Dao.java和一个 Mytest.java。在Java中写一个JSP页面,然后创建一个Rubbish.java,并生成该类的set,get方法,该类放在src目录下。然后再Dao.java放入全查询功能,web下创建selectNameRubbish.jsp文件。最后在Dao.java中放入插入删除查找等相关代码,并通过web来建立连接。界面如图11所示。
Figure 11. Display interface diagram of garbage classification and garbage classification
图11. 垃圾分类垃圾展示界面图
垃圾分类垃圾展示界面主要代码为:
Class.forName(com.mysql.cj.jdbc.Driver);
String url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf&&useSSL=true
String username=root
String password=root
Connection connection = DriverManager.getConnection(url,username,password);
Statement statement = connection.createStatement();
String sql = SELECT *FROM studentinfo;
4.2.3. 垃圾站展示界面图
该垃圾站页面主要功能为:查询垃圾站所存放的垃圾类型。该界面与上述建立的界面操作类似,界面如图12所示。
Figure 12. Display interface diagram of the garbage station
图12. 垃圾站展示界面图
查询垃圾站列表数据的主要代码为:
Query query=new Query(params);
List
fixList=fixService.queryList(query);
int total=fixService.queryTotal(query);
PageUtils pageUtil=new PageUtils(fixList,total,query.getLimit(), query.getPage());
return R.ok().put(page, pageUtil);
}
5. 系统测试
5.1. 测试内容
众所周知,在每个系统模块设计研发工作完成后,就需要完成系统软件测试,主要有软件的外部用户界面测试(UI测试),以及系统功能检测、性能试验、压力试验、系统稳定性试验等。在功能测试方面,主要是前端的用户注册以及前后端对垃圾分类以及垃圾种类的增删查改。而性能测试以及其他测试主要是测试软件在各种环境下功能能否正常运行。
5.2. 测试结果
本文设计的系统经功能测试、一系列测试下,得到的结果显示,系统具有足够的安全性和可靠性,并且可以熟练的对数据进行操作。
6. 结语
本文基于Java垃圾分类管理系统平台主要面向所有小区居民中的中老年群体。该系统有三大优点:1) 系统平台简单清晰;2) 系统操作容易,可几乎满足所有人使用,让大多数人能够清晰了解垃圾分类知识;3) 安全防护机制 [11],能够保证每位居民的信息隐私。因本文设计的垃圾分类管理系统适用群体的局限性、功能简单等问题,希望后期通过专业知识对系统进一步完善,增加用户与管理员之间互动交流、垃圾投掷点与垃圾站之间运输信息传递等功能。