一个商铺项目,本项目1.0阶段运用SSM技术快速迭代出版校园商铺1.0。同时包含MySQL主从同步实现读写分离,利用SUI Mobile快速实现响应式页面,Redis缓存,数据库加密配置,部署上线等实用技术点。
项目结构
前提在STS中配置好了Tomcat
原因是:servlet一般我们都是使用容器提供的jar ,而很少自己提供,(即使在pom.xml中添加,scope也是provided属性)避免部署到容器中因jar包冲突导致错误,缺少运行时tomcat的jar包,引入tomcat中的jar即可。
操作:
选中项目–>右键,选择Java Build Path 如下操作。
添加后,项目结构[Spring视图]如下所示
前提:我们约定使用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项目
选中项目,右键 --Java Build Path —Source
该项目为动态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/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"> </web-app>
我们统一调整为UTF-8
发布到tomcat8中,启动tomcat后,访问index.jsp 查看效果
修改tomcat对应的JDK版本
Preference - Server -Runtime Environment
重新发布(如果还是报错的话,建议将tomcat8 删除后重新添加一遍)
访问 http://localhost:8080/o2o/
至此,空壳子搭建完毕。
将项目托管到Github
地址如下
https://github.com/yangshangwei/o2o
在STS中关联,方便查看版本的变化
http://tomcat.apache.org/whichversion.html