黑马商城—基于ajax和J2EE的网上商城的设计与实现(一)需求管理

目录

    • 1. 系统需求
    • 2. 技术选型和平台工具
      • 2.1技术选型
      • 2.2 平台工具
      • 2.3 配置依赖(pom.xml)
    • 3 网上商城设计
      • 3.1 数据库设计
      • 3.2 三层B/S结构设计
      • 3.3项目结构设计

1. 系统需求

CNNIC(中国互联网信息中心)的数据显示,截止2020年3月我国网民规模为9.04亿,较2018年底新增网民7508万,互联网普及率达64.5%。在创新、协调、绿色、开放、共享的新发展理念指引下,我国数字经济快速发展,规模已达31.3万亿元,位居世界前列。互联网通过网络覆盖、电子商务、在下你教育、短视频等多种方式助力脱贫攻坚,网络惠民效应更加凸显。其中电子商务是数字经济的重要组成部分,是数字经济最活跃、最集中的表现形式之一,成为了我国经济增长的新动力。
本实验着力构建的黑马网上商城是一个B2C的综合型电商网站,采用all in one的系统架构,主要经营:电子产品,零食,日常百货等商品,可为广大农村用户提供接入互联网数字经济的新入口。操作流程:用户注册成功后,可以在平台上选购商品并完成支付。黑马商城包含一套完整的购物流程,包括商品分类、商品分页展示、商品详情页、添加购物车、收货人地址管理、显示订单详情、根据订单商品跳转阿里支付,最终支付成功等所有功能。商城后台管理员可以对商品进行管控,包括上架下架,调整价格等。系统流程图如下图所示

黑马商城—基于ajax和J2EE的网上商城的设计与实现(一)需求管理_第1张图片

2. 技术选型和平台工具

2.1技术选型

  • 前端HTML、CSS 、Javascript三剑客
  • jQuery库下ajax异步请求json数据
  • JavaEE技术平台ServletRequest和ServletResponse Cookie和Session
  • JavaSE技术平台逻辑控制语句、循环语句
  • 集合、IO、反射和注解
  • RedisMySQL数据库做缓存
  • MySQL数据库 创建表和约束 增删改查SQL语句和JDBC技术,Druid数据库连接池,Apache工具类DBUtils
  • maven相关管理工具
本实验在前端技术上选用HTML5和CSS3,以及 Javascript脚本语言和封装的jQuery库,利用ajax实现异步请求json数据;在后端技术上采用MySQL5.x数据库来创建表和约束,并使用Druid数据库连接池和Apache工具类DBUtils来改进JDBC技术存在的缺陷,基于MVC模式下的J2EE技术平台使用ServletRequest和ServletResponse Cookie和Session等核心技术实现交互。
在部分页面采用前后端分离模式,降低了各模块之间的耦合度,在此基础上利用Redis来给MySQL数据库做缓存,减少访问数据库的时间和压力;利用maven作为项目构建和依赖管理的自动化管理工具简化开发流程;利用反射原理优化servlet,减少了代码冗余;采用redis和cookie结合替代session简化代码。

2.2 平台工具

  • mysql 5.5 ,Navicat
  • idea 2019.3
  • Tomcat 8.5.31

2.3 配置依赖(pom.xml)


<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>

    <groupId>mysqlgroupId>
    <artifactId>mysql-connector-javaartifactId>
    <version>1.0-SNAPSHOTversion>
    
    <packaging>warpackaging>

    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>

    properties>

    <dependencies>

        
        <dependency>
            <groupId>commons-beanutilsgroupId>
            <artifactId>commons-beanutilsartifactId>
            <version>1.9.2version>
        dependency>

        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
        dependency>

        
        <dependency>
            <groupId>commons-dbutilsgroupId>
            <artifactId>commons-dbutilsartifactId>
            <version>1.6version>
        dependency>

        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>5.1.6version>
        dependency>

         
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druidartifactId>
            <version>1.1.18version>
        dependency>

        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <version>3.1.0version>
            <scope>providedscope> 
        dependency>

        <dependency>
            <groupId>javax.servlet.jspgroupId>
            <artifactId>javax.servlet.jsp-apiartifactId>
            <version>2.3.3version>
            <scope>providedscope>
        dependency>

        
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-coreartifactId>
            <version>2.9.10version>
        dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-annotationsartifactId>
            <version>2.9.10version>
        dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-databindartifactId>
            <version>2.9.10.4version>
        dependency>

        <dependency>
            <groupId>com.alipay.sdkgroupId>
            <artifactId>alipay-sdk-javaartifactId>
            <version>3.1.0version>
        dependency>

        <dependency>
            <groupId>redis.clientsgroupId>
            <artifactId>jedisartifactId>
            <version>2.9.1version>
        dependency>

        <dependency>
            <groupId>cn.hutoolgroupId>
            <artifactId>hutool-allartifactId>
            <version>4.1.0version>
        dependency>

    dependencies>



        <build>
            <plugins>
            	      
                <plugin>
                    <groupId>org.apache.maven.pluginsgroupId>
                    <artifactId>maven-compiler-pluginartifactId>
                    <version>3.2version>
                    <configuration>
                        <source>1.8source>
                        <target>1.8target>
                        <encoding>UTF-8encoding>
                    configuration>
                plugin>
                
                <plugin>
                    <groupId>org.apache.tomcat.mavengroupId>
                    <artifactId>tomcat7-maven-pluginartifactId>
                    <version>2.2version>
                    <configuration>
                        
                        <port>82port>
                        
                        <path>/path>
                    configuration>
                plugin>
            plugins>
        build>

project>

3 网上商城设计

3.1 数据库设计

黑马商城—基于ajax和J2EE的网上商城的设计与实现(一)需求管理_第2张图片

3.2 三层B/S结构设计

黑马商城—基于ajax和J2EE的网上商城的设计与实现(一)需求管理_第3张图片

3.3项目结构设计

黑马商城—基于ajax和J2EE的网上商城的设计与实现(一)需求管理_第4张图片

你可能感兴趣的:(java全栈开发)