基于javaweb的网上花店商城系统(java+jsp+servlert+mysql+ajax)

2024-01-23 20:50

本文主要是介绍基于javaweb的网上花店商城系统(java+jsp+servlert+mysql+ajax),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于javaweb的网上花店商城系统(java+jsp+servlert+mysql+ajax)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

20220519001904

20220519001906

20220519001907

20220519001908

20220519001909

20220519001910

基于javaweb+jsp的网上花店商城系统鲜花商城(java+jsp+servlert+mysql+ajax)

一、项目简述

功能: 一套完整的网上花店商场系统,系统支持前台会员的注册 登陆系统留言,花朵的品种选择,详情浏览,加入购物 车,购买花朵等;后台支持管理员的花朵种类添加,花朵 详情的添加修改,用户管理,留言管理,商场新闻管理等。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

项目技术: JSP + Servlert + html+ css + JavaScript + JQuery + Ajax + Fileupload等等。

用户信息控制层:

/**

  • 用户

**/

@RestController

@RequestMapping(“user”)

public class UserController {

@Autowired

UserService userService;

@Autowired

UserDao dao;

@RequestMapping(“/test”)

R test() {

R r = new R();

return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(dao.findAll());

@RequestMapping(“/queryInfoByAccount”)

R queryInfoByAccount(@RequestParam(“account”) String account) {

R r = new R();

if (StringUtil.isEmpty(account)){

return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM);

User loginUser = userService.queryInfo(account);

if (loginUser == null){

return r.setCode(4000).setMsg(HttpMsg.INVALID_USER);

return r.setCode(2000).setData(loginUser);

@RequestMapping(“/find”)

R find(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey) {

R r = new R();

Map<String, Object> map = new HashMap<>();

List users = userService.find(searchKey);

if (users == null) {

return r.setCode(2000);

List items = users.size() >= page * Constant.PAGE_SIZE ?

users.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE)

: users.subList((page - 1) * Constant.PAGE_SIZE, users.size());

int len = users.size() % Constant.PAGE_SIZE == 0 ? users.size() / Constant.PAGE_SIZE

: (users.size() / Constant.PAGE_SIZE + 1);

map.put(“items”, items);

map.put(“len”, len);

return r.setCode(2000).setData(map);

@RequestMapping(“/create”)

R create(@RequestBody User user) {

R r = new R();

int ans = userService.add(user);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.ADD_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.ADD_USER_FAILED);

@RequestMapping(“/update”)

R update(@RequestBody User user) {

R r = new R();

int ans = userService.update(user);

if (ans >= 0) {

return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED);

@DeleteMapping(“/delete”)

R delete(@RequestParam(“id”) int id) {

R r = new R();

int ans = userService.delete(id);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED);

订单控制层:

/**

  • 订单控制层

**/

@RestController

@RequestMapping(“order”)

public class OrderController {

@Autowired

OrderService orderService;

@Autowired

UserDao userDao;

@Autowired

OrderDao orderDao;

@Autowired

FlowersDao flowersDao;

@RequestMapping(“/test”)

R test() {

R r = new R();

return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(orderDao.findAll(null));

@RequestMapping(“/queryByAccount”)

R queryByAccount(@RequestParam(“account”) String account) {

R r = new R();

if (StringUtil.isEmpty(account)) {

return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM);

List orders = orderService.queryByAccount(account);

return r.setCode(2000).setData(orders);

@RequestMapping(“/find”)

R find(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey, @RequestParam(“account”) String account) {

R r = new R();

Map<String, Object> map = new HashMap<>();

List orders = orderService.find(searchKey, account);

if (orders == null) {

return r.setCode(2000);

map.put(“items”, orders);

map.put(“len”, orders.size());

return r.setCode(2000).setData(map);

@RequestMapping(“/findAll”)

R findAll(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey) {

R r = new R();

Map<String, Object> map = new HashMap<>();

List orders = orderService.findAll(searchKey);

if (orders == null) {

return r.setCode(2000);

List items = orders.size() >= page * Constant.PAGE_SIZE ?

orders.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE)

: orders.subList((page - 1) * Constant.PAGE_SIZE, orders.size());

int len = orders.size() % Constant.PAGE_SIZE == 0 ? orders.size() / Constant.PAGE_SIZE

: (orders.size() / Constant.PAGE_SIZE + 1);

List vos = new ArrayList<>();

for (Order item : items) {

User user = userDao.queryById(item.getUid());

OrderVo vo = new OrderVo();

vo.setAddress(user.getAddress()).setPhone(user.getPhone()).setUsername(user.getName())

.setAmount(item.getAmount()).setFlower(item.getFlower()).setId(item.getId())

.setUid(item.getUid()).setOrder_guid(item.getOrder_guid()).setPrice(item.getPrice())

.setState(item.getState());

vos.add(vo);

map.put(“items”, vos);

map.put(“len”, len);

return r.setCode(2000).setData(map);

@RequestMapping(“/update”)

R update(@RequestBody Order order) {

R r = new R();

int ans = orderService.update(order);

if (ans >= 0) {

return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED);

@RequestMapping(“/changeState”)

R changeState(@RequestBody Order order) {

orderDao.changeState(order);

return new R().setCode(2000).setMsg(HttpMsg.UPDATE_ORDER_OK);

@DeleteMapping(“/delete”)

R delete(@RequestParam(“id”) int id) {

R r = new R();

int ans = orderService.delete(id);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED);

用户登录控制层:

/**

  • 登录

**/

@RestController

@RequestMapping(“login”)

public class LoginController {

@Autowired

LoginDao loginDao;

@RequestMapping(“/doLogin”)

R doLogin(@RequestBody LoginForm form) {

R r = new R();

if (!VerifyUtil.verifyLoginForm(form)) {

return r.setCode(4000).setMsg(HttpMsg.ERROR_INPUT);

User loginUser = loginDao.login(form);

if (loginUser != null) {

return r.setCode(2000).setMsg(“欢迎您:” + loginUser.getName()).setData(loginUser);

return r.setCode(4000).setMsg(HttpMsg.ERROR_VERIFY);

@RequestMapping(“/test”)

R test() {

R r = new R();

return r.setCode(4000).setMsg(Constant.IMG_PATH);


这篇关于基于javaweb的网上花店商城系统(java+jsp+servlert+mysql+ajax)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/637481

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq