SSH在校园二手商品交易平台中的应用

2018-01-01 00:00:00章胜江刘萍
现代信息科技 2018年5期

摘 要:本文设计的平台采用Struts2、Spring和Hibernate框架,并以MySQL为后台数据库进行开发。本平台的实现,为学生提供一个便捷的网上交易的平台,解决学生对二手物品的供需,提高校园的环境质量,同时对校园内资源的合理分配和绿色的生活方式也能起到一定的促进作用。

关键词:Struts2;Spring;Hibernate

中图分类号:TP311.52 文献标识码:A 文章编号:2096-4706(2018)05-0116-03

The Application of SSH in Second-hand Goods Online Trading

ZHANG Shengjiang,LIU Ping

(Nanchang Vocational College,Nanchang 330500,China)

Abstract:The platform designed in this paper adopts Struts2,Spring and Hibernate framework,and develops with MySQL as background database. The implementation of this platform provides a convenient platform for online trading for students to solve the students’ supply and demand of second-hand goods and improve the quality of the campus environment. At the same time,the rational distribution of resources in the campus and the green lifestyle can also play a certain role in promoting.

Keywords:Struts2;Spring;Hibernate

0 引 言

Spring是一个开源框架,优势为采用了分层的架构模式,允许用户任意选择其中的模块进行使用,因此可以用它把各种组件组装在一起,而各组件之间不会相互影响,所以通过Spring会满足开发人员对轻量级系统开发的一站式需求。其包含7个模块,如图1所示。

Struts2实现MVC机制,由接收到的客户端的请求通过Struts2的配置文件中的信息,将请求发送到特定的Action实例中,在通过Action调用JavaBean模型来处理业务逻辑,之后通过配置文件信息找到需要响应表示到的JSP视图,并响应给客户端的浏览器。由于Struts替代了本来作为控制器的Servlet部分,用户自定义编写的Action进行业务逻辑处理,与Struts2的控制核心分离开来,进一步降低了系统中组件的耦合度和编程的难度。

在这种模式中,是离不开Hibernate的。常用的做法是利用Hibernate的映射文件来完成实体类的数据成员与数据库表字段之间的映射,利用Hibernate配置文件来进行数据库连接的相关配置以及完成JDBC的连接等相关操作,达到通过Hibernate来实现针对实体类的操作并完成与数据库相关的操作。

1 核心模块的实现

本平台主要受众人群为在校的大学生。通过对二手商品的发布购买来实现学校内资源的充分利用。学生可以通过访问本系统,浏览和查找自己需求的二手商品,也可以将自己的二手物品通过本系统进行出售交易。用户功能方面,本系统需要注册才能进行商品的购买,浏览商品时点击商品查看商品的详细信息,点击购买按钮进入结算,之后可以对订单的状态进行查看,提交出售的商品信息要通过审核才能在平台上展示。用户对自己注册时录入的信息可以进行修改。管理员则可以对商品的信息、种类进行设置,可以对用户进行管理,以及对系统界面上的公告新闻等进行管理和修改。系统主要分为两个大的模块:用户模块可细分为登录注册模块与用户功能模块,对未注册的用户提供注册本系统的操作,已经注册的用户可直接登录本系统。用户可以对自己的信息进行查看和修改密码。进行商品购买,用户通过翻看或查找来选择自己心仪的物品,点击购买提交自己购买商品的订单。管理员模块,通过登录后台界面对系统的信息数据进行操作,包括商品类别的管理、商品信息的增加和修改、对用户的信息进行编辑、对订单的状态进行更改以及回复系统的留言等功能。

1.1 购物车实现

向购物车中添加商品时通过在Session中获取购物车中的信息,如果找不到,则新创建一个,之后获取当前已登录用户的id,如果不能查询到用户信息,则提示需要登录才能进行操作。将从Session中获取到的用户id放入购物车中后,再判断购物车中是否已经存在同样的商品,如果存在,则对其数量加1,并更新购物车的数据,最后把新的购物车的信息放入到Session中。具体代码如下:

HttpSession session=request.getSession();//取得See sion

Nc_Product product=productService.getProductById (productId);//通过id获取商品实体

