学习淘淘商城第二十五课(CMS内容管理系统表设计及内容工程搭建)
来源:互联网 发布:微博个性化域名 编辑:程序博客网 时间:2024/05/17 01:42
上节课我们一起学习了搭建前台显示系统taotao-portal-web,这节课我们一起学习下前台显示内容的表设计。
我们以京东的首页为例,如下图所示,可以看到内容显示是分组显示的,广告位轮播图是一组,轮播图下面那两张图片是一组,右边的"促销"、"公告"是一组,但是它与轮播图又有所不同,不同之处在于它下面分了两个小组,每个小组下面有标题列表,每个标题都是一个链接,点击"促销"这组的任何一个标题进入会是一个新的网站,点击"公告"这组的任何一个标题进去则是公告的具体内容(相当于一篇文章)。"更多"表示还有其它分组。另外"京东秒杀"这也是一组,这组内容的特点是有标题有图片有价格。"发现好货"这组则是有图片有标题。
从上图京东首页的展示不难看出,我们应该将内容进行分类,每个分类下面有多条内容,它们是一对多的关系,这样的关系就适合用两张表来进行存储。一张表示内容分类表,另一张表示内容表。首先我们来看下内容分类表,如下图所示。表中有parent_id字段,这样便可以实现树形分级展示,分类要有分类名称(name字段),status字段用来表示该分类目前是否应该显示(如果已经逻辑删除了,那么便不再显示了),sort_order则是同级类目的展现次序,is_parent字段直接记录是否是父级类目(这个字段在树形展示时很有用)。
下面我们便来看一下内容表,内容表中肯定是有内容分类表的外键的(category_id),内容展示有的有标题,因此需要标题(title)这么一个字段,有的文章是有小标题的,因此我们应该加上小标题字段(sub_title),有的内容需要对标题进行描述,因此需要标题描述字段(title_desc),链接字段是必须要有的,因为内容涉及最多的便是跳转。之所以这张表设计了两个图片字段,是因为考虑到不同的显示屏所显示的图片会不一样,宽屏则应该显示宽屏图片,窄屏则应该显示窄屏图片。
下面我们来搭建内容工程
1、File----->New------>Other...------->Maven Project,在弹出的对话框中输入如下图所示内容。
2、添加taotao-content-interface模块,方法是在taotao-content工程上右键----->Maven------>New Maven Module Project,如下图所示。
勾选"create a simple project",在Module Name中输入taotao-content-interface,然后点击"Next"。
packaging打包方式我们使用默认的jar,直接点击"Finish"。
3、新建taotao-content-service模块,步骤基本上同上,只是打包方式换成war即可,如下图所示。
至于dao和pojo两个模块我们不用在taotao-content工程再新建一遍了,因为我们在taotao-manager工程当中便创建好了,我们只需要引用这两个模块就可以了。
4、配置taotao-content的pom.xml文件,添加对taotao-common工程的依赖,我们最好启动聚合工程,因此我们在聚合工程配置tomcat启动插件,8080、8081、8082都已经被占用了,我们这里使用8083,如下所示。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.taotao</groupId> <artifactId>taotao-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <groupId>com.taotao</groupId> <artifactId>taotao-content</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>taotao-content-interface</module> <module>taotao-content-service</module> </modules> <dependencies> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <path>/</path> <port>8083</port> </configuration> </plugin> </plugins> </build></project>5、配置taotao-content-interface的pom.xml文件,添加对taotao-manager-pojo的依赖,如下所示。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.taotao</groupId> <artifactId>taotao-content</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>taotao-content-interface</artifactId> <dependencies> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-manager-pojo</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies></project>6、配置taotao-content-service的pom.xml文件,添加taotao-manager-dao、taotao-content-interface、spring、dubbo的依赖,如下所示。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.taotao</groupId> <artifactId>taotao-content</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>taotao-content-service</artifactId> <packaging>war</packaging> <dependencies> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-manager-dao</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.taotao</groupId> <artifactId>taotao-content-interface</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency><!-- dubbo相关的jar包 --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><exclusions><exclusion><artifactId>spring</artifactId><groupId>org.springframework</groupId></exclusion><exclusion><artifactId>netty</artifactId><groupId>org.jboss.netty</groupId></exclusion></exclusions></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId></dependency> </dependencies></project>7、配置resource,我们把taotao-manager-service的src/main/resources目录下的mybatis、properties、spring三个目录粘贴过来。SqlMapConfig.xml文件不用动,如下图所示。
properties下的db.properties配置不用改,如下图所示。
spring目录下的applicationContext-dao.xml文件也不用修改,如下图所示。
applicationContext-service.xml文件需要修改扫描的包为"com.taotao.content.service",然后我们到taotao-content-interface的src/main/java目录下新建com.taotao.content.service包并在taotao-content-service的src/main/java目录下新建com.taotao.content.service.impl包。dubbo服务名称修改为"taotao-content",dubbo服务向外暴露的端口为"20881"(每发布一个服务就要更改一个端口)
修改applicationContext-trans.xml文件,修改切面的包为com.taotao.content.service。
把taotao-manager-service下的WEB-INF及web.xml,粘贴到taotao-content-service的webapp目录下,修改<display-name>为"taotao-content"。
发布服务不一定非要使用tomcat,之所以使用tomcat是为了部署方便。
- 学习淘淘商城第二十五课(CMS内容管理系统表设计及内容工程搭建)
- 学习淘淘商城第二课(搭建Maven工程)
- 学习淘淘商城第二十七课(内容管理)
- 学习淘淘商城第二十六课(内容分类管理)
- 淘淘商城系列——CMS内容管理系统工程搭建
- 学习淘淘商城第八十二课(SSO工程搭建)
- 学习淘淘商城第二十四课(前台系统工程搭建)
- 学习淘淘商城第九十六课(购物车实现分析及工程搭建)
- 学习淘淘商城第三十九课(搜索系统搭建)
- 学习淘淘商城第一百零二课(订单系统服务端和客户端工程搭建)
- 学习淘淘商城第九十五课(jsonp的原理及两种实现方式)
- 学习淘淘商城第三十五课(Solr的安装)
- 学习淘淘商城第五十五课(ActiveMQ的安装)
- 淘淘商城内容管理内容列表显示
- 淘淘商城内容管理模块内容添加
- 学习淘淘商城第六十三课(搭建商品详情页面工程)
- 学习淘淘商城第二十九课(Redis的安装)
- 学习淘淘商城第三十一课(Redis集群搭建)
- 关于dom的一些基础知识-来自w3shool.com.cn
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)
- java简单酒店管理程序
- 指针与其存储空间的问题
- 什么是无监督学习(监督学习,半监督学习,无监督聚类)?
- 学习淘淘商城第二十五课(CMS内容管理系统表设计及内容工程搭建)
- 权限校验过滤器
- linux用户与用户组管理
- springmvc之自定义视图BeanNameViewResolver
- 算法——猴子吃桃问题
- HDU 1251 统计难题 (Trie树——字符串算法)
- 在eclipse中用maven创建web项目
- 颜色分类
- java内存分配