topic01 前台工程搭建

还是要尽量使得不同项目之间包名都不一样

Q:commons放哪儿?
A:

伪静态化 *.html

Q:RequestMapping后面 /index 为什么index.html也会进入?
A:后缀可以省略

访问流程:localhost:8082/
1.顺次找web.xml欢迎页,找到index.html
??2.在webapps找页面,没找到
3.前端控制器拦截*.html
4.进入对应controller的对应方法,其中RequestMapping的.html可以省略

【问题】
org.apache.catalina.LifecycleException
ava.lang.IllegalArgumentException:
Invalid /*.html in servlet mapping
改正: *.html

http://breezylee.iteye.com/blog/1991242

topic02 首页展示

首页思路:
manager的平行地位子公司content
manager-web portal-web 都调用content服务

页面js分析及服务需求分析

content-category.jsp:
内容分类:树形结构 div id=contentCategory class=easyuitree
jq脚本:页面加载完成执行的
选择本页面唯一的div.tree(json)初始化一个tree
json:url method onContextMenu onAtferEdit (两个回调函数)

url的参数值:url初始化树的请求连接,有参数,就是展开的节点的id(参数实际上是parentId)
回调函数的返回值:e node(id,text,state)列表
完成功能

创建e3-content聚合工程

创建e3-content聚合工程完成以上服务;
依赖manager的pojo dao
自建interface和service
参考e3-manger完成搭建
注意:启动时候推荐运行聚合工程:在聚合工程中加入tomcat插件
interface 依赖pojo
service 依赖dao interface 和一大堆
配置文件复制过来 改service,改成自己对应的包名
dubbo配置:改dubbo的端口
事务:修改包名
web.xml 改名

注:service的tomcat只有一个功能==》初始化spring容器
打war包,便于发布便于部署便于聚合

编码部分

ContentCategoryService:
interface:List getContentCatlist(long parentId);
service实现
manage-web表现层:首先加入content接口的依赖
content maven install
启动两个服务(启动聚合工程)

【我的问题】
content服务启动闪退 ,重大失误,没有让service打war包
添加对应web.xml 启动成功

树形控件节点编辑:
需要实现的:/content/category/create /content/category/update
分别是添加子分类到数据库,编辑已有分类并保存到数据库
注:ajax:传参为json实际上传过去的是地址参数串儿(序列化)
E3Result 的data通用

dao层:
修改 逆向工程生成的sql添加插入主键
insert:/insertSelectice

select last_insert_id()

maven install
注意:insert..Selective update..Selective
Selective的意义:插入表的时候,如果字段为空就不插入,不为空才插入,这对update有重大意义

interface:
E3Result addContentCategory(long parentId,String name);

service:实现
返回E3Result.isok(返回的对象)
Mapper改造之后id自动添加给了id字段

web层

内容管理:
**js传值给html的隐藏域cid:需要展示的叶子分类Id
以便于html进一步提交选择的id去数据库插入
js==>html(hidden)==>controller ==》database(插入)
*因为其他的都是管理员通过页面传给controller,只有cid分类的外键是现成的,用户点击时候就可以生成,就通过js传给html的隐藏域

注:
$(“#xxxForm”).serializable() 表单数据序列化(提交给url的controller)
此处也可以写json
都是post提交方式

interface:新建ContentService
E3Result addContent(TbContent tbContent);

service:实现
ac-service.xml发布服务

web实现:
引入服务 新建ContentController
请求的url:”/content/save”

首页轮播:
interface:(ContentService)List getContentListByCid(long cid);
service:实现 Mapper方法selectByExampleWithBLOBs(xxx)
web:portal-web 添加接口依赖 引入服务
conf/resources.properties 写分类好cid(这里是打广告89)
@Value(“xxx”)成员变量的声明用到了Model参数就是Model这回不是ResponseBody了!model.addAttribute(“xxx”,xxx)页面可以通过{xxx}”) 成员变量的声明 用到了Model 参数就是Model 这回不是ResponseBody了! model.addAttribute(“xxx”,xxx) 页面可以通过{}拿到Model
注意:model的key要和页面展示的${}一致

springmvc 加载配置文件 context:property-placeholder
location 只能写一个

e3mall Day05相关推荐

  1. Python基础day05 作业解析【10道 函数作业题】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day04[函数(定义与调用.文档说明.传参函数.全局变量.返回值.嵌套调用)] ...

  2. Python基础day05【函数应用:学生管理系统、拆包、今日总结】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  3. Python基础day05【函数(局部变量、全局变量、多函数执行流程、函数返回值、函数参数)、拆包、引用、可变与不可变类型、函数注意事项】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  4. Python菜鸟入门:day05列表

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...

  5. day05【后台】菜单维护

    day05[后台]菜单维护 1.数据库中存储树形结构 1.1.节点类型 1.2.创建菜单表 执行SQL语句创建数据库表 USE project_crowd CREATE TABLE t_menu (i ...

  6. 20200714:动态规划复习day05

    动态规划复习day05 今天继续说股票问题三 题目: 买卖股票的最佳时机Ⅲ 解题思路 同理,我们还是按照老样子走. 先判断状态和选择 状态:今天第i天,我手里是否有股票,以及我卖出过几次股票. 选择: ...

  7. day05数据类型(上)

    day05数据类型(上) 常见的数据类型: int ,整数类型(整型) bool,布尔类型 str,字符串类型 list,列表类型 tuple,元组类型 dict,字典类型 set,集合类型 floa ...

  8. 小白之路由浅入深之------day05

    方法 目录 方法概述 1.1 方法的概念(理解) 方法的定义和调用 2.1 无参数方法定义和调用(掌握) 2.2 方法调用过程图解(理解) 2.3 无参数方法的练习(应用) 带参数方法定义和调用 3. ...

  9. 微信小程序进阶学习笔记Day05

    学习目标:微信小程序基础Day05 今日目标: 能够知道如何安装和配置 vant-weapp 组件库 能够知道如何使用 MobX 实现全局数据共享 能够知道如何对小程序的 API 进行Promise ...

最新文章

  1. linux系统防火墙相关问题及常用命令介绍
  2. 2009年岁末年总结
  3. JavaScript面向对象——深入理解寄生组合继承
  4. Zbrush 2019有哪些新功能需要你的探索,赶紧来看看
  5. codevs1085数字游戏(环形DP+划分DP )
  6. firefox启动很慢 linux_Win10安装和使用Linux子系统(WSL 2)完整指南
  7. Android IOS WebRTC 音视频开发总结(四一)-- QQ和webrtc打洞能力pk
  8. 开启了ADB,就等于配了一把家门钥匙给别人!
  9. 保险公司在线签名 html5,html5手写签名
  10. switch and router
  11. Qt点击按钮两次才弹出菜单如何解决
  12. 马云正式辞职,那么天才郭盛华到底在追求什么呢?
  13. 一文带你了解降压型稳压芯片原理
  14. 创建个人博客只需五步骤——小白都能看会的详细过程,教你如何白嫖阿里云服务器
  15. 如何教机器学会原研哉(小米新LOGO)的设计理念
  16. NLP工具——doccano标注系统自动标注功能使用
  17. html画布画笔粗细,基于javascript html5 canvas实现可调画笔颜色/粗细/橡皮的涂鸦板...
  18. 数据库配置口令复杂度策略和口令有效期策略
  19. Blender:Lowpoly头部建模流程 目录
  20. 深入浅出FFMPEG(二) SDK version 0.11

热门文章

  1. 妙春浆掀起养生革命热潮
  2. 筑紫A丸+JetbrainsMono字体分享
  3. 计算机游戏开发博士,博士做游戏 《天谕》学霸开发组曝光
  4. 陌陌跻身移动广告平台四强
  5. 陌陌基于位置的服务器,陌陌:一款基于地理位置的移动社交工具 让你认识周围的TA...
  6. 20162329张旭升 2016-2017-2 《程序设计与数据结构》第八周学习总结
  7. 【kubeadm】init配置文件
  8. Unity开启HDR在个别真机上黑屏现象
  9. JS获取url参数 返回一个对象
  10. 用C++写一个《炸飞机》/《死亡轰炸》游戏辅助程序