说明:该项目是实验楼用户“LOU3165780622”发布在实验楼上的项目教程:【Java实现个人博客】,未经允许,禁止转载;

该项目利用 SSM 框架和 Mysql 以及一些简单的前端知识搭建一个自己的个人博客网站,网站功能包括写博客和日记,浏览博客与日记,以及作为网站拥有者的我们对博客和日记的管理。

一、涉及知识点:

在用Java开发个人博客这个项目中会涉及到以下知识点的应用;

    1. Spring MVC
    1. Spring
    1. Mybatis
    1. CSS/JS
    1. Jquery

二、项目结构

完成该项目后的项目结构如下所示;

三、效果图如下:

主页

博客管理

验证管理员

点击 Admin ,会弹出提示框,要求输入密码,这里密码为 000000.

留言板

写博客

通过上面的效果展示就可以看出是一个功能较为齐全的个人博客哦,开发出来后只要部署到服务器就完全是自己的个人网站嘛,所以感兴趣的小伙伴儿可以学习呀~

四、实验步骤

下面对整个开发过程和步骤做一个简单的说明,如果你看了这些开发步骤后还是不知道如何开发,那么可以点击【Java实现个人博客】进行查看哦~

1 开发准备

开发准备包括项目创建、JAR 包的导入、第三方插件的下载、页面所需图片下载以及和创建数据库。

  • 项目创建
  • Jar 包导入
  • MarkDown 编辑器:该项目需要使用 markdown 文档编辑来实现写博客和日记的功能。我们选择的是开源的 markdown 编辑器 Editor.md。
  • 图片下载:开发网站肯定是需要用到图片的,该项目页面上使用的图片有两张,包括 logo 和在主页上使用的另一张图片。
  • 创建数据库:需要创建博客和日记等数据表;
  • 实体类:实体类对应数据库的表,所有实体类在 com.personalblog.model 包下。

以上,我们的开发准备工作就完成了。

2 前端页面

该项目的前端页面是使用 jsp 编写的。另外,还有一些简单的 css 样式和 js。

前端需要编写的页面还是比较多的,一个个写就ok了;

3 博客相关功能的实现

博客相关功能包括:存储博客的内容信息、查找博客、根据id查找博客、删除博客。

写博客相关功能的后台 Java 代码;

4 日记相关功能的实现

日记 diary 的相关功能包括写日记、显示日记和管理日记。

以上就是我们的逻辑处理过程需要写的代码。

5 xml 文件的配置

  • web.xml:web.xml 文件中我们需要配置的东西是 SSM 框架的相关配置,包括监听器、核心加载类等等;
  • applicationContext.xml:applicationContext.xml 是 spring 的核心配置文件,它整合了 Spring mvc 和 mybatis ,并配置了数据库的持久化。
  • mybatis-config.xml:mybatis-config.xml 是加载 mapper 层的接口和 xml 文件;
  • spring-mvc.xml:spring-mvc.xml 配置的是配置方案和视图解析器、自动扫描并加载成 bean 等;

五、测试结果:

完成开发后,肯定是需要测试的;

最后:

