实战SSM_O2O商铺_01项目介绍以及准备工作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 实战SSM_O2O商铺_01项目介绍以及准备工作

20191208102256370.png

项目概述


一个商铺项目,本项目1.0阶段运用SSM技术快速迭代出版校园商铺1.0。同时包含MySQL主从同步实现读写分离,利用SUI Mobile快速实现响应式页面,Redis缓存,数据库加密配置,部署上线等实用技术点。


模块划分

通用模块

  • 通用DAO开发
  • Redis访问层开发
  • 单元测试模块建立


数据备份模块

  • 搭建MySQL主从库
  • 数据定期备份冗灾(包括数据以及图片的备份,涉及Crontab)


前端模版搭建

  • 借助第三方组件SUI速搭建前后台界面

前台模块

  • 会员注册
  • 会员登录
  • 首页模板数据填充开发
  • 店铺详情页开发
  • 商品详情页开发
  • 会员个人信息展示
  • 搜索功能开发

商家模块

  • 商户入驻申请
  • 商户登录/退出登录
  • 门店管理
  • 添加商品折扣信息
  • 商品活动列表
  • 其他操作
  • 顾客活跃度数据展示
  • 积分管理


超级管理员模块

  • 头条管理
  • 店铺管理
  • 商品管理
  • 顾客信息管理
  • 主后台商家入驻列表开发
  • 主后台新开店铺审批列表开发


技术选型

  • 前端:前端UI库 SUI Mobile/ jQuery/ Chrome UA
  • 后端: SSM/Spring Boot(第二阶段采用)/图片开源工具 Thumbnailator/
  • 验证码组件Kaptcha/作业调度框架 Quartz/Shell
  • 平台:Web/微信服务号/微信测试号
  • 数据库:MySQL
  • 缓存:Redis
  • 部署:Centos


环境参数


  • JDK —> 1.8
  • MySql —> 5.7.21
  • IDE—> Spring Tool Suite 3.6.4
  • Maven —> 3.5.0
  • Runtime Server—> Apache Tomcat v8.0.47
  • Deploy Env—> Centos


开发环境搭建


Step1 新建Maven Web项目


项目结构


20180513102606199.png


20180513102734222.png


Step2 构建的项目中出现的错误调整


问题一Error:The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path index.jsp /o2o/src/main/webapp line 1

前提在STS中配置好了Tomcat


20180514032059720.png


原因是:servlet一般我们都是使用容器提供的jar ,而很少自己提供,(即使在pom.xml中添加,scope也是provided属性)避免部署到容器中因jar包冲突导致错误,缺少运行时tomcat的jar包,引入tomcat中的jar即可。


操作:

选中项目–>右键,选择Java Build Path 如下操作。


20180513103928518.png

添加后,项目结构[Spring视图]如下所示


20180513104430693.png

问题二Warining:Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.

前提:我们约定使用JAVA 8 , 请务必先在STS中配置了JDK8


20180514012958288.png


因为我们这个项目是Maven项目,我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven-compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码.


https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin 使用3.7.0

<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
<dependency>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
</dependency>

添加到pom中,通过configuration节点绑定JDK版本以及编码格式。

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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.artisan</groupId>
  <artifactId>o2o</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>o2o Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>o2o</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
          <encoding>UTF8</encoding>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>


保存后,强制更新依赖

选中项目,右键,Maven - Upate Project (快捷键Alt + F5)


20180514013816329.png

至此,我们便得到了一个没有错误以及Warining的maven web项目


20180514014017941.png


Step3 class 输出路径检查


选中项目,右键 --Java Build Path —Source


20180514015318753.png

Step4 Dynamic Web Module 检查以及web.xml调整


该项目为动态web工程,选中项目,右键 ---- Project Factes查看默认的Dynamic Web Module版本


20180514015502487.png


Dynamic Web Module 是与servlet版本有关的,而servlet是由项目运行的容器(这里我们使用的tomcat容器),更高的版本提供更好的解析性能,同时也要与JDK 以及 tomcat的版本对应,这里我们改成3.1版本


20180514015800779.png


我们这里使用的是JDK8,没问题,只要调整下下面的报错即可。

查看项目本地路径:


20180514020140375.png


方案: 修改org.eclipse.wst.common.project.facet.core.xml


20180514020508360.png


保存修改后,右键Refresh工程,重新查看 Project Facets


20180514020340456.png


选择不同版本的 Dynamic Web Module ,则生成web.xml中的dtd文件也不尽相同,因此要调整web.xml中引用的dtd

旧的web.xml中的dtd引用如下

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

我们需要调整为我们上述选择的Dynamic Web Module 3.1

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1" metadata-complete="true">
</web-app>



Step5 工程编码检查


我们统一调整为UTF-8


20180514021441687.png

Step 6 运行基础环境


发布到tomcat8中,启动tomcat后,访问index.jsp 查看效果


20180514030350866.png


Project facet Java version 1.8 is not supported.

修改tomcat对应的JDK版本

Preference - Server -Runtime Environment


2018051403044928.png


重新发布(如果还是报错的话,建议将tomcat8 删除后重新添加一遍)

20180514031415348.png


访问 http://localhost:8080/o2o/


20180514031451938.png


至此,空壳子搭建完毕。


Github托管

将项目托管到Github

地址如下

https://github.com/yangshangwei/o2o

在STS中关联,方便查看版本的变化


20180514053658646.png


附-Servlet Tomcat JDK对应关系


http://tomcat.apache.org/whichversion.html


20180514031704121.png


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
224 4
|
搜索推荐 JavaScript Java
计算机Java项目|基于SSM的个性化商铺系统
计算机Java项目|基于SSM的个性化商铺系统
106 1
|
前端开发 JavaScript Java
计算机Java项目|SSM智能仓储系统
计算机Java项目|SSM智能仓储系统
127 0
|
12月前
|
Java 应用服务中间件 数据库连接
ssm项目整合,简单的用户管理系统
文章介绍了一个使用SSM框架(Spring、SpringMVC、MyBatis)构建的简单用户管理系统的整合过程,包括项目搭建、数据库配置、各层代码实现以及视图展示。
ssm项目整合,简单的用户管理系统
|
11月前
|
SQL Java 数据库连接
快速搭建SSM项目【最全教程】~令狐小哥版
快速搭建SSM项目【最全教程】~令狐小哥版
693 1
|
Java 数据库连接 Maven
SSM框架整合图书管理项目
这篇文章是关于SSM框架整合到图书管理项目的详细教程,涵盖了从Maven项目构建、依赖导入、数据库连接、配置文件编写、实体类和接口实现到SpringMVC整合的完整步骤。
SSM框架整合图书管理项目
|
11月前
|
前端开发 Java 关系型数据库
【保姆级SSM教程】高并发朋友圈点赞项目设计
【保姆级SSM教程】高并发朋友圈点赞项目设计
191 0
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
138 1
|
前端开发 JavaScript Java
计算机Java项目|SSM酒店客房预定管理系统
计算机Java项目|SSM酒店客房预定管理系统
153 1
WXM
|
Java 应用服务中间件 网络安全
Eclipse运行SSM/SSH项目教程
Eclipse运行SSM/SSH项目教程
WXM
456 0