杨子鑫 余小兰
摘 要:随着我国信息化建设的推进,电子商务平台为农副产品市场提供了更加广阔的销售渠道,越来越多的人开始运用互联网来推广农副产品。文章介绍了基于SSM的农产品销售系统设计与实现,网站的设计采用模块化的设计思想,在Windows操作系统环境下,搭建SSM(Spring+SpringMVC+Mybatis)框架,用MySQL来储存数据,通过使用JAVA脚本语言完成动态的、交互的web服務器应用程序,以实现本系统的主要功能。本系统主要分为两部分:前台的用户系统和后台的管理系统。
关键词:JSP;农产品;网上销售系统;MySQL
中图分类号:TP311 文献标识码:A文章编号:2096-4706(2021)15-0033-04
Abstract: With the advancement of China’s information construction, E-Commerce platform provides a broader sales channel for the agricultural and sideline products market. More and more people begin to use the internet to promote agricultural and sideline products. This paper describes the design and implementation of a SSM-based agricultural product sales system. The design of the website adopts modular design idea, in the windows operating system environment, builds SSM (Spring + SpringMVC + Mybatis) framework, uses MySQL to store data, and completes the dynamic and interactive web server application by using JAVA script language to realize the main functions of the system. The system is mainly divided into two parts: the front user system and the background management system.
Keywords: JSP; agricultural products; online sales system; MySQL
0 引 言
在当今时代,信息技术的突破使得空间距离已不再成为限制,真正实现了地球村的理想,以互联网为标榜的现代化信息网络快速扩张到人们生活的方方面面。本文设计并开发一套性能良好的基于互联网技术的农产品在线销售系统,通过不断发展的互联网技术来规划管理模式,可以拓宽农产品销售渠道,提高农村企业的管理效率[1]。本次基于ssm的农产品销售系统的开发,主要提供了用户注册和登录、浏览商品、加购物车、留言、提交订单的功能,管理员的登录、订单管理、用户管理、留言管理、商品管理的功能。通过对开发所用的框架介绍、技术分析、需求分析、数据库分析和功能分析来介绍与实现本系统。
1 系统框架介绍
SSM即Spring+SpringMVC+MyBatis,页面发送请求给控制器(进入SpringMVC范围),控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互(MyBatis起作用),后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据(SpringMVC起作用)。在此过程中,Spring作为一个容器,将整个过程都囊括进去。
2 主要技术选型介绍
2.1 JSP简介
JSP技术主要以JAVA语言为脚本语言,其本质是对SERVLETAPI的延伸,其中有对动态内容的可执行应用程序HLML静态网页,通过JSP技术的发展,不仅实现了混合程序代码的高效处理,还通过扫描和分析,帮助引擎系统的管理更加规范化[2]。在接收到访问JSP网页的request请求时,Web服务器端可以实现很多的功能设计。
2.2 Tomcat服务器简介
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器。为个人、小企业开发和调试JSP程序提供很大的帮助[3]。Tomcat不需要程序员自己写服务器、自己写输入流、输出流,来来回回自己传递字节或字符流,最重要的是Tomcat免费,并且开源,这大大方便了程序员编程,节省了每次来回写输入流、输出流的时间。
2.3 MySQL数据库介绍
MySQL是一种小型的数据库,所以相比其他大型数据库就有了占用系统内存少、速度和反应快、浪费资源少、成本低等之类的优点,凭借它所占用的体积小、运行速率快、各方面性能优越等多个优点而被广泛使用[4]。所以就选择了MySQL作为本系统所搭建的网站的数据库。
2.4 SSM简介
本文使用SSM框架,即Spring,SpringMVC和MyBatis框架的整合。Spring是一个容器,里面装了很多Bean即实体对象,之后要用到这些对象对应的类的方法,可以直接从容器里面调取,就不用再去new一个;SpringMVC在项目中拦截用户请求,核心是servlet,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作;MyBatis是对jdbc的封装,它让数据库底层操作变得透明,在每次与数据库交互时,MyBatis使用简单的XML或注解进行配置和原始映射,将接口和Java对象映射成数据库中的记录[5]。
3 数据库设计
农产品销售管理体系的成功是靠两个重要部分完成的,前台和后台管理。作为用户上网浏览看到的界面,本系统页面功能全面、易操作,让用户能够方便快捷地使用本系统,为用户直接展示的功能界面主要包括商品一级、二级分类、按名称搜索商品,用户注册登录后可加购、提交订单等;后台管理系统主要分为用户管理、商品类别管理、商品管理、訂单管理等。以上是整个系统所提供的主要功能,整个系统的数据库核心表包括用户表、管理员表、一级类别表、二级类别表、商品表、购物车表、订单表和订单明细表,E-R图如图1所示。
4 模块设计
4.1 功能模块
后台管理的管理部分分为商品类别管理、商品管理、订单管理、用户管理和安全退出操作。管理员登录到后台就可以对商品、订单和用户进行管理操作。商品类别管理:商品类别有一级分类和二级分类,管理员可以增删改查商品的类别;商品管理:管理员可以向系统中添加各种产品,也可以查看或修改商品的信息,同时也可以根据季节或产品的销量来决定是否把一些蔬菜放到热销商品区或者是下架;订单管理:管理员可以查看所有已提交订单的信息,包括订单编号、金额、收货人信息、订单状态等,用户提交后的订单也需要管理员受理才能完成订单;用户管理:管理员可以查看所有用户,也可以修改自己的密码。功能模块设计如图2所示。
4.2 功能描述
4.2.1 管理员登录/退出
管理员登录/退出功能的具体设计为:
(1)由于管理员的权限很大,也为了保障系统安全,因此后台管理是没有注册功能的。
(2)管理员的登录,在输入账号密码之后,点击系统页面中的“登录”按钮,用户的登录也是通过在输入用户名和密码之后,点击“登录”按钮实现的。以用户登录为例,通过action=“userLogin.action”找到对应controllor里的userLogin()方法,再调用相应的service进行业务逻辑处理,用Mabytis自动生成example类完成对SQL语句的查询。Controller层代码为:
UserloginUser=userService.
loginFindByUnameAndPwd(user.getUsername,user.getPassword());
if (loginUser == null) {
User user1=user;
user1.setPassword(“”);
request.getSession().setAttribute(“userinfo”, user1);
request.getSession().setAttribute(“message”,
“密码输入错误请重新登陆”);
return “redirect:login.action”;
}
request.getSession().setAttribute(“loginUser”, loginUser);
Service层使用mybatis生成的example中的Criteria的方法,先创建一个example,然后再创建SQL语句条件对象criteria ,再添加SQL语句where子句的条件,最后执行查询,返回结果。主要代码为:
public User loginFindByUnameAndPwd(String username, String password)
throws Exception {
UserExample example = new UserExample();
UserExample.Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo(username);
criteria.andPasswordEqualTo(password);
List<User> list = userMapper.selectByExample(example);
if(list.size()>0 && list!=null){
return list.get(0);
}
return null;
(3)用户和管理员退出系统是由userLogout()方法实现的,当用户或者管理员点击退出,将会删除该用户的状态属性,并且等待5秒自动跳转到系统首页,代码为:
request.getSession().removeAttribute(“loginUser”);
response.setHeader(“refresh”, “5;url=/shop/index.action”);//五秒刷新并跳转到首页
4.2.2 用户管理
用户管理包括对用户和管理员的管理:
(1)管理员点击“用户管理”进入管理页面,页面将显示所有系统用户的注册表的数据,包括账号、姓名、电话、注册日期等。
(2)管理员可以在管理员管理界面修改密码。
4.2.3 订单管理
订单管理功能主要包括:
(1)订单管理模块,管理员可以查看所有订单、未付款订单和已付款订单的详细信息。
(2)管理员可以查看和修改用户已提交订单的订单状态(即是否发货)。
(3)管理员可以根据订单编号搜索订单。
4.2.4 商品管理
商品管理功能主要包括:
(1)管理员可以查看所有商品以及商品的信息。
(2)管理员可以修改已有商品资料,可以根据商品分类查询或按关键字分页查询商品。
(3)管理员可以根据季节或产品的销量来决定是否把一些蔬菜的状态调整为下架;也可以根据商品的销量调整该商品是否为热门商品。
(4)管理员可以添加新的商品,新增商品时需要填写商品的信息(包括上传商品的图片),关键代码为:
if (file != null) {
String path = request.
getServletContext().getRealPath(“/products”);
String uploadFileName = file.getOriginalFilename();
String fileName = UUIDUtiils.getUUID() + uploadFileName;
File diskFile = new File(path + “//” + fileName);
file.transferTo(diskFile);
product.setImage(“products/” + fileName);
}
System.out.println(product.getImage());
productService.adminProduct_save(product);
return “redirect:/admin/adminProduct_
findAllByPage.action?page=1”;
}
4.2.5 商品类别管理
商品类别管理功能主要包括:
(1)在商品类别管理中,分为一级分类和二级分类。一级分类为肉禽蛋奶、蔬菜水果等大类,二级分类则为详细的蔬菜、水果、肉类等。管理员可以新增每一级别的种类。
(2)管理员可以修改商品的类别,也可以删除不需要的商品类别。
4.3 部分项目成果展示
平台主界面如图3所示。
5 结 论
农产品销售系统采用JSP+Tomcat+MySQL,基于SSM框架,为农产品提供了销售渠道,用户利用本系统下单,可以有效地节省时间,为劳动人民提供便利的同时,也让顾客享受到了便利。本系统虽然页面比较简单,但是所拥有的功能可以满足用户的基本需求。然而仍有需要改進完善的地方,在后续过程中会增加部分功能,根据用户的需求,不断优化下去,让用户获得更好的体验。
参考文献:
[1] 陈燕.基于MVC架构的农产品在线销售管理系统设计与开发 [J].信息与电脑(理论版),2020,32(12):110-112.
[2] 翁春荣.浅谈JSP的网络数据库连接技术及运用 [J].网络安全技术与应用,2021(8):51-52.
[3] 王联俊,何伟,张娜娜,等.Tomcat AJP任意文件读取漏洞的检测与修复 [J].信息技术与信息化,2020(8):14-16.
[4] 林伟婷.C/S与B/S架构技术比较分析 [J].科技资讯,2018,16(13):15-16.
[5] 李治江.化工产品电子商务平台的设计与实现 [D].北京:北京交通大学,2019.
作者简介:杨子鑫(2000—),女,汉族,河北邯郸人,本科在读,研究方向:JAVA;余小兰(1985—),女,汉族,重庆人,讲师,硕士,研究方向:计算机网络、网络安全、云计算、数据库应用。
3272500338237