查询商品信息,pc端可以查询,移动端也可以查看商品。展示内容一样,只是展示方式不一样。可以把业务逻辑提取出来,发布服务,供pc、移动端公用。
好处:
1、提高代码复用度
2、可以灵活的进行分布式部署。
3、系统之间耦合度低
4、团队之间开发不冲突
缺点:
1、需要发布Webservice,系统之间需要远程调用
2、工作量增加
3、需要系统之间协作才能完成整个业务流程,系统之间调用变的复杂
需要创建两个工程
服务层----taotao-rest
:没有表现层,只有业务逻辑。需要发布服务。
表现层----taotao-portal
:只有表现层,没有业务逻辑,不需要连接数据库。
表现层和服务层通信,使用Webservice进行通信。Restful形式的Webservice。Webservice实质上就是http传递json或者XML等数据。
1. 创建工程----服务层taotao-rest
功能:前台系统服务层,功能是发布服务,便于适配Android,iOS和PC等不同的portal门户
1.1 使用的技术
1、Mybatis
2、Spring
3、发布服务:cxf、springmvc(二选一,这里选择springmvc)
1.2 taotao-rest搭建
参考taotao-manager-web模块的创建。taotao-rest打包方式是war包,继承taotao-parent
,在taotao-parent上右键New → Module → Next,如下图1、图2、图3所示
1.3 框架整合
SSM框架的整合。参考taotao-manager
的框架整合,直接拷贝里面的配置文件和web.xml
放到taotao-rest
工程里面。
client.conf
文件上传文件需要,文件上传大部分都在后台完成,这个工程主要是前台展示,所以现在用不到,不需要。
-
resource.properties
这个文件需要留着,后面配置一些参数之类的 -
applicationContext-dao.xml
中的MapperScannerConfigurer
配置需要注意,此时因为taotao-manager-dao
被打成jar包,就可以直接在pom.xml
文件中添加依赖 -
applicationContext-service.xml
中的com.taotao.service
包没有,需要新建,这里更名为com.taotao.rest.service
-
applicationContext-trans.xml
中的pointcut
包名也更为com.taotao.rest.service
-
springmvc.xml
中的包扫描器更为com.taotao.rest.controller
;静态资源映射不需要,因为没有静态资源;多媒体文件解析器也不需要,不需要上传图片;视图解析器也没必要
taotao-rest的pom文件
:添加spring的依赖、配置tomcat插件
taotao-parent
com.taotao
1.0-SNAPSHOT
../taotao-parent/pom.xml
4.0.0
taotao-rest
war
taotao-rest Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
test
com.taotao
taotao-manager-dao
1.0-SNAPSHOT
org.springframework
spring-context
org.springframework
spring-beans
org.springframework
spring-webmvc
org.springframework
spring-jdbc
org.springframework
spring-aspects
org.springframework
spring-context-support
javax.servlet
servlet-api
provided
javax.servlet
jsp-api
provided
taotao-rest
maven-clean-plugin
3.0.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.7.0
maven-surefire-plugin
2.20.1
maven-war-plugin
3.2.0
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
2. 创建工程---表现层taotao-portal
2.1 使用的技术
不需要连接数据库,不用mybatis。打包方式是war包,因为用作网站页面展示。
1、Spring
2、Springmvc
2.2 taotao-rest搭建
搭建方式与taotao-rest
一样
依赖的jar包:
1、taotao-manager-pojo
2、Spring
3、Tomcat插件
2.3 框架整合
taotao-portal的pom.xml
taotao-parent
com.taotao
1.0-SNAPSHOT
../taotao-parent/pom.xml
4.0.0
taotao-portal
war
taotao-portal Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
test
com.taotao
taotao-manager-pojo
1.0-SNAPSHOT
org.springframework
spring-context
org.springframework
spring-beans
org.springframework
spring-webmvc
org.springframework
spring-jdbc
org.springframework
spring-aspects
org.springframework
spring-context-support
jstl
jstl
javax.servlet
servlet-api
provided
javax.servlet
jsp-api
provided
taotao-portal
maven-clean-plugin
3.0.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.7.0
maven-surefire-plugin
2.20.1
maven-war-plugin
3.2.0
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
org.apache.tomcat.maven
tomcat7-maven-plugin
8082
/
web.xml
taotao-portal
index.html
log4jConfigLocation
classpath:properties/log4j.properties
org.springframework.web.util.Log4jConfigListener
contextConfigLocation
classpath:spring/applicationContext-*.xml
org.springframework.web.context.ContextLoaderListener
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
taotao-portal
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/springmvc.xml
1
taotao-portal
*.html
2.4 访问首页
创建一个Controller,当访问http://localhost:8082/跳转到首页
请求的url:/index
IndexCOntroller
package com.taotao.portal.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* 首页访问Controller
* Created by yvettee on 12/15/18.
*/
@Controller
public class IndexController {
@RequestMapping("/index")
public String showIndex() {
return "index";
}
}
新增 taotao-rest 模块增加或者修改的文件:参考
新增 taotao-portal 模块增加或者修改的文件(commit message写错了):参考
上篇:taotao-保存规格参数
源代码:https://github.com/yvettee36/taotao