第二天:商品列表功能实现
1、服务中间件dubbo
2、工程改造为基于soa架构(拆成表现层和服务层)
3、商品列表查询功能实现。
第一天搭建的项目中,聚合工程e3-manager里面有三层web层、service层和dao层。
如果,基于SOA架构的话,我们要把web层拿出来。
e3-manager-web右键-delete
不要勾选。
把e3-manager-web工程剪切到外面去。
把e3-manager工程的pom.xml中对e3-manager-web的引用删除
现在,聚合工程里面有dao, interface, pojo, service, 都是jar包形式的。但是,我们的聚合工程必须要有一个工程是war包形式的。我们把service改成war包。
添加web.xml并maven-project update
导入e3-manager-web工程
现在e3-manager-web和e3-manager是同级别的了。
原来e3-manager-web的父工程是e3-manager,现在e3-manager-web的父工程变成了e3-parent。
修改e3-manager-web的pom.xml
现在,e3-manager-serivce要打成war包,我们的e3-manager-web中对它的依赖便要修改。改成对接口的依赖即可。
改完之后,web项目报错了。
这些报错是因为,e3-manager-web断开了与e3-manager-service的依赖,便也断开了与spring的依赖。
我们需要在e3-manager-web中配置对spring的依赖。
到e3-manager-service的pom.xml中把spring相关的配置拷贝到e3-manager-web中。
e3-manager-web这个独立的工程只与表现层有关系,所以配置文件也只需要保留springmvc.xml
把其他的配置文件剪切到e3-manager-service项目中去。
把e3-manager-web的web.xml内容拷贝到e3-manager-service中。然后,删掉“解决post乱码”和“前端控制器”的配置。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>e3-manager</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 加载spring容器 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
e3-manager-web的web.xml中“加载spring容器”的配置就可以不用了。