ShoppingCart shoppingCart=(ShoppingCart) session.getAttribute(\"shoppingCart\");

//获取session中的购物车信息

if(shoppingCart==1){//找不到

shoppingCart=new ShoppingCart();

User currentUser=(User) session.getAttribute (\"currentUser\");//获取用户id

shoppingCart.setUserId(currentUser.getId());//加入购物车}

for(ShoppingCartItem scI:shoppingCartItemList){

if(scI.getProduct().getId()==product.getId()){

scI.setCount(scI.getCount()+1);//相同商品数量加1

break;}

}

1.2 订单管理实现

通过后台的订单管理对用户提交的购买物品的订单进行查看和改变状态,在此界面勾选订单,点击查看详情可以看到订单内包括的具体物品及其基本的信息。所谓改变状态,由于本系统尚未实现网上支付功能,订单的审核和状态都交由管理员进行统一处理。订单由买家提交后状态为待审核,管理员改变其为通过审核表示订单已经被卖家接受,当卖家与买家进行联系时则改变状态为已发货,此类状态买家可在个人中心处查看,关于此部分前文已经说明。当买家在个人界面点击了确认收货后则表示该项订单的交易已经完成,订单信息作为根据存储在系统中供用户查看。订单管理界面如图2所示。

通过判断订单表中标识的数值来确定要显示的订单状态,部分代码如下:

function checkorder(val,row){

if(val==1){return \"待审核\"; //标识为1为待审核状态

}else if(val==2){return \"审核通过\"; //标识为2为审核通过状态

}else if(val==3){

return \"卖家已发货\"; //标识为3为发货状态

}else if(val==4){

return \"交易已完成\"; //标识为4为交易完成状态}

其中前三种状态由管理员在后台进行编辑,最后交易完成则由买家点击确认收货按钮来对订单的状态标识进行更改,虽然界面不同,但实现方法是一致的,更改该标识的部分代码如下:

public void changemark(int val, String Onum) { //传入要设置的标识数值以及订单编号

List object=new LinkedList();//创建订单对象的集合

String hql=\"update Order set status=? where orderNo=?\";//要执行的hql语句

object.add(status); object.add(Onum);

nc_shop.dao.executeHql(hql, param);//调用自定义的基本类执行hql语句}

1.3 用户中心实现

用户登录后于主页点击自己的用户名则可跳转至用户中心。界面如图3所示。

用户中心包含修改个人信息、修改密码、提交商品、订单管理几项,修改个人信息即修改注册时填写的信息,输入信息后点击更改即可修改用户表中用户信息的内容,修改密码则是修改用户的登录密码,填写原密码以及新密码,旧密码核验无误即可成功修改密码。提交商品则提供给用户出售商品的界面,用户通过填写商品的信息以及上传图片给系统来展示自己要出售的物品,经由管理员在后台审核通过后即可在系统的主页上进行展示出售。订单管理可查看自己在购买是提交的商品及订单的状态。最后于此界面确认收货,完成交易的整个流程,之后订单状态就由确认收货变为交易已完成。

1.4 二手商品管理

管理员通过商品管理模块可实现对商品类别及具体商品信息的增加、删除、修改,其界面如图4所示。其中商品大类即为主页标签上方的类别,小类则是对大类的细化,如衣物包括西装、运动服等。其功能包括类别的增加、修改和删除。在后台管理界面管理员通过选择商品管理菜单,对此类信息进行编辑。

以删除操作为例,选中列表中的选项,点击删除按钮并确定对商品信息进行删除,部分代码如下:

$.post(\"product_delete.action\",{ids:ids},function(result)

if(result.success){//返回success提示成功

$.messager.alert(\"系统提示\",\"数据已成功删除!\");

$(\"#dg\").datagrid(\"reload\");//从新加载表格

}

else{$.messager.alert(\"系统提示\",\"数据删除失败!\");}

//界面通过请求将商品id组传到后台,并对返回JSON结果进行判定,下面位后台数据操作,完成则令JSON为success

for(int i=0;i

Product product=productService.getProductById (Integer.parseInt(idsStr[i]));

productService.deleteProduct(product);}

result.put(\"success\", true);//令返回结果为success

ResponseUtil.write(ServletActionContext.getResponse(), result);//工具类,用于编码格式转换,防止出现乱码return 1;

2 结 论

本文对SSH进行了研究,并将SSH应用于校园二手商品交易平台,实现了校园二手商品交易平台的基本功能,该平台解决了大学校园逢开学和毕业季,校园内出现各种摊点,影响校园秩序和形象,买卖双方的交易效率低等问题,而且利用该平台交易变得更加透明和放心,不仅能方便和满足某些学生的需求,对校园内资源的合理分配和绿色的生活方式也能起到一定的促进作用。

参考文献:

[1] 王瑾.基于SSH框架下的校园网上交易平台 [D].成都:电子科技大学,2014.

[2] Krill,Paul. Jooby framework simplifies Java Web development [J]. InfoWorld.com,2016.

[3] 阮喆.智能网上商城管理系统的设计与实现 [D].鞍山:辽宁科技大学,2015.

[4] 李黎.基于SSH的网上商城的设计与实现 [D].成都:电子科技大学,2015.

[5] 程晓萌.基于Web应用程序的商店在线交易系统(前台) [D].天津:天津大学,2014.

作者简介:章胜江(1977-),男,汉族,安徽东至人,硕士。从事信息技术管理。