您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页JavaWebSSM超市管理系统

JavaWebSSM超市管理系统

来源:华佗小知识
WORD格式

南 阳 理 工 学 院

Java企业级开发

学院(系):

业:

软件学院 移动1班

完成日期 2018 年12月

专业资料整理

WORD格式

目录

一、项目简介 二、项目需求分析 三、功能模块分析 四、概要设计

1. 功能模块图 2. 数据库ER图 3. 数据表

五、项目实现

1. 项目关键代码 2. 界面抓图

专业资料整理

WORD格式

能够就行网页浏览,在浏览器中需要地址栏对指定页面进行访问,

钮进行跳转,在前后浏览页面之间要能够进行跳转,

查的操作,开发这个网站可以正常实现连接

并且能够查看页面源代码。页面源代码查看,前进,后退,主页,停止,刷新等

功能。Tomcat服务器则实现了

不当的情况下有相应的信息提示,错误处理机制完备

应错误处理机制,功能模块之前划分比较细致,有利于发现问题后的及时解决,

该实验设计是基于Windows操作系统平台设计并实现的电商网站开发系统,其主要目的就是用户能够使用该系统进行商品的增删改查操作,以及用户的注册与登陆,同时方便系统管理员在网络直接进行各种商品操作。

1. 用户登陆与注册管理模块 Login+Regist

在做好完备的功能模块详细设计之后,系统的开发时间会大幅减少。 二、项目需求分析

.系统各个模块之间都有相

IP设置,根目录设置,统计信息展示等。在操作

TomCat网络,能够进行网页浏览,

并且连接数据库完成增删改

需要专门的按

一、项目简介

主要是根据需求分析,该实验实现了浏览器和浏览器服务器的交互,

浏览器

专业资料整理

WORD格式

2. 网站商品管理模块 Goods

三、功能模块分析

1、DAO层:持久层 主要与数据库进行交互

DAO层首先会创建

DAO接口,也就是说DAO层里面有一个专门写接口

的类,然后会在配置文件(

xml文件,也就是写

SQL语句的文件,所

以说DAO层是与数据库进行交互的层)中定义该接口的实现类, 接着就可以在模块中就可以调用

DAO的接口进行数据业务的而处理,

并且不用关注此接口的具体实现类是哪一个类。 DAO层的数据源和数

据库连接的参数都是在配置文件中进行配置的。 2、Entity

层:实体层

数据库在项目中的类 3、Service层:业务层

控制业务

Service层主要负责业务模块的逻辑应用设计。和 DAO层一样都是先专业资料整理

WORD格式

用 户

登 陆

注 册

退 出

1. 功能模块图

设计放接口的类,再创建实现的类,然后在配置文件中进行配置其实 现的关联。接下来就可以在 处理。

封装Service层的业务逻辑有利于业务逻辑的性和重复利用性。 4、Controller Controller

层:控制层

控制业务逻辑 service

层调用接口进行业务逻辑应用的

层负责具体的业务模块流程的控制,其实就是与前台互

controller

层主要调用Service

交,把前台传进来的参数进行处理, 层里面的接口控制具体的业务流程, 进行。 四、概要设计

控制的配置也需要在配置文件中

电商网站

商 品

显 示

专业资料整理

WORD格式

2. 数据库ER图

3. 数据表 Goods表

Goods_user表

已存储的商品信息表

专业资料整理

WORD格式

五、项目实现

专业资料整理

WORD格式

Controller层 商品实现代码:

专业资料整理

WORD格式

Controller层 用户实现代码:

专业资料整理

WORD格式

Dao层

商品实现代码:

对应的mapper文件

专业资料整理

WORD格式

Dao层

商品实现代码:

对应的mapper文件

对应的实体:

Service层:

专业资料整理

WORD格式

专业资料整理

WORD格式

专业资料整理

WORD格式

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.RequestMa

}

