Java实战项目之校园跑腿管理系统的实现

Java实战项目之校园跑腿管理系统的实现攻略

一、项目简介

本项目是一款基于Java语言的校园跑腿管理系统,实现了用户端和管理员端的功能,其中用户端包括下单、支付、查看订单等功能,管理员端包括订单管理、用户管理、商品管理等功能。本项目旨在帮助校园内的学生更便利地完成各种跑腿任务。

二、技术栈

  • Spring Boot
  • MyBatis
  • MySQL
  • Spring Security
  • Thymeleaf

三、项目流程

1. 数据库设计

本项目中使用的数据库是MySQL,下面是数据库的表格设计:

users表

字段名 类型 说明
id int 主键,用户ID
username varchar(50) 用户名
password varchar(128) 密码
phone varchar(20) 手机号码
email varchar(50) 电子邮箱

goods表

字段名 类型 说明
id int 主键,商品ID
name varchar(50) 商品名称
description varchar(500) 商品描述
price float 商品价格

orders表

字段名 类型 说明
id int 主键,订单ID
user_id int 外键,用户ID
goods_id int 外键,商品ID
order_time datetime 下单时间
status int 订单状态,0表示未完成,1表示已完成

2. Web层

用户端

用户端的首页,可以选择跑腿类型和商品类型后进行下单:

<form method="post" action="/order/add">
    <select name="type">
        <option value="1">快递跑腿</option>
        <option value="2">取快递</option>
        <option value="3">代购</option>
        <option value="4">其他</option>
    </select>
    <select name="goods_id">
        <option th:each="g : ${goods}" th:value="${g.id}" th:text="${g.name}">商品1</option>
    </select>
    <input type="text" name="description" placeholder="请填写具体描述">
    <button type="submit">下单</button>
</form>

下单后可以查看自己的订单:

<table>
    <thead>
        <tr>
            <th>订单号</th>
            <th>商品名称</th>
            <th>跑腿类型</th>
            <th>商品描述</th>
            <th>订单状态</th>
        </tr>
    </thead>
    <tbody>
        <tr th:each="o : ${orders}">
            <td th:text="${o.id}">订单1</td>
            <td th:text="${o.goods.name}">商品1</td>
            <td th:if="${o.type == 1}">快递跑腿</td>
            <td th:if="${o.type == 2}">取快递</td>
            <td th:if="${o.type == 3}">代购</td>
            <td th:if="${o.type == 4}">其他</td>
            <td th:text="${o.description}">无</td>
            <td th:if="${o.status == 0}">未完成</td>
            <td th:if="${o.status == 1}">已完成</td>
        </tr>
    </tbody>
</table>

管理员端

管理员可以查看所有的订单:

<table>
    <thead>
        <tr>
            <th>订单号</th>
            <th>商品名称</th>
            <th>跑腿类型</th>
            <th>商品描述</th>
            <th>下单时间</th>
            <th>订单状态</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
        <tr th:each="o : ${orders}">
            <td th:text="${o.id}">订单1</td>
            <td th:text="${o.goods.name}">商品1</td>
            <td th:if="${o.type == 1}">快递跑腿</td>
            <td th:if="${o.type == 2}">取快递</td>
            <td th:if="${o.type == 3}">代购</td>
            <td th:if="${o.type == 4}">其他</td>
            <td th:text="${o.description}">无</td>
            <td th:text="${o.orderTime}">2022-05-01 12:00:00</td>
            <td th:if="${o.status == 0}">未完成</td>
            <td th:if="${o.status == 1}">已完成</td>
            <td>
                <button th:if="${o.status == 0}" th:href="@{/order/finish/{id}(id=${o.id})}" type="button">完成订单</button>
            </td>
        </tr>
    </tbody>
</table>

3. 安全框架

使用Spring Security实现安全管理,下面是配置文件的内容:

# security
spring.security.user.name=admin
spring.security.user.password=123456

# session
server.servlet.session.timeout=1800

配置文件中配置了登录账号和密码,以及session的过期时间。

四、总结

