day08_Web开发

主要讲解点:
  1. 使用ActiveMQ完成发短信功能(重点)

2、Kindeditor上传图片及图片管理器功能的实现(对应后台代码是重点,

Kindeditor参照demo会用就行)

  1. 宣传活动的保存功能(重点)

4、BootStrap分页(了解)

  1. ActiveMQ整合spring实现生产者(能实现)
  1. 导入相关jar包

    1)Spring开发测试

    day08_Web开发_02

2)ActiveMQ

day08_Web开发_03

3)Spring整合activeMQ

day08_Web开发_04

2、编写配置生产者

1)配置activemq连接工厂

day08_Web开发_05

2)配置spring mq管理工厂

day08_Web开发_06

  1. 配置jmsTemplate模板

day08_Web开发_07

3、完成代码

1)Queue发送消息的实现

day08_Web开发_08

  1. Topic发送消息的实现

day08_Web开发_09

3)测试用例

day08_Web开发_10

二、ActiveMQ整合spring实现消费者(能实现)

1、配置只扫描consumer包

day08_Web开发_11

day08_Web开发_12

day08_Web开发_13

day08_Web开发_14

day08_Web开发_15

2、配置listener监听器,在applicationContext-mq-consumer.xml

day08_Web开发_16

3、测试代码

day08_Web开发_17

注意:Topic有有效期,过了有效期后,订阅消费者无法再获取到topic消息

三、重构客户注册基于MQ实现短信验证码生产者(能实现)

实现思路:

  1. 在bos_fore项目CustomerAction作为短信消息生产者,将消息发给ActiveMQ
  2. 建立单独SMS项目,作为短信消息消费者,从ActiveMQ获取发短信消息,调用第三方接口完成短信发送

bos_fore项目客户注册,作为短信消息生产者

1、配置applicationContext.xml

day08_Web开发_18

2、配置applicationContext-mq.xml

day08_Web开发_19

day08_Web开发_20

  1. 将jmsTemplate注入CustomerAction

day08_Web开发_21

4、bug分析

day08_Web开发_22

        <dependency>

         <groupId>org.apache.xbean</groupId>

         <artifactId>xbean-spring</artifactId>

         <version>3.7</version>

    </dependency>

又出错 发现是配置里,命名有重复引起的,修改命名即可

day08_Web开发_23

day08_Web开发_24

day08_Web开发_25

四、建立SMS系统基于MQ实现短信验证码消费者(能实现)

1、新建war工程bos_sms

    day08_Web开发_26

    配置端口

    day08_Web开发_27

2、web.xml配置

day08_Web开发_28

3、applicationContext.xml配置

day08_Web开发_29

day08_Web开发_30

4、消费者代码编写

day08_Web开发_31

如果applicationContext-mq.xml加载比较卡,或者有红叉等

将这个配置<!-- <amq:connectionFactory id="amqConnectionFactory" -->

<!-- brokerURL="tcp://localhost:61616" userName="admin" password="admin" /> -->

替换成下面这一段,同样的配置,换成spring bean的配置方式

<bean id="amqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">

<property name="brokerURL" value="tcp://localhost:61616"></property>

<property name="userName" value="admin"></property>

<property name="password" value="admin"></property>

</bean>

 

五、第六章主要内容概述

1、取派模块下促销宣传活动功能实现

2、bos_management管理系统对宣传活动内容进行添加维护(在线HTML编辑器)

3、bos_fore前台系统中显示宣传活动信息(bootstrap+angularJS分页列表显示)

4、促销宣传活动存在过期时间,定时过期功能实现(Quartz框架的使用)

5、页面静态化技术

  1. 促销活动业务分析和数据表建立(理解)
  1. 分析

    1)前端系统

提供宣传内容的录入和实时更新的功能,主要是用来维护一些与业务受理相关的优惠、新业务等信息,并在业务受理界面可以看到最新的动态内容,便于受理人员接单和客户沟通。

前台

day08_Web开发_32

2)BOS核心物流系统

day08_Web开发_33

2、具体实现

1)实现促销活动信息自定义录入,使用在线HTML编辑器技术(用于论坛、商品详情、活动详情、新闻内容自定义编辑)

