实战SSM_O2O商铺_01项目介绍以及准备工作
文章目录
- 项目概述
- 模块划分
- 通用模块
- 数据备份模块
- 前端模版搭建
- 前台模块
- 商家模块
- 超级管理员模块
- 技术选型
- 环境参数
- 开发环境搭建
- Step1 新建Maven Web项目
- Step2 构建的项目中出现的错误调整
- 问题一Error:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path index.jsp /o2o/src/main/webapp line 1
- 问题二Warining:Build path specifies execution environment J2SE-1.5. There are no JREs installed in the workspace that are strictly compatible with this environment.
- Step3 class 输出路径检查
- Step4 Dynamic Web Module 检查以及web.xml调整
- Step5 工程编码检查
- Step 6 运行基础环境
- Project facet Java version 1.8 is not supported.
- Github托管
- 附-Servlet Tomcat JDK对应关系
项目概述
一个商铺项目,本项目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项目
项目结构
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
原因是:servlet一般我们都是使用容器提供的jar ,而很少自己提供,(即使在pom.xml中添加,scope也是provided属性)避免部署到容器中因jar包冲突导致错误,缺少运行时tomcat的jar包,引入tomcat中的jar即可。
操作:
选中项目–>右键,选择Java Build Path 如下操作。
添加后,项目结构[Spring视图]如下所示
问题二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
因为我们这个项目是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)
至此,我们便得到了一个没有错误以及Warining的maven web项目
Step3 class 输出路径检查
选中项目,右键 --Java Build Path —Source
Step4 Dynamic Web Module 检查以及web.xml调整
该项目为动态web工程,选中项目,右键 ---- Project Factes查看默认的Dynamic Web Module版本
Dynamic Web Module 是与servlet版本有关的,而servlet是由项目运行的容器(这里我们使用的tomcat容器),更高的版本提供更好的解析性能,同时也要与JDK 以及 tomcat的版本对应,这里我们改成3.1版本
我们这里使用的是JDK8,没问题,只要调整下下面的报错即可。
查看项目本地路径:
方案: 修改org.eclipse.wst.common.project.facet.core.xml
保存修改后,右键Refresh工程,重新查看 Project Facets
选择不同版本的 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/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1" metadata-complete="true"></web-app>
Step5 工程编码检查
我们统一调整为UTF-8
Step 6 运行基础环境
发布到tomcat8中,启动tomcat后,访问index.jsp 查看效果
Project facet Java version 1.8 is not supported.
修改tomcat对应的JDK版本
Preference - Server -Runtime Environment
重新发布(如果还是报错的话,建议将tomcat8 删除后重新添加一遍)
访问 http://localhost:8080/o2o/
至此,空壳子搭建完毕。
Github托管
将项目托管到Github
地址如下
https://github.com/yangshangwei/o2o
在STS中关联,方便查看版本的变化
附-Servlet Tomcat JDK对应关系
http://tomcat.apache.org/whichversion.html
实战SSM_O2O商铺_01项目介绍以及准备工作相关推荐
- 实战SSM_O2O商铺_03项目结构规划及Maven配置
文章目录 项目结构规划 Maven配置 Github地址 项目结构规划 按照功能在 com.artisan.o2o下新建几个package ,如上所示. spring相关的配置文件放在/src/mai ...
- 实战SSM_O2O商铺_46【Redis缓存】头条信息+商铺目录Service层加入缓存
文章目录 概述 HeadLineServiceImpl的改造 代码 单元测试 ShopCategoryServiceImpl的改造 代码 单元测试 Github地址 概述 根据数据的特点,不经常变动的 ...
- 实战SSM_O2O商铺_42【前端展示】店铺列表页面View层的实现
文章目录 概述 代码结构 shoplist.html shoplist.js shoplist.css common.js添加解析日期的公共方法 FrontEndController添加路由 联调测试 ...
- 实战SSM_O2O商铺_40【前端展示】首页轮播图和一级商铺View层的实现
文章目录 概述 index.html index.js index.css Controller 调测 修复问题 头条图片展示修复 一级类别商铺图片展示修复 Github地址 概述 在完成了后端 实战 ...
- 实战SSM_O2O商铺_38【商品类别】解除商品与商品类别的关联
文章目录 概述 Dao层 ProductDao.java ProductDao.xml 单元测试 Service层完善 ProductCategoryServiceImpl#deleteProduct ...
- 实战SSM_O2O商铺_34【商品】商品编辑之Controller层的实现
文章目录 概述 ProductController 单元测试 Github地址 概述 在完成了 实战SSM_O2O商铺_33[商品]商品编辑之Service层的实现之后,我们继续来实现Controll ...
- 实战SSM_O2O商铺_32【商品】商品编辑之Dao层的实现
文章目录 概述 Dao层接口 ProductDao#selectProductById ProductDao#updateProduct ProductImgDao#deleteProductImgB ...
- 实战SSM_O2O商铺_31【商品】商品添加之View层的实现
文章目录 概述 productoperation.html productoperation.js 联调 检查结果 库表数据: 磁盘上的图片 Github地址 概述 在完成了 实战SSM_O2O商铺_ ...
- 实战SSM_O2O商铺_28【商品】商品添加之Dao层的实现
文章目录 概述 重温实体类 Prouct ProductImg ProductDao接口 Mapper配置文件 ProductImgDao接口 Mapper配置文件 单元测试 #ProductDaoT ...
最新文章
- python类不支持多继承_Java和C#等不允许多继承类,但是Python是可以的
- php自定义表单数据库字段,自定义填写表格字段
- python flask源码解析_用尽洪荒之力学习Flask源码
- win7如何更改文件类型_教你win7局域网设置方法
- A strange lift HDU - 1548(基础广搜)
- Helpdesk 流程
- oracle内存表与临时表,Oracle 临时表之临时表空间组(TTG)
- android 记录崩溃日志
- 【class2src】Decompiler
- 打印一只Nyan Cat(彩虹猫)(C++)
- 2022软件测试行业现状分析及未来发展方向
- 如何用好Visual SourceSafe?
- 谷歌插件.crx文件无法安装
- 帮我写一份情书给在一起200天的女朋友,要求1000字
- 简单粗暴的移动端图片浏览插件demo
- 百度携手重庆渝中区,打造区块链大数据智能化应用示范城区
- 1837:Balance
- Machine Learning with Graphs 之 Traditional Methods for Machine Learning in Graphs
- 输入框校验-vue页面中校验
- Android ReactNative 极光、友盟、高德地图、支付宝、微信支付解决方案