Java实现个人博客网站的更多相关文章

  1. JavaWeb项目开发案例精粹-第4章博客网站系统-006View层

    1.showAllArticle.jsp <%@ page language="java" contentType="text/html; charset=gb23 ...

  2. 基于SpringBoot从零构建博客网站 - 技术选型和整合开发环境

    技术选型和整合开发环境 1.技术选型 博客网站是基于SpringBoot整合其它模块而开发的,那么每个模块选择的技术如下: SpringBoot版本选择目前较新的2.1.1.RELEASE版本 持久化 ...

  3. 独立博客网站FansUnion.cn运营2年的经验和教训以及未来规划

    今天,我把运营了2年的独立博客网站FansUnion给"归零"了.    2012年6月,我成功搭建了自己的博客网站FansUnion.cn,这是由于自己的不懈努力和时代发展成就的 ...

  4. CentOS 7 yum安装LAMP,LNMP并搭建WordPress个人博客网站

    本次实验要进行的是在CentOS7.2,内核版本3.10.0-327.el7.x86_64的环境下搭建LAMP和LNMP,并在此之上做一个WordPress博客网站. [root@Shining ~] ...

  5. GitHub Pages + Hexo搭建个人博客网站-github风格-采坑记录

    目录 1.本机安装nodejs 2.github上创建仓库 3.安装hexo 4.hexo主题 5.配置主题 6.添加文章 7.使用分类和标签 8.增加文章目录 9.推送github 使用github ...

  6. php第一次实验个人博客网站的设计编写①

    先上效果图: 网页代码:index.html <!DOCTYPE html> <html lang="en"> <head>     <m ...

  7. Github Pages和Hexo创建静态博客网站

    Github Pages和Hexo创建静态博客网站 安装Node.js 本人是window环境,所以下载window版. 下载地址:https://nodejs.org/en/download/ 下载 ...

  8. 初试Nodejs——使用keystonejs创建博客网站2(修改模板)

    上一篇(初试Nodejs——使用keystonejs创建博客网站1(安装keystonejs))讲了keystonejs的安装.安装完成后,已经具备了基本的功能,我们需要对页面进行初步修改,比如,增加 ...

  9. 初试Nodejs——使用keystonejs创建博客网站1(安装keystonejs)

    我正在阿里云上创建一个简单的个人博客网站,刚好正在尝试NodeJs,决定找一款基于NodeJs的CMS来完成这个工作,最后找到了KeyStoneJS. KeyStoneJS是基于Express和Mon ...

随机推荐

  1. python 读取配置文件方法

    #coding=utf8 import ConfigParser config = ConfigParser.ConfigParser() config.readfp(open(raw_input(& ...

  2. YSQL获取自增ID的四种方法(转发)

    YSQL获取自增ID的四种方法(转发) 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与t ...

  3. 微信小程序:bindtap等事件传参

    事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id, data ...

  4. 使用commons-net做FTP功能的异常 java.lang.ClassNotFoundException: org.apache.oro.text.regex.Malformed

    最近使用Apache的commons-net.jar做FTP上传下载功能,点击“上传”的时候报错,如下: java.lang.ClassNotFoundException: org.apache.or ...

  5. [No0000189]改善C#程序的建议10:用Parallel简化Task

    在命名空间System.Threading.Tasks下,有一个静态类Parallel简化了在同步状态下的Task的操作.Parallel主要提供了3个有用的方法:For.ForEach.Invoke ...

  6. 使用FFmpeg常见问题

    使用FFmpeg常见问题 https://blog.csdn.net/willib/article/details/52530328 https://blog.csdn.net/nogodoss/ar ...

  7. oracle基本命令笔记

    最近由于工作原因,再次接触oracle,因此重新来熟知下oracle基本的命令. --改密码 1.运行——键入“cmd” 回车2.键入“sqlplus/nolog” 回车3.键入“conn/as sy ...

  8. DEV获取GridControl当前行

    //直接通过gridView获取当前行dr=this.gridView1.GetDataRow(this.gridView1.FocusedRowHandle);//通过DataSet获取数据,需要转 ...

  9. 以CENTOS6.8系统为例部署ORACLE11g RAC和DNS配置

    本文所需要的全部文档均位于文末附录中 本文章以两个节点为例进行安装 在virtual box创建虚拟机时,网卡1为桥接网卡,网卡二为仅主机模式 创建两块磁盘,模式设置为可共享,都添加到两个虚拟机中 在 ...

  10. LeetCode 883 Projection Area of 3D Shapes 解题报告

    题目要求 On a N * N grid, we place some 1 * 1 * 1 cubes that are axis-aligned with the x, y, and z axes. ...