2)在bos_management建立存放宣传任务数据表t_promotion,对应实体类:

day08_Web开发_34

  1. kindeditor编辑器使用入门(会用)
  1. kindeditor的介绍(富文本编辑器)

    官网:http://kindeditor.net/demo.php

2、使用

1)导入支持

day08_Web开发_35

day08_Web开发_36

day08_Web开发_37

2)具体页面提供textarea

day08_Web开发_38

3)编写js代码

day08_Web开发_39

八、kindeditor初始化参数设置(会用)

1、语法:K.create('#id',{options}); 参数采用key-value格式

采用items属性定制工具栏按钮显示

day08_Web开发_40

2、使用kindeditor使用图片上传编辑显示功能,需要指定uploadJson和fileManagerJson

day08_Web开发_41

注意:默认实现文件上传文件是php程序

day08_Web开发_42

3、使用文件管理器功能和fileManagerJson一组

day08_Web开发_43

day08_Web开发_44

day08_Web开发_45

注意:默认文件管理器,服务器端采用php

九、kindeditor自定义图片上传实现(能实现)
  1. KindEditor默认采用PHP实现,如果使用java实现,需要设置初始化参数

day08_Web开发_46

查看文件上传返回参数

day08_Web开发_47

2、设置页面kindeditor请求路径

day08_Web开发_48

3、在服务器编写ImageAction,处理kindeditor文件上传功能

day08_Web开发_49

十、kindeditor自定义图片上传实现(效果展示)(能实现)

1、修复图片上传保存路径问题

day08_Web开发_50

十一、kindeditor图片管理器功能实现(能实现)         
  1. 点击图片空间,显示服务器端所有已经上传图片列表,选择一张图片加入当前编辑器内容中

day08_Web开发_51

2、在页面点击图片空间,发送请求image_manage.action

day08_Web开发_52

3、编写    ImageAction添加manage方法

day08_Web开发_53

day08_Web开发_54

day08_Web开发_55

十二、宣传活动数据保存功能实现(重要)

1、form表单,添加action和图片上传控件

promotion_add.html

day08_Web开发_56

day08_Web开发_57

2、点击保存按钮,提交表单

day08_Web开发_58

3、编写PromotionAction添加save方法

day08_Web开发_59

day08_Web开发_60

4、Service和DAO

day08_Web开发_61

day08_Web开发_62

十三、宣传活动数据保存富文本编辑器字段提交问题修复(能修复)

1、注意:当使用kindEditor进行编辑数据时,编辑后内容,不会自动随表单进行提交

day08_Web开发_63

 

2、KindEditor工作原理,隐藏原来textarea文本框,生成iframe,在iframe里进行编辑

day08_Web开发_64

day08_Web开发_65

十四、宣传活动后台分页列表显示(能实现)

在bos_management的promotion.html通过datagrid展示活动列表数据

  1. 在datagrid中添加url

day08_Web开发_66

  1. 在PromotionAction中添加pageQuery方法

    day08_Web开发_67

  2. 编写业务层和DAO层

day08_Web开发_68

  1. 页面定制datagrid的formatter解决

day08_Web开发_69

练习:将活动列表展示中状态显示为1进行中,2已结束

十五、BootStrap分页表格demo编写(能实现)

1、表格部分

day08_Web开发_70

2、分页工具条部分

day08_Web开发_71

补充说明:

1、AngularJs

html和js之间的数据衔接层,可以操控html元素(数据绑定、MVC、依赖注入)等,AngularJs是一个javascript的框架,是为了开发有复杂业务逻辑的CRUD应运而生的。

2、BootStrap

用于页面布局样式设计、CSS等,与数据无关,是一种UI设计工具,一般搭配AngularJs使用。BootStrap不算是javascript框架,它只是一个前端的UI框架,然后有一些附带的js插件而已。

3、JQuery

是一个 JavaScript 函数库,更偏重于操作dom元素,对dom遍历和修改。

4、Jquery EasyUI

是基于jQuery的框架,它侧重于页面显示部分,即UI,但是所有效果都是用JQuery实现的。

  1. ztree