e3mall Day02 学习笔记

topic01 工程拆分

  1. manager-web 独立:
    还需要添加spring相关依赖
    web配置独立tomcat插件 8081

  2. manger-service 打war包 web.xml

  3. 瓜分配置文件,web只留springmvc.xml
  4. manager maven run as install 安装到本地仓库

Q:为什么不依赖service而是interface?
A:那样分工程有什么意义?
dubbo接口interface句:一个通讯的规范

topic02 搭建zookeeper&dubbo

zookeeper篇:

step0: jdk环境

step1:(从这里开始都是zookeeper文件夹相对路径) mkdir data

step2: mv conf/zoo_sample.cfg conf/zoo.cfg(方便管理)
vim conf/zoo.cfg
dataDir=/root/zookeeper-3.4.6/data
clientPort=2181 #客户端连接zookeeper的端口号

step3: bin/zkServer.sh start
bin/zkServer.sh status
bin/zkServer.sh stop

关闭防火墙 service iptables stop
chkconfig iptables off

data/zookeeper_server.pid 阻碍启动的杀手

dubbo篇:

初始化spring容器就造就了一个服务provider
springmvc.xml也可以初始化一个容器

service端

step1: dubbo相关三个包:排除spring和netty防止jar冲突
step2: ac-service.xml:dubbo本地约束
step3: dubbo三句:
application
registry
protocol dubbo 20800
service interface全类名 ref实现类(扫描的@Service)

web端

step1: dubbo相关三个包:排除spring和netty防止jar冲突
step2: ac-service.xml:dubbo本地约束
step3: 引用服务时候就在springmvc.xml中
dubbo三句:
application
registry
reference interface依赖的接口 id创建的service对象名@Autowired
直接用

topic3 异常处理

log4j调试卡着不动的原因:

  1. 数据库连接不上
  2. 数据中心zookeeper连接不上
  3. 逆向工程生成的文件有问题

pojo序列化(网络传输的需要)

implements Serializable
install pojo

我的问题

浏览器访问8081一直卡(web层)
log4j加入web的resources:closedChannelExeption线程:端口占用

原来查看一下端口,接受服务端只应该有“两句半”
发现连接的zookeeper主机地址写错了

终于成功了,还是要细心一点 ,对dubbo更熟悉一点,然后善于利用日
志log4j,利器

非重点

  1. debug模式:模式下找不到代码,添加代码
  2. dubbo:服务端得不到响应自动重试三次 可设置超时时间 timeout
  3. 监控中心:就是一个war,需要tomcat,最好和管理中心放在同一个

服务器上 tomcat的webapps下
启动tomcat bin/startup.sh
访问8080:dubbo-admin

有用的命令:tail -f 循环查看尾部命令

应用:tail -f logs/catalina.out

dubbo-admin/WEB-INF/dubbo.properties
注册中心地址端口配置,密码配置

topic4 编码部分

4.1配置文件

springmvc.xml 可以资源映射配置
(否则样式文件会被前端配置器拦截 url / 拦截 js css,jsp不拦截)

<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>

4.2 easyui前端框架

class=easyui-tree控件 day03会涉及更多关于此控件
data-options url 跳转的页面链接
商品添加页面:一个html片断,样式在母html引入

*class=easyui-datagrid
【重要】
1. data-options url 初始化页面的数据的请求
2. 所有请求都是AJAX请求
3.响应一个json,easyui-datagrid对它有要求

{total:”2”,rows:[{“id”:”1”,”name”:”张三”},{“id”:”
2”,”name”:”李四”}]}

rows里面的field与下面data-option的field:”name”对应
那total和row字段怎么办?common里面添加定制pojo

4.3 pageHelper:分页

配置:SqlMapConfig.xml 配置plugin

傻傻的问题:SqlMapConfig.xml 的名称 matters吗? 答案:与applicationContext-dao.xml 的 sqlSessionFactoryBean配 置吻合就行

原理:拦截器,修改sql语句
导入,安装(导入本地仓库)
在manager的dao层引用依赖

关键:
1. PageHelper.startPage(initPage,eachPage)
对下面一句查询生效
2. PageInfo<TbItem> pageInfo = new PageInfo<>(list);
pageInfo调用方法即可

web层: springMVC
pojo自动转json
分页版本pojo:通用pojo放在common工具类工程里
一旦修改(common interface)就Maven install


> 查询商品列表的警告问题: list:被PageHelper篡改了变成了一个page对象(arraylist添加了几 个成员变量的子类)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值