-1:为什么还要写某马的某淘商城呢?
答:万物更新,季节交替。新人总把旧人换。所以呢,前人写了N多遍的东西,我们依旧在学,所以下决心写某马的某淘商城。(也因为在学校还没找工作,所以找个相对长期的事情做~~~)。
-2:为什么选择这个项目呢?
答:LZ还是在校生,想给自己攒点经验,所以从网上找的视频,也刚学完ssh,ssm框架,找个项目练练手。
-3:为什么看着视频还写博客呢?
答:好记性不如烂笔头啊,这东西看着视频怼,最后写写博客,日后好看看,算是自己脑补吧。(所以还请大牛,大虾们多多指教哦~~~)。
-4:为什么写着某马-某淘商城呢?
答:因为LZ不想被怀疑打广告哦~~~(这里说句实话,其实想要学的好而快,国内大型培训机构的免费视频也是一个给自己快速充电的充电宝啊,眼看国内互联网行业真是一天一个样子。不罗嗦了,作为菜鸟的我眼中技术才是Number one);
-5:顺便LZ自己脑补一下互联网电商行业的名词!!!
B2B模式:商家到商家---->阿里巴巴1688(lz特别关注过这个,还不错,建议看看,批发网),慧聪网,铭万网;
B2C模式:商家到用户---->京东;
C2C模式:用户到用户---->淘宝;
B2B2C模式:商家到商家到用户---->天猫;
O2O模式:线上到线下---->美团,百度外卖,饿了么;(插一句,LZ觉得美团还真不错,每次出去玩都用的美团,lz这里给王兴CEO点个赞)
1:工程搭建---->使用maven管理工程。
1.1:使用maven管理工程可以对Jar包的管理,工程之间的依赖管理,自动打包;
1.2:maven常使用jar(jar包),war(web工程打包),pom(project object model)打包方式。pom一般指父工程,管理jar包的版本,maven插件的版本,统一的依赖管理。聚合工程;
1.3:开发环境:
Eclipse Mars.2 Release (4.5.2) + JDK1.7 +Tomcat 7.0 + apache-maven-3.5.0 +mysql5.7
注意:自己maven的本地仓库记得修改一下,之前写过,这里不啰嗦:http://www.cnblogs.com/biehongli/p/6753234.html
2:开始搭建父工程(parent project):父工程,打包方式pom,管理jar包的版本号,项目中所有工程都应该继承父工程;
2.1:File--->New--->Other--->Maven--->Maven Project--->{create a simple project(skip archetype selection跳过原型选择)}--->next--->如下图--->finish
2.2:上面操作结束,开始配置一下pom.xml,这里直接复制粘贴的;由于太长了,所以不直接显示了;
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <groupId>com.taotao</groupId> 4 <artifactId>taotao-parent</artifactId> 5 <version>0.0.1-SNAPSHOT</version> 6 <packaging>pom</packaging> 7 8 <!-- ssm的版本号 --> 9 <properties> 10 <junit.version>4.12</junit.version> 11 <spring.version>4.2.4.RELEASE</spring.version> 12 <mybatis.version>3.2.8</mybatis.version> 13 <mybatis.spring.version>1.2.2</mybatis.spring.version> 14 <mybatis.paginator.version>1.2.15</mybatis.paginator.version> 15 <mysql.version>5.1.32</mysql.version> 16 <slf4j.version>1.6.4</slf4j.version> 17 <jackson.version>2.4.2</jackson.version> 18 <druid.version>1.0.9</druid.version> 19 <httpclient.version>4.3.5</httpclient.version> 20 <jstl.version>1.2</jstl.version> 21 <servlet-api.version>2.5</servlet-api.version> 22 <jsp-api.version>2.0</jsp-api.version> 23 <joda-time.version>2.5</joda-time.version> 24 <commons-lang3.version>3.3.2</commons-lang3.version> 25 <commons-io.version>1.3.2</commons-io.version> 26 <commons-net.version>3.3</commons-net.version> 27 <pagehelper.version>3.4.2-fix</pagehelper.version> 28 <jsqlparser.version>0.9.1</jsqlparser.version> 29 <commons-fileupload.version>1.3.1</commons-fileupload.version> 30 <jedis.version>2.7.2</jedis.version> 31 <solrj.version>4.10.3</solrj.version> 32 <dubbo.version>2.5.3</dubbo.version> 33 <zookeeper.version>3.4.7</zookeeper.version> 34 <zkclient.version>0.1</zkclient.version> 35 <activemq.version>5.11.2</activemq.version> 36 <freemarker.version>2.3.23</freemarker.version> 37 <quartz.version>2.2.2</quartz.version> 38 </properties> 39 40 <!-- 依赖管理,管理版本号 --> 41 <dependencyManagement> 42 <dependencies> 43 <!-- 时间操作组件 --> 44 <dependency> 45 <groupId>joda-time</groupId> 46 <artifactId>joda-time</artifactId> 47 <version>${joda-time.version}</version> 48 </dependency> 49 <!-- Apache工具组件 --> 50 <dependency> 51 <groupId>org.apache.commons</groupId> 52 <artifactId>commons-lang3</artifactId> 53 <version>${commons-lang3.version}</version> 54 </dependency> 55 <dependency> 56 <groupId>org.apache.commons</groupId> 57 <artifactId>commons-io</artifactId> 58 <version>${commons-io.version}</version> 59 </dependency> 60 <dependency> 61 <groupId>commons-net</groupId> 62 <artifactId>commons-net</artifactId> 63 <version>${commons-net.version}</version> 64 </dependency> 65 <!-- Jackson Json处理工具包 --> 66 <dependency> 67 <groupId>com.fasterxml.jackson.core</groupId> 68 <artifactId>jackson-databind</artifactId> 69 <version>${jackson.version}</version> 70 </dependency> 71 <!-- httpclient --> 72 <dependency> 73 <groupId>org.apache.httpcomponents</groupId> 74 <artifactId>httpclient</artifactId> 75 <version>${httpclient.version}</version> 76 </dependency> 77 <!-- quartz任务调度框架 --> 78 <dependency> 79 <groupId>org.quartz-scheduler</groupId> 80 <artifactId>quartz</artifactId> 81 <version>${quartz.version}</version> 82 </dependency> 83 <!-- 单元测试 --> 84 <dependency> 85 <groupId>junit</groupId> 86 <artifactId>junit</artifactId> 87 <version>${junit.version}</version> 88 <scope>test</scope> 89 </dependency> 90 <!-- 日志处理 --> 91 <dependency> 92 <groupId>org.slf4j</groupId> 93 <artifactId>slf4j-log4j12</artifactId> 94 <version>${slf4j.version}</version> 95 </dependency> 96 <!-- Mybatis --> 97 <dependency> 98 <groupId>org.mybatis</groupId> 99 <artifactId>mybatis</artifactId> 100 <version>${mybatis.version}</version> 101 </dependency> 102 <dependency> 103 <groupId>org.mybatis</groupId> 104 <artifactId>mybatis-spring</artifactId> 105 <version>${mybatis.spring.version}</version> 106 </dependency> 107 <dependency> 108 <groupId>com.github.miemiedev</groupId> 109 <artifactId>mybatis-paginator</artifactId> 110 <version>${mybatis.paginator.version}</version> 111 </dependency> 112 <dependency> 113 <groupId>com.github.pagehelper</groupId> 114 <artifactId>pagehelper</artifactId> 115 <version>${pagehelper.version}</version> 116 </dependency> 117 <!-- MySql --> 118 <dependency> 119 <groupId>mysql</groupId> 120 <artifactId>mysql-connector-java</artifactId> 121 <version>${mysql.version}</version> 122 </dependency> 123 <!-- 连接池 --> 124 <dependency> 125 <groupId>com.alibaba</groupId> 126 <artifactId>druid</artifactId> 127 <version>${druid.version}</version> 128 </dependency> 129 <!-- Spring --> 130 <dependency> 131 <groupId>org.springframework</groupId> 132 <artifactId>spring-context</artifactId> 133 <version>${spring.version}</version> 134 </dependency> 135 <dependency> 136 <groupId>org.springframework</groupId> 137 <artifactId>spring-beans</artifactId> 138 <version>${spring.version}</version> 139 </dependency> 140 <dependency> 141 <groupId>org.springframework</groupId> 142 <artifactId>spring-webmvc</artifactId> 143 <version>${spring.version}</version> 144 </dependency> 145 <dependency> 146 <groupId>org.springframework</groupId> 147 <artifactId>spring-jdbc</artifactId> 148 <version>${spring.version}</version> 149 </dependency> 150 <dependency> 151 <groupId>org.springframework</groupId> 152 <artifactId>spring-aspects</artifactId> 153 <version>${spring.version}</version> 154 </dependency> 155 <dependency> 156 <groupId>org.springframework</groupId> 157 <artifactId>spring-jms</artifactId> 158 <version>${spring.version}</version> 159 </dependency> 160 <dependency> 161 <groupId>org.springframework</groupId> 162 <artifactId>spring-context-support</artifactId> 163 <version>${spring.version}</version> 164 </dependency> 165 <!-- JSP相关 --> 166 <dependency> 167 <groupId>jstl</groupId> 168 <artifactId>jstl</artifactId> 169 <version>${jstl.version}</version> 170 </dependency> 171 <dependency> 172 <groupId>javax.servlet</groupId> 173 <artifactId>servlet-api</artifactId> 174 <version>${servlet-api.version}</version> 175 <scope>provided</scope> 176 </dependency> 177 <dependency> 178 <groupId>javax.servlet</groupId> 179 <artifactId>jsp-api</artifactId> 180 <version>${jsp-api.version}</version> 181 <scope>provided</scope> 182 </dependency> 183 <!-- 文件上传组件 --> 184 <dependency> 185 <groupId>commons-fileupload</groupId> 186 <artifactId>commons-fileupload</artifactId> 187 <version>${commons-fileupload.version}</version> 188 </dependency> 189 <!-- Redis客户端 --> 190 <dependency> 191 <groupId>redis.clients</groupId> 192 <artifactId>jedis</artifactId> 193 <version>${jedis.version}</version> 194 </dependency> 195 <!-- solr客户端 --> 196 <dependency> 197 <groupId>org.apache.solr</groupId> 198 <artifactId>solr-solrj</artifactId> 199 <version>${solrj.version}</version> 200 </dependency> 201 <!-- dubbo相关 --> 202 <dependency> 203 <groupId>com.alibaba</groupId> 204 <artifactId>dubbo</artifactId> 205 <version>${dubbo.version}</version> 206 </dependency> 207 <dependency> 208 <groupId>org.apache.zookeeper</groupId> 209 <artifactId>zookeeper</artifactId> 210 <version>${zookeeper.version}</version> 211 </dependency> 212 <dependency> 213 <groupId>com.github.sgroschupf</groupId> 214 <artifactId>zkclient</artifactId> 215 <version>${zkclient.version}</version> 216 </dependency> 217 <dependency> 218 <groupId>org.apache.activemq</groupId> 219 <artifactId>activemq-all</artifactId> 220 <version>${activemq.version}</version> 221 </dependency> 222 <dependency> 223 <groupId>org.freemarker</groupId> 224 <artifactId>freemarker</artifactId> 225 <version>${freemarker.version}</version> 226 </dependency> 227 228 </dependencies> 229 </dependencyManagement> 230 231 <build> 232 <finalName>${project.artifactId}</finalName> 233 <plugins> 234 <!-- 资源文件拷贝插件 --> 235 <plugin> 236 <groupId>org.apache.maven.plugins</groupId> 237 <artifactId>maven-resources-plugin</artifactId> 238 <version>2.7</version> 239 <configuration> 240 <encoding>UTF-8</encoding> 241 </configuration> 242 </plugin> 243 <!-- java编译插件 --> 244 <plugin> 245 <groupId>org.apache.maven.plugins</groupId> 246 <artifactId>maven-compiler-plugin</artifactId> 247 <version>3.2</version> 248 <configuration> 249 <source>1.7</source> 250 <target>1.7</target> 251 <encoding>UTF-8</encoding> 252 </configuration> 253 </plugin> 254 </plugins> 255 <pluginManagement> 256 <plugins> 257 <!-- 配置Tomcat插件 --> 258 <plugin> 259 <groupId>org.apache.tomcat.maven</groupId> 260 <artifactId>tomcat7-maven-plugin</artifactId> 261 <version>2.2</version> 262 </plugin> 263 </plugins> 264 </pluginManagement> 265 </build> 266 267 </project>
View Code
2.3:开始搭建子工程taotao-common,继承父工程taotao-parent,通用的工具类通用的pojo(Plain Ordinary Java Object普通的java类)。打包方式jar;
File--->New--->Other--->Maven--->Maven Project--->{create a simple project(skip archetype selection跳过原型选择)}--->next--->如下图--->finish
2.4:上面操作结束之后,将taotao-common的pom.xml配置一下,需要注意的是将插件从父工程拷贝过来之后可以将<version>...</version>去掉,因为版本号已经在父工程中定义好了,同时之前如果自己没将jar包拷贝到自己的本地仓库中,那么你将父工程的插件拷贝到taotao-common的pom.xml中的时候将在线下载到你的本地仓库中;
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.taotao</groupId> 5 <artifactId>taotao-parent</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <groupId>com.taotao</groupId> 9 <artifactId>taotao-common</artifactId> 10 <version>0.0.1-SNAPSHOT</version> 11 12 13 <!-- 添加依赖 --> 14 <dependencies> 15 <!-- 时间操作组件 --> 16 <dependency> 17 <groupId>joda-time</groupId> 18 <artifactId>joda-time</artifactId> 19 </dependency> 20 <!-- Apache工具组件 --> 21 <dependency> 22 <groupId>org.apache.commons</groupId> 23 <artifactId>commons-lang3</artifactId> 24 </dependency> 25 <dependency> 26 <groupId>org.apache.commons</groupId> 27 <artifactId>commons-io</artifactId> 28 29 </dependency> 30 <dependency> 31 <groupId>commons-net</groupId> 32 <artifactId>commons-net</artifactId> 33 </dependency> 34 <!-- Jackson Json处理工具包 --> 35 <dependency> 36 <groupId>com.fasterxml.jackson.core</groupId> 37 <artifactId>jackson-databind</artifactId> 38 </dependency> 39 <!-- httpclient --> 40 <dependency> 41 <groupId>org.apache.httpcomponents</groupId> 42 <artifactId>httpclient</artifactId> 43 </dependency> 44 <!-- quartz任务调度框架 --> 45 <dependency> 46 <groupId>org.quartz-scheduler</groupId> 47 <artifactId>quartz</artifactId> 48 </dependency> 49 <!-- 单元测试 --> 50 <dependency> 51 <groupId>junit</groupId> 52 <artifactId>junit</artifactId> 53 <scope>test</scope> 54 </dependency> 55 <!-- 日志处理 --> 56 <dependency> 57 <groupId>org.slf4j</groupId> 58 <artifactId>slf4j-log4j12</artifactId> 59 </dependency> 60 61 </dependencies> 62 63 64 65 </project>
View Code
2.5:开始搭建子工程taotao-manager,继承父工程taotao-parent;服务层工程。聚合工程。Pom工程;
File--->New--->Other--->Maven--->Maven Project--->{create a simple project(skip archetype selection跳过原型选择)}--->next--->如下图--->finish
2.6:操作完上面的,将taotao-manager的pom.xml配置一下,因为taotao-manager依赖于taotao-common。如下:
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.taotao</groupId> 5 <artifactId>taotao-parent</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <groupId>com.taotao</groupId> 9 <artifactId>taotao-manager</artifactId> 10 <version>0.0.1-SNAPSHOT</version> 11 <packaging>pom</packaging> 12 13 14 <!-- taotao-manager依赖taotao-common --> 15 <dependencies> 16 <dependency> 17 <groupId>com.taotao</groupId> 18 <artifactId>taotao-common</artifactId> 19 <version>0.0.1-SNAPSHOT</version> 20 </dependency> 21 22 </dependencies> 23 24 </project>
View Code
2.7:创建好taotao-manager之后开始创建taotao-manager的模块,操作如:鼠标右击taotao-manager--->New---->Other--->Maven---->Maven Module---->Next--->{create a simple project(skip archetype selection跳过原型选择)} Module Name:taotao-manager-dao ---->Next ---->Finish
注意:操作过程中,会下载东西,等待下载即可;同理创建完taotao-manager-pojo,taotao-manager-interface,这两个打包方式都是jar;taotao-manager-service;这个打包的方式是war;
2.8:以上都弄好之后,taotao-manager-dao的pom.xml依赖taotao-manager-pojo;所以需要在taotao-manager-dao的pom.xml依赖一下,又由于dao层换成框架的话,这里使用mybatis,所以呢,也要依赖一下mybatis,jdbc,连接池,分页。但是呢,这里出现了一下小插曲,很有意思哈!讲一下小插曲哈。
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.taotao</groupId> 5 <artifactId>taotao-manager</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <artifactId>taotao-manager-dao</artifactId> 9 10 11 <!-- taotao-manager-dao的pom.xml依赖taotao-manager-pojo; --> 12 <dependencies> 13 <dependency> 14 <groupId>com.taotao</groupId> 15 <artifactId>taotao-manager-pojo</artifactId> 16 <version>0.0.1-SNAPSHOT</version> 17 </dependency> 18 19 <!-- 添加mybatis的依赖,dao层使用框架的话就配置mybatis --> 20 <!-- Mybatis --> 21 <dependency> 22 <groupId>org.mybatis</groupId> 23 <artifactId>mybatis</artifactId> 24 </dependency> 25 <dependency> 26 <groupId>org.mybatis</groupId> 27 <artifactId>mybatis-spring</artifactId> 28 </dependency> 29 <dependency> 30 <groupId>com.github.miemiedev</groupId> 31 <artifactId>mybatis-paginator</artifactId> 32 </dependency> 33 <dependency> 34 <groupId>com.github.pagehelper</groupId> 35 <artifactId>pagehelper</artifactId> 36 </dependency> 37 <!-- MySql --> 38 <dependency> 39 <groupId>mysql</groupId> 40 <artifactId>mysql-connector-java</artifactId> 41 </dependency> 42 <!-- 连接池 --> 43 <dependency> 44 <groupId>com.alibaba</groupId> 45 <artifactId>druid</artifactId> 46 </dependency> 47 48 </dependencies> 49 50 </project>
View Code
!!!后来发现啊,是自己搞错了。详情见最后的重要提醒;
错误小插曲分享:按照教程操作的,出错的,绝对不是我操作错了,而是我看的淘淘商城是2016.9月份的,而出现的错误呢,就是mybatis的分页出了一个这样的错误:Missing artifact com.github.pagehelper:pagehelper:jar:3.4.2-fix,我也没百度,我猜着啊,估计就是下载不进去包,为啥呢,我去https://github.com/pagehelper上面一个(mybatis的分页保存在github上),版本都已经更新到5.0.1了,而且是最近更新的,我怀着试试的把握,把父工程的<pagehelper.version>3.4.2-fix</pagehelper.version>改成了<pagehelper.version>5.0.0</pagehelper.version>,不报错了。
错误分享小结:作为一个未踏入社会的小菜鸟,希望我这个小菜鸟以后出现问题先思考,再百度,实在不行只能请教大虾了。
2.9:taotao-manager-interface依赖taotao-manager-pojo,所以在taotao-manager-interface的pom.xml依赖一下taotao-manager-pojo,配置如下所示:
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.taotao</groupId> 5 <artifactId>taotao-manager</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <artifactId>taotao-manager-interface</artifactId> 9 10 11 <!-- taotao-manager-interface依赖taotao-manager-pojo --> 12 <dependencies> 13 <dependency> 14 <groupId>com.taotao</groupId> 15 <artifactId>taotao-manager-pojo</artifactId> 16 <version>0.0.1-SNAPSHOT</version> 17 </dependency> 18 </dependencies> 19 20 </project>
View Code
2.10:最后一个哈,taotao-manager-service依赖taotao-manager-dao,所以taotao-manager-service的pom.xml需要依赖一下taotao-manager-dao,和依赖spring框架,所以呢,配置如下所示:
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.taotao</groupId> 5 <artifactId>taotao-manager</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <artifactId>taotao-manager-service</artifactId> 9 <packaging>war</packaging> 10 11 12 <!-- taotao-manager-service依赖taotao-manager-dao --> 13 <dependencies> 14 <!-- dao层 --> 15 <dependency> 16 <groupId>com.taotao</groupId> 17 <artifactId>taotao-manager-dao</artifactId> 18 <version>0.0.1-SNAPSHOT</version> 19 </dependency> 20 21 <!-- service层呢,使用框架的话就需要依赖spring --> 22 <!-- Spring --> 23 <dependency> 24 <groupId>org.springframework</groupId> 25 <artifactId>spring-context</artifactId> 26 </dependency> 27 <dependency> 28 <groupId>org.springframework</groupId> 29 <artifactId>spring-beans</artifactId> 30 </dependency> 31 <dependency> 32 <groupId>org.springframework</groupId> 33 <artifactId>spring-webmvc</artifactId> 34 </dependency> 35 <dependency> 36 <groupId>org.springframework</groupId> 37 <artifactId>spring-jdbc</artifactId> 38 </dependency> 39 <dependency> 40 <groupId>org.springframework</groupId> 41 <artifactId>spring-aspects</artifactId> 42 </dependency> 43 <dependency> 44 <groupId>org.springframework</groupId> 45 <artifactId>spring-jms</artifactId> 46 </dependency> 47 <dependency> 48 <groupId>org.springframework</groupId> 49 <artifactId>spring-context-support</artifactId> 50 </dependency> 51 52 </dependencies> 53 54 55 </project>
View Code
注意:由于taotao-manager-service的打包方式是war,所以呢,配置好这些依旧会报错,需要将web的目录配置完整,在src/main/webapp下面创建文件夹WEB-INF/web.xml,创建好之后立马不报错了。
2.11:表现层工程:taotao-manager-web,打包方式:war包方式;操作如下所示:
File--->New--->Other--->Maven--->Maven Project--->{create a simple project(skip archetype selection跳过原型选择)}--->next--->如下图所示--->finish
2.12:创建好taotao-manager-web之后配置一下pom.xml的依赖,taotao-manager-web是表现层,依赖于springMVC,jsp等等,配置如下所示:
注意:由于taotao-manager-web的打包方式是war,所以呢,配置好这些依旧会报错,需要将web的目录配置完整,在src/main/webapp下面创建文件夹WEB-INF/web.xml,创建好之后立马不报错了。
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.taotao</groupId> 5 <artifactId>taotao-parent</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <groupId>com.taotao</groupId> 9 <artifactId>taotao-manager-web</artifactId> 10 <version>0.0.1-SNAPSHOT</version> 11 12 <!-- taotao-manager-web是表现层,依赖于springMVC,jsp等等 --> 13 <dependencies> 14 15 <!-- Spring --> 16 <dependency> 17 <groupId>org.springframework</groupId> 18 <artifactId>spring-context</artifactId> 19 </dependency> 20 <dependency> 21 <groupId>org.springframework</groupId> 22 <artifactId>spring-beans</artifactId> 23 </dependency> 24 <dependency> 25 <groupId>org.springframework</groupId> 26 <artifactId>spring-webmvc</artifactId> 27 </dependency> 28 29 <dependency> 30 <groupId>org.springframework</groupId> 31 <artifactId>spring-jdbc</artifactId> 32 </dependency> 33 <dependency> 34 <groupId>org.springframework</groupId> 35 <artifactId>spring-aspects</artifactId> 36 </dependency> 37 <dependency> 38 <groupId>org.springframework</groupId> 39 <artifactId>spring-jms</artifactId> 40 </dependency> 41 <dependency> 42 <groupId>org.springframework</groupId> 43 <artifactId>spring-context-support</artifactId> 44 </dependency> 45 <!-- JSP相关 --> 46 <dependency> 47 <groupId>jstl</groupId> 48 <artifactId>jstl</artifactId> 49 </dependency> 50 <dependency> 51 <groupId>javax.servlet</groupId> 52 <artifactId>servlet-api</artifactId> 53 <scope>provided</scope> 54 </dependency> 55 <dependency> 56 <groupId>javax.servlet</groupId> 57 <artifactId>jsp-api</artifactId> 58 <scope>provided</scope> 59 </dependency> 60 61 </dependencies> 62 </project>
View Code
3:上面将部分工程搭建起来之后,下面就使用tomcat插件启动工程;配置就在taotao-manager-web的pom.xml配置文件里面;
1 <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"> 2 <modelVersion>4.0.0</modelVersion> 3 <parent> 4 <groupId>com.taotao</groupId> 5 <artifactId>taotao-parent</artifactId> 6 <version>0.0.1-SNAPSHOT</version> 7 </parent> 8 <groupId>com.taotao</groupId> 9 <artifactId>taotao-manager-web</artifactId> 10 <version>0.0.1-SNAPSHOT</version> 11 12 <!-- taotao-manager-web是表现层,依赖于springMVC,jsp等等 --> 13 <dependencies> 14 15 <!-- Spring --> 16 <dependency> 17 <groupId>org.springframework</groupId> 18 <artifactId>spring-context</artifactId> 19 </dependency> 20 <dependency> 21 <groupId>org.springframework</groupId> 22 <artifactId>spring-beans</artifactId> 23 </dependency> 24 <dependency> 25 <groupId>org.springframework</groupId> 26 <artifactId>spring-webmvc</artifactId> 27 </dependency> 28 29 <dependency> 30 <groupId>org.springframework</groupId> 31 <artifactId>spring-jdbc</artifactId> 32 </dependency> 33 <dependency> 34 <groupId>org.springframework</groupId> 35 <artifactId>spring-aspects</artifactId> 36 </dependency> 37 <dependency> 38 <groupId>org.springframework</groupId> 39 <artifactId>spring-jms</artifactId> 40 </dependency> 41 <dependency> 42 <groupId>org.springframework</groupId> 43 <artifactId>spring-context-support</artifactId> 44 </dependency> 45 <!-- JSP相关 --> 46 <dependency> 47 <groupId>jstl</groupId> 48 <artifactId>jstl</artifactId> 49 </dependency> 50 <dependency> 51 <groupId>javax.servlet</groupId> 52 <artifactId>servlet-api</artifactId> 53 <scope>provided</scope> 54 </dependency> 55 <dependency> 56 <groupId>javax.servlet</groupId> 57 <artifactId>jsp-api</artifactId> 58 <scope>provided</scope> 59 </dependency> 60 </dependencies> 61 62 63 <!-- 使用tomcat插件启动工程 --> 64 <build> 65 <plugins> 66 <plugin> 67 <groupId>org.apache.tomcat.maven</groupId> 68 <artifactId>tomcat7-maven-plugin</artifactId> 69 <configuration> 70 <path>/</path> 71 <port>8081</port> 72 </configuration> 73 </plugin> 74 </plugins> 75 </build> 76 77 78 <packaging>war</packaging> 79 </project>
View Code
3.1:配置好之后就进行tomcat测试,测试如下,首先在taotao-manager-web的src/main/webapp/下面创建一个index.jsp页面;
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>测试tomcat是否搭建成功</title> 8 </head> 9 <body> 10 11 <h1>hello 淘淘商城</h1> 12 13 </body> 14 </html>
3.2:创建好index.jsp之后就可以进行测试了,测试如下所示,首先鼠标右击taotao-manager-web--->Run as --->Maven build,如下所示:
注意:(后来你发现,报错了,是因为你自己的本地仓库里面没有taotao-parent这个项目,所以将taotao-parent安装到本地仓库即可即可)
3.3:安装taotao-parent到本地仓库操作如下所示:鼠标右击taotao-parent--->Run as--->Maven install即可;然后按照上面的操作,鼠标右击taotao-manager-web--->Run as --->Maven build,运行项目,发现可以运行了,然后去浏览器输入localhost:8081如下所示,可以运行,完成tomcat插件的配置;
3.4:当你第一次鼠标右击taotao-manager-web--->Run as --->Maven build,之后就可以不用如此操作了,可以按照下面这样操作:
3.5:按照下面的操作删除刚才创建的maven build或者其他maven .....
3.6:同理,在taotao-manager-web的pom.xml依赖一下taotao-common,然后将taotao-common安装到本地仓库和taotao-parent操作一样,之后再运行即可,这里不做叙述,上面的taotao-manager-web也没加,如果看本博客的,记得加一下即可;
3.7:tomcat运行聚合工程,如taotao-manager,将taotao-manager-web的pom.xml里面的tomcat配置复制到taotao-manager的pom.xml中即可,即下面这段话;
1 <!-- 使用tomcat插件启动工程 --> 2 <build> 3 <plugins> 4 <plugin> 5 <groupId>org.apache.tomcat.maven</groupId> 6 <artifactId>tomcat7-maven-plugin</artifactId> 7 <configuration> 8 <path>/</path> 9 <port>8080</port> 10 </configuration> 11 </plugin> 12 </plugins> 13 </build>
3.9:我估计啊,你肯定也会遇到这个错误,所以贴一下吧,这个错误呢,其实也不算错误,说出来你可能笑死,错误如下所示:
其实呢,开始我遇到过好几次,琢磨这是个啥错误呢,我也没百度,就思考了一下,我再次运行项目的时候并没有关闭上次运行,所以当我再次点击Run as--->taotao-manager-web的时候就报错了,当我关闭上次运行的结果之后再次点击运行,没问题了。
1 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project taotao-manager-web: Failed to clean project: Failed to delete E:\Android_java_resouce\JAVA_EE\eclipse\workspace\taotao-manager-web\target\tomcat\logs\access_log.2017-04-26 -> [Help 1] 2 [ERROR] 3 [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 4 [ERROR] Re-run Maven using the -X switch to enable full debug logging. 5 [ERROR] 6 [ERROR] For more information about the errors and possible solutions, please read the following articles: 7 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
4:Svn的下载,安装,使用。
4.1:这里就不错做了,给大家百度了几个博客园大牛写的,看了一下,还不错;
传送门:http://www.cnblogs.com/wainiwann/p/3912214.html
或者http://www.cnblogs.com/jiahuafu/archive/2012/12/22/2828955.html,百度还有很多,学会即可。
4.2:如何将eclipse的代码上传到svn服务器呢?操作如下所示:在VisualSVN服务器上面创建一个仓库,然后右击trunk(主干)复制路径。
4.3:鼠标右击taotao-parent--->Team---->Share Project,发现没有svn和git供选择,那么需要安装一下svn,这里省去了;
传送门:http://blog.csdn.net/u012453843/article/details/64624383对于这个如果没有安装成功,选择一下箭头指的估计就能安装成功了。我是这么琢磨出来了;安装好之后再鼠标右击taotao-parent--->Team---->Share Project就行了;
SVN使用教程:https://jingyan.baidu.com/article/2c8c281daaeaaa0009252a64.html
4.4:鼠标右击taotao-parent--->Team---->Share Project--->SVN---->Next--->创建新的资源库位置--->Next--->URL(右击trunk(主干)复制路径)--->Next--->使用项目名称做文件夹名--->Next--->Finish--->用户名/密码---》OK;
纸上得来终觉浅,绝知此事要躬行;就连eclipse上传到svn都处处为难我;~~~
就是当你点击上面最后一个Finish之后会让你输入用户名和密码,你看看,第一个是电脑的账号和密码,输入之后又弹出一个用户名和密码,试了好几遍,还特意百度了一下,啥忘记svn账号密码咋办,[吐血],其实就是在VisualSVN的users上面创建一个用户和密码,然后就登陆,点击ok即可;出现一个是否同步的弹出框,点击yes看一下;
4.5:上传到svn的方法如:如果不需要上传的直接忽略即可,鼠标右键--->.settings添加至svn:ignore(D)--->ok;忽略即可;
提交方法:鼠标右键taotao-parent--->提交--->ok即可;现在去VisualSVN看一下,已经上传到svn上面了;
4.6:然后接着将其他工程都提交到svn上面。基本上是同理的,这里不作多叙述了。如果上一个冲突的就更新一下,然后提交了就行;
4.7:如何设置忽略什么文件?:Window--->Preferences--->Team--->Ignored Resources--->Add pattern--->输入忽略的文件即可,比如.settings(这个一个字母或者标点都不能错哈;)
至此,写写停停,先写到这里吧~~~下面我反思了一下;
+1:为什么反思呢?
答:我发现,如果不反思,不思考,就算自己有了目标,偶尔也会迷茫,我想这是所有程序猿修炼之路必须经历的吧;
人生四大境界:不知道自己不知道 知道自己不知道 不知道自己知道 知道自己知;
+2:博客"中间错误小插曲"的原由?
答:开始是我自作聪明,还沾沾自喜,切切生活中,最让你沾沾自喜,让你最引以为豪的地方也许是日后你最大的耻点,开始确实报错了,我按照我的思考方式确实解决了,但是后面越继续问题越大。包的差不多一样的错,但是就是无法解决,也是,作为第一次做框架项目,使用maven项目构件,我是真正小菜鸟,所以开始我没有导入本地仓库,使用eclipse下载的,但是后来一直提示版本错误,我修改了版本依旧不行,思来想去,最后将某淘他们的本地仓库拷贝到我自己的本地仓库,错误消失了;好吧,确实学到不少东西;加油,小菜鸟;
+3:作为一个小菜鸟为什么强烈要求一定要锻炼身体?
答:也许是自己的身体再也不是休息休息就能恢复的了。这个时候我意识到严重性了,要开始锻炼了。而如果一个程序猿理解那份只要摸着键盘不想动的感觉,我想你懂那份感受,哪怕尿急了,你都想把这个或者那个bug解决掉。昨天看的一篇文章:程序猿如何告别久坐?答案就是大多数男生对女生说的一句话,多喝白开水。。确实多喝勤喝白开水能让你不断地节水,上厕所,对久坐的程序猿确实是一个很好很实用的方法;所以啊,对于一个程序猿来说,能走路就别骑车,能骑单车就别骑电车or开车;加强身体锻炼,其实仔细想想,人这辈子最重要的就是活的值一点,没必要和自己的肉体过不去;
+4:(题外话,为什么不关注博客园开国级博主?)
答: