博客管理系统

博客管理系统介绍

	基于SSM框架,实现博客管理系统,可以进行新增文章、文章浏览等功能。本文重点讲解后端部分,前端内容暂不介绍。

系统实现的功能点

		1、用户权限管理:普通用户只能浏览文章,管理员用户可以编写文章
		2、博客列表展示:文章按发布时间展示,展示内容包括:博客类别、标签、博客名称、作者名、发布时间、浏览量、博客内容概括
		3、博客详情页面展示:包括博客名称、作者、时间、标签、类别
		4、博客后台列表:博客检索、博客列表、博客操作
		5、新增博客功能:支持富文本编辑

博客设计技术

前端技术

前端技术使用:jsp、Ajax、前端框架bootstrap、富文本编辑器:百度UEditor

后端技术

后端技术使用:SSM框架、Java、MySQL数据库、JSON数据处理

数据库设计

用户表(t_manager):账号id、账号名称、账号密码

文章表(t_article):文章id、分类id、标题、内容、文章简介、状态、作者、发表时间、浏览量。

博客/标签对应表(t_article_tag):文章id、标签id

标签表(t_tag):标签id、标签名称

类别表(t_category):类别id、类别名称、图片样式、别名、排序

文章表: 
t_article | CREATE TABLE `t_article` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `categoryId` int(11) NOT NULL COMMENT '分类id',
  `title` varchar(40) NOT NULL COMMENT '标题',
  `content` blob NOT NULL COMMENT '内容',
  `decription` varchar(500) NOT NULL COMMENT '文章简介 用于列表显示',
  `statue` int(11) NOT NULL DEFAULT '0' COMMENT '状态 0:正常  1:不执行',
  `author` varchar(15) DEFAULT '张宇轩' COMMENT '作者',
  `createTime` datetime NOT NULL COMMENT '发表时间',
  `showCount` int(11) NOT NULL DEFAULT '0' COMMENT '浏览量',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COMMENT='文章表' 

文章标签对应表:
t_article_tag | CREATE TABLE `t_article_tag` (
  `articleId` int(11) NOT NULL COMMENT '文章Id',
  `tagId` int(11) NOT NULL COMMENT '标签Id',
  PRIMARY KEY (`articleId`,`tagId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文章标签中间表'

标签表:
| t_tag | CREATE TABLE `t_tag` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tagName` varchar(25) NOT NULL COMMENT '标签名称 唯一',
  PRIMARY KEY (`id`),
  UNIQUE KEY `tagName_UNIQUE` (`tagName`)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8 COMMENT='标签表'

类别表:
 t_category | CREATE TABLE `t_category` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `categoryName` varchar(20) NOT NULL COMMENT '分类名称 唯一',
  `iconClass` varchar(45) NOT NULL COMMENT '图片样式',
  `aliasName` varchar(20) NOT NULL COMMENT '别名 唯一 比如新闻 就用News代替 栏目Id不显示在url中',
  `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序 (0-10)',
  PRIMARY KEY (`id`),
  UNIQUE KEY `aliasName_UNIQUE` (`aliasName`),
  UNIQUE KEY `categoryName_UNIQUE` (`categoryName`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='分类表 只支持一级分类 如果需要分多个层次 用标签来协助实现'

用户表:
| t_manager | CREATE TABLE `t_manager` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(25) NOT NULL COMMENT '用户名',
  `password` varchar(45) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8    |

各表之间的关系如图所示

详解博客

搭建博客整体目录结构

博客目录

配置SSM框架所需的依赖等

我们使用SSM框架,就必须导入响应的依赖,以下是我们需要的依赖:

 <!--  字符编码 -->
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <org.springframework.version>4.1.0.RELEASE</org.springframework.version>
    <druid.version>0.2.6</druid.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!-- Spring Start -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

    <!-- Spring End -->

    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>${druid.version}</version>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.0.5</version>
    </dependency>


    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.4</version>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.1</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.3</version>
    </dependency>

  </dependencies>

<!-- 部署服务器所需依赖 -->
	 <plugin>
          <groupId>org.eclipse.jetty</groupId>
          <artifactId>jetty-maven-plugin</artifactId>
          <version>9.0.0.v20130308</version>
          <configuration>
            <httpConnector>
              <port>8080</port>
            </httpConnector>
          </configuration>
        </plugin>

我们看到,上面有的依赖中,我们使用了${…},这表示,我们引用了自己所配置的iml文件,所以我们还需要自己配置以下iml文件如下:

 <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
      <output url="file://$MODULE_DIR$/target/classes" />
      <output-test url="file://$MODULE_DIR$/target/test-classes" />
      <content url="file://$MODULE_DIR$">
        <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
        <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
        <excludeFolder url="file://$MODULE_DIR$/target" />
      </content>
      <orderEntry type="inheritedJdk" />
      <orderEntry type="sourceFolder" forTests="false" />
      <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.11" level="project" />
      <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-aop:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-aspects:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.8.2" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-beans:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-context:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-expression:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-core:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.3" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-tx:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-web:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.1.0.RELEASE" level="project" />
      <orderEntry type="library" name="Maven: com.alibaba:druid:0.2.6" level="project" />
      <orderEntry type="library" name="Maven: mysql:mysql-connector-java:5.0.5" level="project" />
      <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.2.4" level="project" />
      <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.2.1" level="project" />
      <orderEntry type="library" name="Maven: javax.servlet:jstl:1.2
  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值