JavaWebSSM超市管理系统方案.docx
- 文档编号:4944446
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:27
- 大小:699.72KB
JavaWebSSM超市管理系统方案.docx
《JavaWebSSM超市管理系统方案.docx》由会员分享,可在线阅读,更多相关《JavaWebSSM超市管理系统方案.docx(27页珍藏版)》请在冰豆网上搜索。
JavaWebSSM超市管理系统方案
南阳理工学院
Java企业级开发
学院(系):
软件学院
专业:
移动1班
完成日期2018年12月
1、项目简介
2、项目需求分析
3、功能模块分析
4、概要设计
1.功能模块图
2.数据库ER图
3.数据表
5、项目实现
1.项目关键代码
2.界面抓图
1、项目简介
主要是根据需求分析,该实验实现了浏览器和浏览器服务器的交互,浏览器能够就行网页浏览,在浏览器中需要地址栏对指定页面进行访问,需要专门的按钮进行跳转,在前后浏览页面之间要能够进行跳转,并且连接数据库完成增删改查的操作,开发这个网站可以正常实现连接TomCat网络,能够进行网页浏览,并且能够查看页面源代码。
页面源代码查看,前进,后退,主页,停止,刷新等功能。
Tomcat服务器则实现了IP设置,根目录设置,统计信息展示等。
在操作不当的情况下有相应的信息提示,错误处理机制完备.系统各个模块之间都有相应错误处理机制,功能模块之前划分比较细致,有利于发现问题后的及时解决,在做好完备的功能模块详细设计之后,系统的开发时间会大幅减少。
2、项目需求分析
该实验设计是基于Windows操作系统平台设计并实现的电商网站开发系统,其主要目的就是用户能够使用该系统进行商品的增删改查操作,以及用户的注册与登陆,同时方便系统管理员在网络直接进行各种商品操作。
1.用户登陆与注册管理模块
Login+Regist
2.网站商品管理模块
Goods
三、功能模块分析
1、DAO层:
持久层主要与数据库进行交互
DAO层首先会创建DAO接口,也就是说DAO层里面有一个专门写接口的类,然后会在配置文件(xml文件,也就是写SQL语句的文件,所以说DAO层是与数据库进行交互的层)中定义该接口的实现类,
接着就可以在模块中就可以调用DAO的接口进行数据业务的而处理,并且不用关注此接口的具体实现类是哪一个类。
DAO层的数据源和数据库连接的参数都是在配置文件中进行配置的。
2、Entity层:
实体层数据库在项目中的类
3、Service层:
业务层控制业务
Service层主要负责业务模块的逻辑应用设计。
和DAO层一样都是先设计放接口的类,再创建实现的类,然后在配置文件中进行配置其实现的关联。
接下来就可以在service层调用接口进行业务逻辑应用的处理。
封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。
4、Controller层:
控制层控制业务逻辑
Controller层负责具体的业务模块流程的控制,其实就是与前台互交,把前台传进来的参数进行处理,controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也需要在配置文件中进行。
四、概要设计
1.功能模块图
2.数据库ER图
3.数据表
Goods表
Goods_user表
已存储的商品信息表
五、项目实现
Controller层
商品实现代码:
Controller层
用户实现代码:
Dao层
商品实现代码:
对应的mapper文件
Dao层
商品实现代码:
对应的mapper文件
对应的实体:
Service层:
controller层:
Goods:
packagecom.controller;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importcom.entity.Goods;
importcom.service.GoodsService;
@Controller
@RequestMapping("/goods")
publicclassGoodsController{
@Autowired
privateGoodsServicegoodsService;
publicGoodsServicegetGoodsService(){
returngoodsService;
}
publicvoidsetGoodsService(GoodsServicegoodsService){
this.goodsService=goodsService;
}
@RequestMapping("/selectAll")
publicStringselectAll(HttpServletRequestrequest)throwsException{
List
request.setAttribute("goods",goods);
return"forward:
/product/productlist.jsp";
}
@RequestMapping("/save")
publicStringsave(Goodsgoods){
goodsService.save(goods);
return"forward:
/goods/selectAll.do";
}
@RequestMapping("/delete")
publicStringdelete(Integerid)throwsException{
goodsService.delete(id);
return"forward:
/goods/selectAll.do";
}
@RequestMapping("/selectByID")
publicStringselectByID(Integerid,HttpServletRequestrequest){
Goodsgoods=goodsService.selectByID(id);
request.setAttribute("goods",goods);
return"forward:
/product/update.jsp";
}
@RequestMapping("/updateGoods")
publicStringupdateGoods(Goodsgoods){
System.out.println(goods);
goodsService.updateGoods(goods);
return"forward:
/goods/selectAll.do";
}
}
User:
packagecom.controller;
importjavax.servlet.http.HttpSession;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
importcom.entity.User;
importcom.service.UserService;
@Controller
@RequestMapping("/user")
publicclassUserController{
@Autowired
privateUserServiceuserService;
publicUserServicegetUserService(){
returnuserService;
}
publicvoidsetUserService(UserServiceuserService){
this.userService=userService;
}
//注册
@RequestMapping("/register")//接受数据
publicStringregister(Useruser)throwsException{
//调用Service中的注册功能
userService.register(user);
//跳转器
return"forward:
/user/login.html";
}
//登录
@RequestMapping("/login")
publicStringlogin(Stringuser_name,Stringpassword,HttpSessionsession)throwsException{
Useruser=userService.login(user_name,password);
if(user!
=null){
session.setAttribute("name",user.getUser_name());
Stringname=(String)session.getAttribute("name");
System.out.println(name);
//跳转页面
return"forward:
/goods/selectAll.do";
}else{
return"forward:
/user/login.html";
}
}
}
dao层
Goods:
packagecom.dao;
importjava.util.List;
importcom.entity.Goods;
publicinterfaceGoodsDAO{
//查询所有商品
publicList
//添加商品
publicvoidsave(Goodsgoods);
//删除商品
publicvoiddelete(Integerid);
//通过ID查询
publicGoodsselectByID(Integerid);
//修改商品信息
publicvoidupdateGoods(Goodsgoods);
}
对应mapper文件
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""../mybatis-3-mapper.dtd">
select*fromgoodsorderbyid
select*fromgoodswhereid=#{id}
selecta.nextvalfromdual
insertintogoods(id,name,price,description)values(#{id},#{name},#{price},#{description})
deletefromgoodswhereid=#{id}
updategoods
=null"> name=#{name}, =null"> price=#{price}, description=#{description} whereid=#{id} User: packagecom.dao; importorg.apache.ibatis.annotations.Param; importcom.entity.User; publicinterfaceUserDAO{ //插入一条数据 publicvoidsave(Useruser); //通过user_name和password查询 publicUserselectByUsernameAndPassword(@Param("u")Stringuser_name,@Param("p")Stringpassword); } 对应mapper文件 xmlversion="1.0"encoding="UTF-8"? > DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""../mybatis-3-mapper.dtd"> insertintogoods_user(user_name,name,age,password,sex)values(#{user_name},#{name},#{age},#{password},#{sex}) select*fromgoods_userwhereuser_name=#{u}andpassword=#{p} Entity层: goods: packagecom.entity; publicclassGoods{ privateIntegerid; privateStringname; privatedoubleprice; privateStringdescription; publicIntegergetId(){ returnid; } publicvoidsetId(Integerid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicdoublegetPrice(){ returnprice; } publicvoidsetPrice(doubleprice){ this.price=price; } publicStringgetDescription(){ returndescription; } publicvoidsetDescription(Stringdescription){ this.description=description; } publicGoods(Integerid,Stringname,doubleprice,Stringdescription){ this.id=id; this.name=name; this.price=price; this.description=description; } publicGoods(){ super(); //TODOAuto-generatedconstructorstub } @Override publicStringtoString(){ return"Goods[id="+id+",name="+name+",price="+price +",description="+description+"]"; } } User: packagecom.entity; publicclassUser{ privateStringuser_name; privateStringname; privateintage; privateStringpassword; privateStringsex; publicStringgetUser_name(){ returnuser_name; } publicvoidsetUser_name(Stringuser_name){ this.user_name=user_name; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicintgetAge(){ returnage; } publicvoidsetAge(intage){ this.age=age; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicStringgetSex(){ returnsex; } publicvoidsetSex(Stringsex){ this.sex=sex; } publicUser(Stringuser_name,Stringname,intage,Stringpassword, Stringsex){ this.user_name=user_name; this.name=name; this.age=age; this.password=password; this.sex=sex; } publicUser(){ super(); //TODOAuto-generatedconstructorstub } @Override publicStringtoString(){ return"User[user_name="+user_name+",name="+name+",age=" +age+",password="+password+",sex="+sex+"]"; } } service层 Goods: packagecom.service; importjava.util.List; importcom.entity.Goods; publicinterfaceGoodsService{ //查询所有商品 publicList //增加商品 publicvoidsave(Goodsgoods); //删除商品 publicvoiddelete(Integerid); //通过ID查询 publicGoodsselectByID(Integerid); //修改 publicvoidupdateGoods(Goodsgoods); } 对应服务层接口: packagecom.service; importjava.util.List; importorg.springframework.beans.factory.annotation.Autowired; importorg.springframework.stereotype.Service; importorg.springframework.transaction.annotation.Propagation; importorg.springframework.transaction.annotation.Transactional; importcom.dao.GoodsDAO; importcom.entity.Goods; @Service @Transactional publicclassGoodsServiceImplimplementsGoodsService{ @Autowired privateGoodsDAOgoodsDAO; publicGoodsDAOgetGoodsDAO(){ returngoodsDAO; } publicvoidsetGoodsDAO(GoodsDAOgoodsDAO){ this.goodsDAO=goodsDAO; } @Override //提高查询效率 @Transactional(propagation=Propagation.SUPPORTS,readOnly=true) publicList List returngoods; } @Override publicvoidsave(Goodsgoods){ goodsDAO.save(goods); } @Override pub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaWebSSM 超市 管理 系统 方案