记录一个简单的博客系统该开发过程

文章目录

    • 1.1 设计前端页面
    • 1.2 编写数据库相关代码
    • 1.3 实现功能的前后端交互
  • 总结


1.1 设计前端页面

首先我们的博客系统要有几个网页界面

  • 博客列表页
  • 博客详情页
  • 登录页
  • 博客编辑页

1.2 编写数据库相关代码

本环节我们需要完成以下几个步骤.

  1. 先设计数据库(表设计), 然后编写 SQL 代码. 此处我们需要 blog, user 两个表.
  2. 封装 DBUtil, 实现与数据库的建立和断开连接.
  3. 创建实体类(Blog, User), 后续数据库的操作是围绕实体类来进行展开.
  4. 编写 DAO 类(BlogDAOI, UserDao), 来进一步封装数据库的操作.

1.3 实现功能的前后端交互

主要的前后端交互模块有以下几个:

  • 博客列表页
  • 博客详情页
  • 登录功能
  • 强制登录检查
  • 获取用户信息
  • 注销功能
  • 发布博客

每一步的流程都大同小异, 主要是以下三步:

  • 设计前后端交互接口
  • 编写后端代码
  • 编写前端代码

总结

✨ 本文记录一个简单的web开发的过程.
✨ 想了解更多知识, 请持续关注博主, 本人会不断更新学习记录, 跟随我一起不断学习.
✨ 感谢你们的耐心阅读, 博主本人也是一名学生, 也还有需要很多学习的东西. 写这篇文章是以本人所学内容为基础, 日后也会不断更新自己的学习记录, 我们一起努力进步, 变得优秀, 小小菜鸟, 也能有大大梦想, 关注我, 一起学习.

再次感谢你们的阅读, 你们的鼓励是我创作的最大动力!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/155037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uview-plus中二级菜单左右联动更改为uni-app+vue3+vite写法

uview-plus3.0重磅发布&#xff0c;全面的Vue3移动组件库 该插件使用的vue2写法&#xff0c;但支持vue3引用&#xff0c;在此基础上修改为uni-appvue3vite; <template><view class"u-wrap mainClass"><!-- <back-header :title"pageTitle&quo…

太累了,是时候让AI数字人来帮我干活了(走,上教程)

阿酷TONY&#xff0c;原创文章&#xff0c;长沙&#xff0c;2023.11.21 关 键 词&#xff1a;AI数字人&#xff0c;生成式AI&#xff0c;智能数字分身适用场景&#xff1a;培训数字人&#xff0c;演讲授课数字人&#xff0c;直播带货数字人特别说明&#xff1a;教程用的是国内…

捷诚管理信息系统 SQL注入漏洞复现

0x01 产品简介 捷诚管理信息系统是一款功能全面&#xff0c;可以支持自营、联营到外柜租赁的管理&#xff0c;其自身带工作流管理工具&#xff0c;能够帮助企业有效的开展内部审批工作。 0x02 漏洞概述 捷诚管理信息系统CWSFinanceCommon.asmx接口存在SQL注入漏洞。未经身份认…

【UE】线框材质

一、方式1 新建一个材质&#xff0c;混合模式设置为“已遮罩”&#xff0c;勾选“双面” 勾选“线框” 然后可以随便给一个自发光颜色&#xff0c;这样最基本的线框材质就完成了 二、方式2 新建一个材质&#xff0c;混合模式设置为“已遮罩”&#xff0c;勾选“双面”&#x…

Idear 中签出git项目分支为灰色

--签出git上的项目 git clone git项目地址 --查看目录 $ dir --查看分支 $ git branch -a --签出分支 $ git checkout origin/v1.0 签出后&#xff0c;使用idear打开项目&#xff0c;项目关联git信息

flock使用文件描述符和使用文件的区别

使用带文件描述符的方法可以让你更好地控制和管理 flock 以及与锁相关的行为。当你在子进程或子shell中使用文件描述符时&#xff0c;文件锁可以跨越这些范围&#xff0c;并且只有在你显式地释放它时&#xff0c;锁才会被释放。 让我们看一个例子&#xff0c;更好地理解这一点…

uniapp中swiper 轮播带左右箭头,点击切换轮播效果demo(整理)

可以点击箭头左右切换-进行轮播 <template><view class"swiper-container"><swiper class"swiper" :current"currentIndex" :autoplay"true" interval"9000" circular indicator-dotschange"handleSw…

IPKISS Tutorials ------查看使用 _generate_elements 方法创建图形的端点坐标

