首页 分享 基于Java Web的鲜花商城系统的设计

基于Java Web的鲜花商城系统的设计

来源:花匠小妙招 时间:2024-12-03 12:28

末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用JSP技术开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是

目录

一、项目简介

二、系统功能

三、系统项目截图

个人中心

用户管理

基础数据管理

论坛管理

轮播图管理

公告信息管理

鲜花管理

鲜花订单管理

鲜花收藏管理

鲜花留言管理

鲜花评价管理

四、核心代码

登录相关

文件上传

封装

一、项目简介

当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。传统的鲜花商城信息管理模式,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人结合使用主流的程序开发技术,设计了一款基于Java Web的鲜花商城系统,可以较大地减少人力、财力的损耗,方便相关人员及时更新和保存信息。本系统主要使用B/S开发模式,在idea集成开发环境下,采用Java语言编码设计系统功能,MySQL数据库管理相关的系统数据信息,JSP技术设计和开发系统动态界面,最后通过使用Tomcat服务器,在浏览器中发布设计的系统,并且完成系统与数据库的交互工作。本文对系统的需求分析、可行性分析、技术支持、功能设计、数据库设计、功能测试等内容做了较为详细的介绍,并且在本文中也展示了系统主要的功能模块设计界面和操作界面,并对其做出了必要的解释说明,方便用户对系统进行操作和使用,以及后期的相关人员对系统进行更新和维护。通过设计基于Java Web的鲜花商城系统,可以极大地提高鲜花商城的工作效率,提升用户的使用体验。

二、系统功能

通过结合系统分析阶段的相关内容,对系统的整体功能设计进行规划。由此可知,本系统的使用者主要可以被分为管理员角色和用户角色两类。其中,管理员角色主要的功能需求有用户信息管理、鲜花信息管理、鲜花订单管理等模块,用户角色主要的功能需求有系统登录、查询鲜花信息、查询鲜花订单信息等模块。


三、系统项目截图

个人中心

通过设计的个人中心管理功能模块,管理用户可以对相关的个人信息进行管理,比如管理用户可以更新个人账号的密码信息,修改个人账号的用户名信息等

 

用户管理

通过设计的用户管理功能模块,管理用户可以对相关的用户信息进行管理,比如管理用户可以查看用户头像信息,更新用户手机号码,删除已经注销的用户信息记录等 

 

基础数据管理

通过设计的基础数据管理功能模块,管理用户可以对相关的公告类型、会员等级类型、鲜花类型信息进行管理,比如管理用户可以添加新公告类型、会员等级类型、鲜花类型信息记录,更新告类型、会员等级类型、鲜花类型名称,删除失效的公告类型、会员等级类型、鲜花类型信息记录等

 

 

论坛管理

通过设计的论坛管理功能模块,管理用户可以对相关的论坛信息进行管理,比如管理用户可以添加新论坛信息记录,更新帖子内容,删除失效的论坛信息记录等

 

轮播图管理

通过设计的轮播图管理功能模块,管理用户可以对相关的轮播图信息进行管理,比如管理用户可以查看轮播图信息,删除失效的轮播图信息记录等

 

公告信息管理

通过设计的公告信息管理功能模块,管理用户可以对相关的公告信息进行管理,比如管理用户可以查看详细的公告发布时间信息,删除失效的公告信息记录等

 

鲜花管理

通过设计的鲜花管理功能模块,管理用户可以对相关的鲜花信息进行管理,比如管理用户可以查看鲜花库存信息,删除失效的鲜花信息记录等

 

鲜花订单管理

通过设计的鲜花订单管理功能模块,管理用户可以对相关的鲜花订单信息进行管理,比如管理用户可以添加新鲜花订单信息记录,更新鲜花名称,删除失效的鲜花订单信息记录等

 

鲜花收藏管理

通过设计的鲜花收藏管理功能模块,管理用户可以对相关的鲜花收藏信息进行管理,比如管理用户可以添加新鲜花收藏信息记录,更新鲜花类型,删除失效的鲜花收藏信息记录等

 

鲜花留言管理

通过设计的鲜花留言管理功能模块,管理用户可以对相关的鲜花留言信息进行管理,比如管理用户可以添加新鲜花留言信息记录,更新留言内容,删除失效的鲜花留言信息记录等

 

鲜花评价管理

通过设计的鲜花评价管理功能模块,管理用户可以对相关的鲜花评价信息进行管理,比如管理用户可以添加新鲜花评价信息记录,更新评价内容,删除失效的鲜花评价信息记录等

 

四、核心代码

登录相关

package com.controller;

import java.util.Arrays;

import java.util.Calendar;

import java.util.Date;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;

import com.baomidou.mybatisplus.mapper.EntityWrapper;

import com.entity.TokenEntity;

import com.entity.UserEntity;

import com.service.TokenService;

import com.service.UserService;

import com.utils.CommonUtil;

import com.utils.MD5Util;

import com.utils.MPUtil;

import com.utils.PageUtils;

import com.utils.R;

import com.utils.ValidatorUtils;

@RequestMapping("users")

@RestController

public class UserController{

@Autowired

private UserService userService;

@Autowired

private TokenService tokenService;

@IgnoreAuth

@PostMapping(value = "/login")

public R login(String username, String password, String captcha, HttpServletRequest request) {

UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));

if(user==null || !user.getPassword().equals(password)) {

return R.error("账号或密码不正确");

}

String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());

return R.ok().put("token", token);

}

@IgnoreAuth

@PostMapping(value = "/register")

public R register(@RequestBody UserEntity user){

if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {

return R.error("用户已存在");

}

userService.insert(user);

return R.ok();

}

@GetMapping(value = "logout")

