壹立方商城----工程改造

拆分工程

1)将表现层工程独立出来:

e3-manager-web

2)将原来的e3-manager改为如下结构

e3-parent打包方式pom     

e3-common打包方式jar

e3-manager打包方式war

e3-manager打包方式pom

   |--e3-manager-dao打包方式jar

   |--e3-manager-interface打包方式jar

   |--e3-manager-pojo打包方式jar

   |--e3-manager-service(打包方式改为war)

服务层工程

第一步:把e3-manager的pom文件中删除e3-manager-web模块。

工程上右键--delete

壹立方商城----工程改造_第1张图片

第二步:把e3-manager-web文件夹移动到e3-manager同一级目录。

壹立方商城----工程改造_第2张图片

粘贴工程到上一级目录下

壹立方商城----工程改造_第3张图片

壹立方商城----工程改造_第4张图片

导入e3-manager-web

壹立方商城----工程改造_第5张图片

壹立方商城----工程改造_第6张图片

修改e3-manager-web的pom.xml文件

此时e3-manager-web的父工程不再是e3-manager而是e3-parent

此时e3-manager-web就不需要依赖e3-manager-service了,只需要依赖它的接口即可,因此,此时的依赖就要改为e3-manager-interface。如果仍然依赖service,那么还是不能解耦,无法将工程分开,另外service工程已经是war包,我们要调用的是jar包

壹立方商城----工程改造_第7张图片

修改时候回有这种报错

壹立方商城----工程改造_第8张图片

这说明spring没有了,由于spring是在e3-manager-service中的pom.xml文件中进行的依赖,现在将e3-manager-web分离出来以后,e3-manager-web中就缺少spring相关的依赖,需要将spring相关的依赖考到e3-manager-web工程中的pom.xml文件中


		
			org.springframework
			spring-context
		
		
			org.springframework
			spring-beans
		
		
			org.springframework
			spring-webmvc
		
		
			org.springframework
			spring-jdbc
		
		
			org.springframework
			spring-aspects
		
		
			org.springframework
			spring-jms
		
		
			org.springframework
			spring-context-support
		

 

第三步:e3-manager-service的pom文件修改打包方式

因为e3-manager聚合工程中至少有一个是war包,所以要将e3-manager-service的打包方式修改为war

壹立方商城----工程改造_第9张图片
 

第四步:在e3-manager-service工程中添加web.xml文件

改为war包以后,e3-manager-service工程会立马报错,因为工程里缺少了webapp文件夹以及里面的web.xml配置文件

手动添加webapp文件夹以及里面的文件

壹立方商城----工程改造_第10张图片

第五步:把e3-manager-web的配置文件复制到e3-manager-service中。

因为表现层只需要与表现层相关的springmvc.xml配置文件,其他的都应该在service层,所以要将不需要的复制到service层

e3-manager-service层的配置文件如下:

壹立方商城----工程改造_第11张图片

e3-manager-web层的配置文件如下:

壹立方商城----工程改造_第12张图片

因为加载spring容器时service层要做的,所以在表现层的web.xml配置文件中就不需要加载spring容器了