IPKISS Tutorials ------查看使用 _generate_elements 方法创建图形的端点坐标 正文正文 import si_fab.all as pdk import ipkiss3.all as i3class Box(i3.PCell):class Layout(i3.LayoutView

深入了解 Bat 脚本:简单而强大的自动化工具——进阶版

&#x1f3eb;博客主页&#xff1a;魔王-T &#x1f3ef;系列专栏&#xff1a;自动化脚本工具 &#x1f95d;大鹏一日同风起 扶摇直上九万里 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前一篇文章【深入了解 Bat 脚本&#xff1a;简单而强大的自动化工具——基础版】介绍…

Atcoder ABC158

C - Tax Increase 范围足够小&#xff0c;遍历100/0.08内的整数就好 D - String Formation 设置两个数组分别代表前后加入的字符&#xff0c;reverse时交换数组 # -*- coding: utf-8 -*- # time : 2023/6/2 13:30 # file : atcoder.py # software : PyCharmimport bi…

Java语言的特点||运算符

Java语言的特点||运算符 1&#xff1a;2&#xff1a;JDK, JRE&#xff0c;JVM知识&#xff1a;3&#xff1a;注释4&#xff1a;标识符5&#xff1a; Java编译过程&#xff1a;6&#xff1a;赋值7&#xff1a;switch8:布尔表达式9&#xff1a;判定素数10&#xff1a;打印 1 - 10…

IPKISS Tutorials ------查看使用_generate_instances 方法创建图形的端点

IPKISS Tutorials ------查看使用_generate_instances 方法创建图形的端点 import si_fab.all as pdk import ipkiss3.all as i3class Box(i3.PCell):class Layout(i3.LayoutView):</

力扣题目学习笔记(OC + Swift)

训练思维&#xff0c;提高编程能力&#xff0c;不为刷题而刷题 文章目录 1. 两数之和Swift版本OC版本 2. 两数相加Swift实现OC实现 3.无重复字符的最长子串SwiftOC 4.寻找两个正序数组的中位数SwiftOC 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请…

【Linux网络】搭建内外网的网关服务器,实现DNS分离解析与DHCP自动分配

一、实验要求&#xff1a; 二、实验思路剖析&#xff1a; 网关服务器&#xff1a; 客户端准备&#xff1a; 实操&#xff1a; 第一步先安装dhcp服务和bind服务 第二步双网卡&#xff0c;配置网卡的ip地址 第三步&#xff1a;开始配置dhcp 第四步&#xff1a;做dns分离解析…

使用项目自动生成的dokcerfile第一次构建时把加载aps5.0失败无法找到加载的文件

第一次构建初始化项目自带的dockerfile,内容如下: #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.#FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base #WORKDIR /a…

【half done】剑指offer53:在排序数组中查找数字

力扣&#xff0c;https://leetcode.cn/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/description/ 二分查找&#xff0c;边界问题 solution1 自己的方法&#xff0c;其实不太好 class Solution {public int countTarget(int[] scores, int target) {if (scores.l…

单线圈无刷直流电机的电机驱动器芯片GC1298R/S,可替代EUM6898/德信,应用于车用信息娱,HUD 投影仪调整等产品中

GC1298R/S 是单线圈无刷直流电机的电机驱动器。它具有高效的直接 PWM控制方式&#xff0c; 它可以控制无刷直流电机转速。它集成了最低速 度限制模式、可调速度斜率控制模式、软启动模 式、风扇转速计、锁保护、自动重启、TSD、OCP 和噪声控制模式&#xff0c;噪声控制模式根据…

使用持久卷部署 WordPress 和 MySQL

&#x1f5d3;️实验环境 OS名称Microsoft Windows 11 家庭中文版系统类型x64-based PCDocker版本Docker version 24.0.6, build ed223bcminikube版本v1.32.0 &#x1f587;️创建 kustomization.yaml 你可以通过 kustomization.yaml 中的生成器创建一个 Secret存储密码或密…

python 迭代器

可迭代对象 可以直接作用于for循环的对象统称为可迭代对象 &#xff08;iterable&#xff09;。可以用isinstance()去判断一个对象是否是iterable对象。 数据类型 可以直接作用于for循环的数据类型一般分为两种 1.集合数据类型&#xff0c;如list、tuple、dict、set、strin…

使用Arrays.asList与不使用的区别

在写算法的时候&#xff0c;遇到了有的题解使用的是Arrays.asList&#xff0c;也有的是直接新建一个List集合将元素加进去的。 看了一下算法的时间&#xff0c;两者居然相差了9秒。 算法原地址&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长…