# shop **Repository Path**: wls518/shop ## Basic Information - **Project Name**: shop - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2025-10-31 - **Last Updated**: 2025-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 在线商城系统 一个基于Java EE技术栈的简单在线商城系统,使用Maven构建,采用JSP、Servlet和JDBC技术实现。 ## 项目概述 这是一个功能完善的在线商城系统,包含了用户管理、商品管理、购物车等核心功能。系统采用经典的MVC架构模式,使用原生JSP/Servlet技术实现,没有依赖任何框架,便于学习和理解Web开发的基本原理。 ## 技术栈 - **后端技术**: Java EE (Servlet/JSP), JDBC - **前端技术**: HTML, CSS, JavaScript, JSTL - **数据库**: MySQL - **构建工具**: Maven - **服务器**: Tomcat (支持Jakarta EE 10) - **其他依赖**: - JUnit 5 (测试) - Lombok (简化Java代码) - JSTL (JSP标准标签库) ## 项目结构 ``` shop/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/example/ │ │ │ ├── dao/ # 数据访问对象 │ │ │ ├── domain/ # 实体类 │ │ │ └── util/ # 工具类 │ │ ├── resources/ │ │ │ └── db/ # 数据库脚本 │ │ └── webapp/ │ │ ├── admin/ # 后台管理界面 │ │ ├── cart/ # 购物车功能 │ │ ├── products/ # 商品展示 │ │ ├── test/ # 测试页面 │ │ └── index.jsp # 首页 │ └── test/ # 测试代码 ├── pom.xml # Maven配置文件 └── README.md # 项目说明文档 ``` ## 功能模块 ### 1. 前台功能 - 首页展示 - 商品浏览 - 商品详情查看 - 购物车管理 ### 2. 后台管理功能 - 用户管理(增删改查) - 商品管理(增删改查) - 商品分类管理 ## 数据库设计 系统包含以下主要数据表: 1. **用户表 (users)** - id: 用户ID(主键) - username: 用户名(唯一) - realname: 真实姓名 - password: 密码 - email: 邮箱(唯一) - phone: 电话 2. **商品表 (tb_product)** - id: 商品ID(主键) - product_name: 商品名称 - price: 价格 - sale_price: 销售价格 - type_id: 类型ID - status: 状态 - is_top: 是否置顶 - intro: 商品介绍 - logo: 商品图片 - idx: 索引 ## 环境要求 - JDK 19 或更高版本 - Maven 3.6+ - MySQL 8.0+ - Tomcat 10+ (支持Jakarta EE) ## 快速开始 ### 1. 克隆项目 ```bash git clone <项目地址> cd shop ``` ### 2. 数据库配置 1. 创建数据库并导入数据表: ```sql CREATE DATABASE IF NOT EXISTS eshop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE eshop; ``` 2. 执行 [create_tables.sql](file:///D:/JetBrains/IntelliJ%20IDEA%202025.1.2/personal-projects/shop/src/main/resources/db/create_tables.sql) 文件中的SQL语句创建表和示例数据。 ### 3. 配置数据库连接 在 [DBUtil.java](file:///D:/JetBrains/IntelliJ%20IDEA%202025.1.2/personal-projects/shop/src/main/java/com/example/util/DBUtil.java) 文件中修改数据库连接信息: ```java private static final String URL = "jdbc:mysql://localhost:3306/eshop?useSSL=false&serverTimezone=UTC"; private static final String USERNAME = "your_username"; private static final String PASSWORD = "your_password"; ``` ### 4. 构建和运行 使用Maven构建项目: ```bash mvn clean package ``` 将生成的WAR文件部署到Tomcat服务器,或直接在IDE中运行。 ## 项目特点 1. **模块化设计**:按照功能划分目录结构,便于维护和扩展 2. **DAO模式**:采用数据访问对象模式,分离业务逻辑和数据访问 3. **MVC架构**:模型-视图-控制器分离,代码结构清晰 4. **响应式设计**:使用CSS实现基本的响应式布局 5. **安全性考虑**:对用户输入进行基本验证 ## 后台管理 访问后台管理界面: - URL: `/admin/users/user_info.jsp` - 默认管理员账户: - 用户名: admin - 密码: admin123 在后台可以管理用户和商品信息。 ## 开发说明 1. 所有Java类位于 `com.example` 包下 2. 使用Lombok简化实体类代码 3. DAO类负责数据库操作 4. 工具类提供数据库连接等通用功能 5. JSP页面实现前端展示 ## 可能的改进方向 1. 引入Spring框架管理依赖注入 2. 使用MyBatis或Hibernate替代原生JDBC 3. 添加Spring Security实现安全认证 4. 使用前端框架(如Vue.js)改善用户体验 5. 添加日志系统 6. 实现RESTful API ## 许可证 本项目仅供学习和参考使用。