e3-manager-web层的web.xml文件配置如下:



	e3-manager-web
	
		index.jsp
	
	
	
	
	
		CharacterEncodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			utf-8
		
	
	
		CharacterEncodingFilter
		/*
	


	
	
		e3-manager
		org.springframework.web.servlet.DispatcherServlet
		
		
			contextConfigLocation
			classpath:spring/springmvc.xml
		
		1
	
	
		e3-manager
		
		/
	

第六步:web.xml 中只配置spring容器。删除前端控制器

因为post提交,web请求都是表现层要用的,所以才service层的web.xml配置文件中就不需要配置解决post乱码的配置

前端控制器也是属于表现层的,所以在service层也要删除

最后service层的web.xml文件的配置如下



	e3-manager
	
		index.jsp
	
	
	
	
		contextConfigLocation
		classpath:spring/applicationContext*.xml
	
	
		org.springframework.web.context.ContextLoaderListener
	

第七步:发布服务

在e3-manager-Service工程中pom.xml添加dubbo依赖的jar包。


		
			com.alibaba
			dubbo
			
				
					org.springframework
					spring
				
				
					org.jboss.netty
					netty
				
			
		
		
			org.apache.zookeeper
			zookeeper
		
		
			com.github.sgroschupf
			zkclient
		

在spring的application-service.xml配置文件中添加dubbo的约束,然后使用dubbo:service发布服务。

主要修改的三处

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd

	
	
	
	
	
	
	

上面的配置是集群版的,单机版的只需要将address后面的IP地址写一个就可以了

总体配置

pom.xml


	4.0.0
	
		cn.e3mall
		e3-manager
		0.0.1-SNAPSHOT
	
	war
	e3-manager-service
	
		
			cn.e3mall
			e3-manager-dao
			0.0.1-SNAPSHOT
		
		
			cn.e3mall
			e3-manager-interface
			0.0.1-SNAPSHOT
		
		
		
			org.springframework
			spring-context
		
		
			org.springframework
			spring-beans
		
		
			org.springframework
			spring-webmvc
		
		
			org.springframework
			spring-jdbc
		
		
			org.springframework
			spring-aspects
		
		
			org.springframework
			spring-jms
		
		
			org.springframework
			spring-context-support
		
		
		
			com.alibaba
			dubbo
			
				
					org.springframework
					spring
				
				
					org.jboss.netty
					netty
				
			
		
		
			org.apache.zookeeper
			zookeeper
		
		
			com.github.sgroschupf
			zkclient
		
	

application-servvice.xml




	
	
	
	
	
	
	
	
	
	
	
	

上面的引入dubbo约束的时候需要手工配置约束,dubbo的约束就算是联网也不会下载

Window--Preference--搜索xml Catalog

壹立方商城----工程改造_第13张图片

 

 

表现层工程

改造e3-manager-web工程。

第一步:删除mybatis、和spring的配置文件。只保留springmvc.xml

第二步:修改e3-manager-web的pom文件

  1. 修改parent为e3-parent
  2. 添加spring和springmvc的jar包的依赖
  3. 删除e3-mangager-service的依赖
  4. 添加dubbo的依赖

		
			com.alibaba
			dubbo
			
				
					org.springframework
					spring
				
				
					org.jboss.netty
					netty
				
			
		
		
			org.apache.zookeeper
			zookeeper
		
		
			com.github.sgroschupf
			zkclient
		

5、e3-mangager-web添加对e3-manager-Interface的依赖。

第三步:修改springmvc.xml,在springmvc的配置文件中添加服务的引用。

pom.xml文件需要修改三处

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 
 http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd

	
		
	

第四步:在e3-manager-web工程中pom.xml添加tomcat插件配置。


		
			
			
				org.apache.tomcat.maven
				tomcat7-maven-plugin
				
					/
					8081
				
			
		
	

最终的配置文件

pom.xml


	4.0.0
	
		cn.e3mall
		e3-parent
		0.0.1-SNAPSHOT
	
	e3-manager-web
	war
	
		
		
			cn.e3mall
			e3-search-interface
			0.0.1-SNAPSHOT
		
		
		
			org.springframework
			spring-context
		
		
			org.springframework
			spring-beans
		
		
			org.springframework
			spring-webmvc
		
		
			org.springframework
			spring-jdbc
		
		
			org.springframework
			spring-aspects
		
		
			org.springframework
			spring-jms
		
		
			org.springframework
			spring-context-support
		
		
		
			jstl
			jstl
		
		
			javax.servlet
			servlet-api
			provided
		
		
			javax.servlet
			jsp-api
			provided
		
		
		
			com.alibaba
			dubbo
			
				
					org.springframework
					spring
				
				
					org.jboss.netty
					netty
				
			
		
		
			org.apache.zookeeper
			zookeeper
		
		
			com.github.sgroschupf
			zkclient
		
		
		
		
			junit
			junit
		
	
	 
	
		
			
				org.apache.tomcat.maven
				tomcat7-maven-plugin
				
					/
					8081
				
			
		
	

springmvc.xml



	
	
	
	
	
		
		
	
	
	
	
	
	
		
	

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(壹立方商城项目)