public R logout(HttpServletRequest request) {

request.getSession().invalidate();

return R.ok("退出成功");

}

@IgnoreAuth

@RequestMapping(value = "/resetPass")

public R resetPass(String username, HttpServletRequest request){

UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));

if(user==null) {

return R.error("账号不存在");

}

user.setPassword("123456");

userService.update(user,null);

return R.ok("密码已重置为:123456");

}

@RequestMapping("/page")

public R page(@RequestParam Map<String, Object> params,UserEntity user){

EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();

PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));

return R.ok().put("data", page);

}

@RequestMapping("/list")

public R list( UserEntity user){

EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();

ew.allEq(MPUtil.allEQMapPre( user, "user"));

return R.ok().put("data", userService.selectListView(ew));

}

@RequestMapping("/info/{id}")

public R info(@PathVariable("id") String id){

UserEntity user = userService.selectById(id);

return R.ok().put("data", user);

}

@RequestMapping("/session")

public R getCurrUser(HttpServletRequest request){

Long id = (Long)request.getSession().getAttribute("userId");

UserEntity user = userService.selectById(id);

return R.ok().put("data", user);

}

@PostMapping("/save")

public R save(@RequestBody UserEntity user){

if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {

return R.error("用户已存在");

}

userService.insert(user);

return R.ok();

}

@RequestMapping("/update")

public R update(@RequestBody UserEntity user){

userService.updateById(user);

return R.ok();

}

@RequestMapping("/delete")

public R delete(@RequestBody Long[] ids){

userService.deleteBatchIds(Arrays.asList(ids));

return R.ok();

}

}

文件上传

package com.controller;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.util.Arrays;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Random;

import java.util.UUID;

import org.apache.commons.io.FileUtils;

import org.apache.commons.lang3.StringUtils;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.http.HttpHeaders;

import org.springframework.http.HttpStatus;

import org.springframework.http.MediaType;

import org.springframework.http.ResponseEntity;

import org.springframework.util.ResourceUtils;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.RestController;

import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;

import com.baomidou.mybatisplus.mapper.EntityWrapper;

import com.entity.ConfigEntity;

import com.entity.EIException;

import com.service.ConfigService;

import com.utils.R;

@RestController

@RequestMapping("file")

@SuppressWarnings({"unchecked","rawtypes"})

public class FileController{

@Autowired

private ConfigService configService;

@RequestMapping("/upload")

public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {

if (file.isEmpty()) {

throw new EIException("上传文件不能为空");

}

String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);

File path = new File(ResourceUtils.getURL("classpath:static").getPath());

if(!path.exists()) {

path = new File("");

}

File upload = new File(path.getAbsolutePath(),"/upload/");

if(!upload.exists()) {

upload.mkdirs();

}

String fileName = new Date().getTime()+"."+fileExt;

File dest = new File(upload.getAbsolutePath()+"/"+fileName);

file.transferTo(dest);

FileUtils.copyFile(dest, new File("C:UsersDesktopjiadianspringbootl7ownsrcmainresourcesstaticupload"+"/"+fileName));

if(StringUtils.isNotBlank(type) && type.equals("1")) {

ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));

if(configEntity==null) {

configEntity = new ConfigEntity();

configEntity.setName("faceFile");

configEntity.setValue(fileName);

} else {

configEntity.setValue(fileName);

}

configService.insertOrUpdate(configEntity);

}

return R.ok().put("file", fileName);

}

@IgnoreAuth

@RequestMapping("/download")

public ResponseEntity<byte[]> download(@RequestParam String fileName) {

try {

File path = new File(ResourceUtils.getURL("classpath:static").getPath());

if(!path.exists()) {

path = new File("");

}

File upload = new File(path.getAbsolutePath(),"/upload/");

if(!upload.exists()) {

upload.mkdirs();

}

File file = new File(upload.getAbsolutePath()+"/"+fileName);

if(file.exists()){

HttpHeaders headers = new HttpHeaders();

headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);

headers.setContentDispositionFormData("attachment", fileName);

return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);

}

} catch (IOException e) {

e.printStackTrace();

}

return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);

}

}

封装

package com.utils;

import java.util.HashMap;

import java.util.Map;

public class R extends HashMap<String, Object> {

private static final long serialVersionUID = 1L;

public R() {

put("code", 0);

}

public static R error() {

return error(500, "未知异常,请联系管理员");

}

public static R error(String msg) {

return error(500, msg);

}

public static R error(int code, String msg) {

R r = new R();

r.put("code", code);

r.put("msg", msg);

return r;

}

public static R ok(String msg) {

R r = new R();

r.put("msg", msg);

return r;

}

public static R ok(Map<String, Object> map) {

R r = new R();

r.putAll(map);

return r;

}

public static R ok() {

return new R();

}

public R put(String key, Object value) {

super.put(key, value);

return this;

}

}

相关知识

java毕业设计鲜花管理系统的设计与实现(springboot+mysql+jdk1.8+meven)
Java实现鲜花销售系统
java网上花店鲜花商城鲜花销售管理系统设计与实现项目源代码下载javawebjspsshmysql
Java计算机毕业设计鲜花商城(开题报告+源码+论文)
基于SSM+Vue+MySQL的线上花店鲜花商城系统
基于SpringBoot+Vue的鲜花销售/鲜花商城/花店管理系统
基于ssm的花店商城管理系统设计与实现 Java MySQL
基于Java网上鲜花销售系统的设计与实现
基于JAVA的鲜花销售系统(源码+开题)
线上鲜花商城管理系统

网址: 基于Java Web的鲜花商城系统的设计 https://www.huajiangbk.com/newsview843839.html

所属分类:花卉
上一篇: springboot网上花卉购物
下一篇: 基于小程序128鲜花购物商城 电

推荐分享