本项目涉及到了Spring Boot、MyBatis、MySQL、Spring Security以及Thymeleaf等技术,通过本项目的实战开发,相信大家已经掌握了这些技术的基本使用方式。此外,我们还介绍了一些常见的Web开发技术,例如下单、查看订单以及管理员的订单管理等功能,这些都是开发Web应用必不可少的内容。希望大家通过本项目的实战练习,不仅能够掌握这些技术的应用,同时也能够提升自己的Web应用开发能力。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实战项目之校园跑腿管理系统的实现 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • 一文详解RocketMQ-Spring的源码解析与实战

    摘要:这篇文章主要介绍 Spring Boot 项目使用 rocketmq-spring SDK 实现消息收发的操作流程,同时笔者会从开发者的角度解读 SDK 的设计逻辑。 本文分享自华为云社区《RocketMQ-Spring : 实战与源码解析一网打尽》,作者:勇哥java实战分享。 RocketMQ 是大家耳熟能详的消息队列,开源项目 rocketmq-…

    Java 2023年4月25日
    00
  • 原生JS实现不断变化的标签

    实现不断变化的标签通常指的是像轮播图、动态效果等需要不断切换的元素。在原生JS实现这类效果时,可以使用定时器setTimeout或setInterval来实现,通过不断修改元素的属性值,从而达到动态变化的效果。 下面是一个基本的实现步骤: 1. HTML结构 首先,在HTML中需要定义需要变化的元素,比如轮播图的图片。这里以轮播图为例,HTML结构可以参考以…

    Java 2023年6月15日
    00
  • 教你如何写springboot接口 

    教你如何写Spring Boot接口的完整攻略 Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它提供了一种快速、便捷的方式来创建基于Spring的应用程序,同时也提供了一些默认的和约定,使得开发人员可以更加专注于业务逻辑的实现。本文将详细讲解如何使用Spring Boot编写接口,并提供两个示例。 1. 创建Spring Boot…

    Java 2023年5月15日
    00
  • Java 内置Http Server构建web应用案例详解

    我来详细讲解一下如何使用Java内置Http Server构建Web应用的攻略。 1. 前置知识 在学习Java内置Http Server构建Web应用之前,需要掌握以下技能: Java基础语法 Maven项目构建和管理 HTTP协议的基础知识 Servlet和JSP技术的基础知识 2. 环境搭建 为了使用Java内置Http Server构建Web应用,我…

    Java 2023年5月19日
    00
  • jstl 字符串处理函数

    首先,JSTL提供了许多可以方便地进行字符串处理的内置函数。这些函数位于JSTL一级的fn命名空间下。下面是fn命名空间中常用的字符串处理函数列表: length:返回一个字符串的长度 substring:截取指定位置的子串 indexOf:取得指定字符串在原字符串中的位置 replace:用一个新字符串来替代原字符串中指定的字符或字符串 split:把一个…

    Java 2023年5月26日
    00
  • Java struts2 validate用户登录校验功能实现

    下面是Java struts2 validate用户登录校验功能实现的完整攻略。 准备工作 确保本地安装了Java和Struts2框架 创建项目目录和基本的MVC架构 实现步骤 1. 创建登录表单和登录处理Action类 在jsp页面中创建登录表单,包括用户名和密码两个输入框。然后在后台Action类中编写处理登录请求的方法,通过接收表单中提交的参数,将其传…

    Java 2023年5月20日
    00
  • java开发SSM框架具有rest风格的SpringMVC

    Java开发SSM框架具有REST风格的SpringMVC 在 Java 开发中,SSM 框架是一种常用的 Web 开发框架,它由 Spring、SpringMVC 和 MyBatis 三个框架组成。其中,SpringMVC 是用于处理 Web 请求的框架,支持 REST 风格的 Web 服务。本文将详细讲解如何在 SSM 框架中使用 SpringMVC 实…

    Java 2023年5月18日
    00
  • tomcat目录结构简介_动力节点Java学院整理

    Tomcat目录结构简介 Tomcat是常用的Java Web应用服务器,其目录结构是开发和部署Web应用的基础。了解Tomcat目录结构有助于我们更好地管理和维护Web应用。 目录结构说明 以下是Tomcat的目录结构(仅列出常用的几个文件和目录): bin:存放启动Tomcat的脚本(如startup.sh、shutdown.sh等)、catalina.…

    Java 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部