SDSM框架
标题解释
SDSM指的是SpringMVC+Dubbo+Spring+Mybatis的框架
-----------------------------------------------------------------------------------------------------------------------------------
1、项目目录架构说明

模块Client:dubbo服务消费者
模块Server:dubbo服务提供者
模块Web:开发时的web项目,当实际部署的时候,需要将web中的jsp等页面复制到Client对应路径中。(为什么要这样子做?因为开发时调试或者运行时用dubbo很慢,所以就弄了这个项目专门用于开发时使用)
模块Common:公共类
模块Model:模型
模块Dao:Dao对应Mybatis的配置mapping
模块IService:服务接口
模块ServiceImpl:服务实现
模块Controller:控制器
2、项目部署运行
注意:
项目需要用到的端口包括zookeeper注册端口2181,zookeeper服务暴露端口20880,tomcat默认端口8080
1)、先启动zookeeper服务
下载地址:https://zookeeper.apache.org/releases.html 版本zookeeper-3.4.8
下载之后解压,到配置文件夹conf中,复制zoo_sample.cfg为zoo.cfg

配置zoo.cfg对应数据和日志放置目录,没有data和log可以自己创建,创建后再配置其路径

启动zookeeper
到bin目录下,启动zkServer.cmd(windows命令行),linux用./zkServer.sh启动


如果要检验一下是否启动成功的话,那么用zkCli.cmd(windows命令行)启动

2)、框架项目编译打包发布
用maven编译并打包client和server项目,得到对应的war包

到对应的文件夹中将对应的war包名称分别改为client.war和server.war
然后将这两个包都复制到tomcat的webapps中
3)、dubbo管理项目发布
将dubbo.war项目复制到tomcat的webapps中
如果没有dubbo.war包,可以到官网下载源码dubbo-master.zip进行编译发布
目前tomcat的webapps中的war包有

4)、启动tomcat

3、访问页面
1)、访问dubbo管理后台
地址:http://localhost:8080/dubbo
账号:root
密码:root

查看已经注册的服务

2)、访问web测试页面
地址:http://localhost:8080/client/sayhello

地址:http://localhost:8080/client/testservice

是从数据库返回的数据
注意:数据库链接需要自己进行配置,包括日志的数据库链接。
SDSM框架的更多相关文章
- 避免重复造轮子的UI自动化测试框架开发
一懒起来就好久没更新文章了,其实懒也还是因为忙,今年上半年的加班赶上了去年一年的加班,加班不息啊,好了吐槽完就写写一直打算继续的自动化开发 目前各种UI测试框架层出不穷,但是万变不离其宗,驱动PC浏览 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 旺财速啃H5框架之Bootstrap(五)
在上一篇<<旺财速啃H5框架之Bootstrap(四)>>做了基本的框架,<<旺财速啃H5框架之Bootstrap(二)>>篇里也大体认识了bootst ...
- Angular企业级开发(5)-项目框架搭建
1.AngularJS Seed项目目录结构 AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目.所以大多数团队会基于Angular-S ...
- Scrapy框架爬虫初探——中关村在线手机参数数据爬取
关于Scrapy如何安装部署的文章已经相当多了,但是网上实战的例子还不是很多,近来正好在学习该爬虫框架,就简单写了个Spider Demo来实践.作为硬件数码控,我选择了经常光顾的中关村在线的手机页面 ...
- 制作类似ThinkPHP框架中的PATHINFO模式功能
一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...
- 旺财速啃H5框架之Bootstrap(四)
上一篇<<旺财速啃H5框架之Bootstrap(三)>>已经把导航做了,接下来搭建内容框架.... 对于不规整的网页,要做成自适应就有点玩大了.... 例如下面这种版式的页面. ...
- 一起学 Java(三) 集合框架、数据结构、泛型
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- Hibernatel框架关联映射
Hibernatel框架关联映射 Hibernate程序执行流程: 1.集合映射 需求:网络购物时,用户购买商品,填写地址 每个用户会有不确定的地址数目,或者只有一个或者有很多.这个时候不能把每条地址 ...
随机推荐
- jenkins修改时区
查看jenkins目前的时区 访问http://your-jenkins/systemInfo,查看user.timezone变量的值 默认是纽约时间 修改时区 查https://wiki.jenki ...
- Angular之constructor和ngOnInit差异及适用场景
constructor会在类生成实例时调用,Angular无法控制constructor,constructor中应该只进行依赖注入而不是进行真正的业务操作 ngOnInit属于Angular生命周期 ...
- django系列8.3--django中间件实现登录验证(1)
中间件版的登录验证需要依靠session,所以数据库中要有django_session表. urls.py from django.conf.urls import url from app01 im ...
- JAVA特性一:封装
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. 封装概念详解:封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口. 面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完 ...
- CodeChef April Challenge 2019题解
传送门 \(Maximum\ Remaining\) 对于两个数\(a,b\),如果\(a=b\)没贡献,所以不妨假设\(a<b\),有\(a\%b=a\),而\(b\%a<a\).综上, ...
- P4145 上帝造题的七分钟2
题目描述 "第一分钟,X说,要有数列,于是便给定了一个正整数数列. 第二分钟,L说,要能修改,于是便有了对一段数中每个数都开平方(下取整)的操作. 第三分钟,k说,要能查询,于是便有了求一段 ...
- SpringQuartz定时任务cronExpression配置
<!-- 每一个小时跑一次--> <property name="cronExpression"> <value>0 0 0/1 * * ?&l ...
- http协议缓存小结
缓存可以使用expire方式,设置到期时间,缓存的时间等于expire设置的时间减去当前的时间 也可以使用no-cache的方式进行缓存,当设置了no-cache的方式时,以no-cache的为准,e ...
- linux克隆后修配置
第一步:克隆 第二步:vi /etc/sysconfig/network-scripts/ifcfg-eth0 编辑 DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM ...
- day4. python学习之字典
字典和列表是最常用的数据类型,字典是一种key-value的数据类型,用{ }表示 1.字典的特性:无序的,没有下标 2.字典的使用:增删改查 info = { '20181101':"zh ...