@RequestMapping(\"/selectAll\")

publicStringselectAll(HttpServletRequestrequest)throwsExc

eption{Listgoods=goodsService.selectAll();requ

}

@RequestMapping(\"/selectByID\") }

@RequestMapping(\"/delete\")

publicStringdelete(Integerid)throwsException{

goodsService.delete(id);

return\"forward:/goods/selectAll.do\"; }

@RequestMapping(\"/save\") publicStringsave(Goodsgoods){

goodsService.save(goods);

return\"forward:/goods/selectAll.do\"; est.setAttribute(\"goods\

return\"forward:/product/productlist.jsp\"; }

publicvoidsetGoodsService(GoodsServicegoodsService){

this.goodsService=goodsService;

pping;importcom.entity.Goods; importcom.service.GoodsService; @Controller

@RequestMapping(\"/goods\") publicclassGoodsController{

@Autowired

privateGoodsServicegoodsService; publicGoodsServicegetGoodsService(){

returngoodsService;

专业资料整理

WORD格式

publicStringselectByID(Integerid,HttpServletRequestr

equest){Goodsgoods=goodsService.selectByID(id);r

}

equest.setAttribute(\"goods\return\"forward:/product/update.jsp\";

专业资料整理

WORD格式

} User:

packagecom.controller;

importjavax.servlet.http.HttpSession;

importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controll

} // 登录

@RequestMapping(\"/login\") }

// 注册

@RequestMapping(\"/register\")//

//调用Service中的注册功能 userService.register(user); //跳转器

return\"forward:/user/login.html\"; }

publicvoidsetUserService(UserServiceuserService){

this.userService=userService;

er;

importorg.springframework.web.bind.annotation.RequestMapping; importcom.entity.User;

importcom.service.UserService; @Controller

@RequestMapping(\"/user\") publicclassUserController{

@Autowired

privateUserService userService; publicUserServicegetUserService(){

returnuserService; }

@RequestMapping(\"/updateGoods\") publicStringupdateGoods(Goodsgoods){

System.out.println(goods); goodsService.updateGoods(goods); return\"forward:/goods/selectAll.do\";

接受数据

public Stringregister(Useruser)throwsException{

专业资料整理

WORD格式

public String login(String user_name,String password,HttpSession session) throwsException{

专业资料整理

WORD格式

Useruser=userService.login(user_name,password); if(user!=null){

session.setAttribute(\"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{

// 查询所有商品

publicListselectAll(); // 添加商品

publicvoidsave(Goodsgoods); // 删除商品

publicvoiddelete(Integerid); // 通过ID查询

publicGoodsselectByID(Integerid); // 修改商品信息

publicvoidupdateGoods(Goodsgoods); }

对应mapper文件

//mybatis.org//DTDMapper3.0//EN\" \"../mybatis-3-mapper.dtd\"

>

>

keyProperty =\"id\"

resultType =\"in

t\"

selecta.next

valfromdual

WORD格式

order =\"BEFORE\" >

专业资料整理

WORD格式

insertintogoods(id,name,price,description)

values(#{id},#{name},#{price},#{description})

deletefromgoodswhereid=#{id}

< updateid=\"updateGoods\">upd

ategoods

t >

tes=\"name!=null

name=#{name}, f >

tes=\"price!=nul price=#{price}, f >

tes=\"descriptio

description=#{descrip tion} f > whereid=#{id}

User:

packagecom.dao;

importorg.apache.ibatis.annotations.Param; importcom.entity.User; publicinterfaceUserDAO{

//

插入一条数据

publicvoidsave(Useruser);

// 通过user_name和password查询 public User selectByUsernameAndPassword(@Param(\"u\")String

user_name,@Param(\"p\")Stringpassword); }

对mapper 文件

专业资料整理

WORD格式

PUBLIC \"-//mybatis.org//DTDMapper3.0//EN\"

>

\"../mybatis-3-mapper.dtd\"

insertintogoods_user(user_name,name,age,password,sex) values(#{user_name},#{name},#{age},#{password},#{sex})

专业资料整理

WORD格式

Entity 层: goods:

packagecom.entity; public classGoods{

private Integer id; private String name; private double price; private String description;

public IntegergetId(){

return id;

}

public voidsetId(Integerid){

this.id=id; }

public StringgetName(){

return name; }

public voidsetName(Stringname){

this.name=name; }

public doublegetPrice(){

return price; }

public voidsetPrice( doubleprice){

this.price =price; }

public StringgetDescription(){

return description ; }

public voidsetDescription(Stringdescription){

this.description =description;

}

专业资料整理

public Goods(Integerid,Stringname,

this.id=id;

WORD格式

this.name=name; this.price =price;

this.description =description;

doubleprice,Stringdescription){

}

专业资料整理

WORD格式

}

@Override

public StringtoString(){

return

i+\d

\"Goods[id=\"++iption+\"]\";

+ price

public Goods(){

super();

// TODOAuto-generatedconstructorstub

public

\

}

} User:

packagecom.entity; public class User{

private String user_name; private String name; private int age;

private String password; private String sex;

public StringgetUser_name(){

return user_name; }

public voidsetUser_name(Stringuser_name){

this.user_name=user_name;

}

public StringgetName(){

return name; }

public voidsetName(Stringname){

this.name=name; }

int getAge(){

return

age;

}

public voidsetAge( int age){

this.age=age; }

public StringgetPassword(){

return password; 专业资料整理

WORD格式

}

public voidsetPassword(Stringpassword){

this.password=password; }

public StringgetSex(){

专业资料整理

WORD格式

}

service 层 Goods:

packagecom.service; importjava.util.List; importcom.entity.Goods; publicinterfaceGoodsService{

// 查询所有商品

publicListselectAll(); // 增加商品

publicvoidsave(Goodsgoods); // 删除商品

publicvoiddelete(Integerid); // 通过ID查询

publicGoodsselectByID(Integerid); // 修改 } }

@Override

public StringtoString(){

return \"User[user_name=\" + user_name+ \+ name+ \

+age+

\+ password+ \+ sex+\"]\";

}

public User(){

super();

// TODOAuto-generatedconstructorstub }

public User(Stringuser_name,Stringname,

Stringsex){

this.user_name=user_name; this.name=name; this.age=age;

this.password=password; this.sex=sex;

}

public voidsetSex(Stringsex){

this.sex=sex;

int age,Stringpassword,

return sex;

专业资料整理

WORD格式

}

publicvoidupdateGoods(Goodsgoods);

专业资料整理

WORD格式

对应服务层接口: packagecom.service; importjava.util.List;

importorg.springframework.beans.factory.annotation.Au

} }

@Override

publicGoodsselectByID(Integerid){

Goodsgoods=goodsDAO.selectByID(id); returngoods; }

@Override

publicvoiddelete(Integerid){

goodsDAO.delete(id); }

@Override

publicvoidsave(Goodsgoods){

goodsDAO.save(goods); }

@Override // 提高查询效率

@Transactional(propagation=Propagation.SUPPORTS,readOnly=true) publicListselectAll(){

Listgoods=goodsDAO.selectAll(); returngoods; }

publicvoidsetGoodsDAO(GoodsDAOgoodsDAO){

this.goodsDAO=goodsDAO;

towired;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;

专业资料整理

WORD格式

@Override

publicvoidupdateGoods(Goodsgoods){

goodsDAO.updateGoods(goods);

}

专业资料整理

WORD格式

}

对应服务层接口: packagecom.service;

importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;

}

@Override // 提高查询效率

@Transactional(propagation=Propagation.SUPPORTS,readOnly=true) }

@Override

publicvoidregister(Useruser){

userDAO.save(user); }

publicvoidsetUserDAO(UserDAOuserDAO){

this.userDAO=userDAO;

importorg.springframework.transaction.annotation.Propagation; importorg.springframework.transaction.annotation.Transactional; importcom.dao.UserDAO; importcom.entity.User; @Service @Transactional

publicclassUserServiceImplimplementsUserService{

@Autowired

privateUserDAOuserDAO; publicUserDAOgetUserDAO(){

returnuserDAO;

} User;

packagecom.service; importjava.util.List; importcom.entity.User; publicinterfaceUserService{ // 注册

publicvoidregister(Useruser); // 登录

publicUserlogin(Stringuser_name,Stringpassword);

专业资料整理

WORD格式

publicUserlogin(Stringuser_name,Stringpassword){

Useruser=userDAO.selectByUsernameAndPassword(user_name,password); returnuser;

专业资料整理

WORD格式

}

}

结束语:

本次实验的设计与开发,是对本学期学习的一种很好的总结,在本学期的实验中,本次实验很具有挑战性,因此我选择了这个项目作为我的实验项目,在完成了实验的时候,我也遇到了许多困难与错误,在需求不明确的时候盲目的开发造成错误百出,某些知识点的掌握还不够,也有一些地方与预期不相符,我不得不查询各种资料,在一次次探讨之中,我慢慢的掌握的许多知识,在这些知识的认识之下,完成了该实验的设计与开发,技术与业务能力也有所提高,这对以后的事业发展有一定的积极影响作用

专业资料整理

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务