基于SSM+vue框架的个人博客网站源码和论文

基于SSM+vue框架的个人博客网站源码和论文061

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

  • (设计)研究背景与意义

关于博客的未来:在创办了博客中国(blogchina)、被誉为“博客教父”的方兴东接受了记者的专访。他认为,博客这一事物在中国的发展大致经过以下三个阶段:第一阶段是2002年至2003年,少数人写博;第二阶段是2003年至2005年,博客爱好者写博;第三阶段是2005年至2006年以及接下来的两年,博客进入大众化前期。“如果说第一阶段和第二阶段博客的发展还是理想主义和浪漫主义的话,那从第三阶段开始,博客已经向现实主义转变。再过两年,即将进入大众化晚期,也就是说,那些网络保守主义者也将加入到博客大军中来”。在我国,已经有十几万个博客网站,博客数量达到100多万个,并且呈现40%的年增长进度,着实让国人刮目相看。因此,博客经济引起了专家学者和行业官员的普遍关 注。博客现象,能给中国带来什么?网络博客,能成为每个网民的网络生活方式吗?从互联网的兴起到现在,网民由上网浏览网络文章和查找资料以及上论坛发帖子,发展到建网站、建个人网站论坛主页,再发展成现在的建博客,一路走来,网民在网络一直打拼着建造着一个属于自己的地盘,不知从何时起,建博客、写博客成为了众多网民网络生活的重要组成部分,与网络聊天成了并驾齐驱的热点,共同成为网民上网最关心的事情。

博客在中国的发展始于1998年,但直到2000年,它开始流行。2000年,博客开始进入中国和快速发展。直到2004年“木子美”事件,中国人民了解了博客和使用它。2005年,国内门户网站,如新浪、搜狐、原始的博客业务并不乐观,但也加入博客阵营,开始进入春秋时期。首先,博客记录日常访问网站的观点和意见,并开放给别人参考和遵循。但随着博客的迅速扩张,已经远离最初的目的。有许多差异成千上万的博客在互联网上发布和张贴在博客。然而,由于通信比电子邮件、讨论组更加简单和容易,博客已经成为家庭、公司、部门和团队越来越流行的通信工具,因为它已逐渐被应用在企业内部网络。

 

本系统为用户提供实现了以下功能:
1.登录功能:

游客进入系统,不用输入账户以及密码,直接进入页面进行浏览。可以阅读文章,查看图片,发表评论。

普通用户进入系统,为用户分配了用户名和密码。用户必须先登录,进入操作界面。用户输入ID和密码,通过服务器验证方可运行,否则显示消息提示。
2.网站前台功能:
浏览:

博主个人信息、文章; ‚
发表:

留言,评论
3.网站后台功能:
用户管理模块:实现用户信息及密码的修改  ‚
博文的分类与管理模块:实现分类的增、删、改
评论管理模块:实现删除评论功能 „
留言管理模块:实现删除、回复评论功能 …
系统管理模块:实现博客版面的定义与管理 ‡博客的数据统计

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.DiscussxiangcefenxiangEntity;
import com.entity.view.DiscussxiangcefenxiangView;import com.service.DiscussxiangcefenxiangService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 相册分享评论表* 后端接口* @author * @email * @date 2021-05-28 23:53:30*/
@RestController
@RequestMapping("/discussxiangcefenxiang")
public class DiscussxiangcefenxiangController {@Autowiredprivate DiscussxiangcefenxiangService discussxiangcefenxiangService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DiscussxiangcefenxiangEntity discussxiangcefenxiang, HttpServletRequest request){EntityWrapper<DiscussxiangcefenxiangEntity> ew = new EntityWrapper<DiscussxiangcefenxiangEntity>();PageUtils page = discussxiangcefenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussxiangcefenxiang), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DiscussxiangcefenxiangEntity discussxiangcefenxiang, HttpServletRequest request){EntityWrapper<DiscussxiangcefenxiangEntity> ew = new EntityWrapper<DiscussxiangcefenxiangEntity>();PageUtils page = discussxiangcefenxiangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussxiangcefenxiang), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DiscussxiangcefenxiangEntity discussxiangcefenxiang){EntityWrapper<DiscussxiangcefenxiangEntity> ew = new EntityWrapper<DiscussxiangcefenxiangEntity>();ew.allEq(MPUtil.allEQMapPre( discussxiangcefenxiang, "discussxiangcefenxiang")); return R.ok().put("data", discussxiangcefenxiangService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DiscussxiangcefenxiangEntity discussxiangcefenxiang){EntityWrapper< DiscussxiangcefenxiangEntity> ew = new EntityWrapper< DiscussxiangcefenxiangEntity>();ew.allEq(MPUtil.allEQMapPre( discussxiangcefenxiang, "discussxiangcefenxiang")); DiscussxiangcefenxiangView discussxiangcefenxiangView =  discussxiangcefenxiangService.selectView(ew);return R.ok("查询相册分享评论表成功").put("data", discussxiangcefenxiangView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){DiscussxiangcefenxiangEntity discussxiangcefenxiang = discussxiangcefenxiangService.selectById(id);return R.ok().put("data", discussxiangcefenxiang);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){DiscussxiangcefenxiangEntity discussxiangcefenxiang = discussxiangcefenxiangService.selectById(id);return R.ok().put("data", discussxiangcefenxiang);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DiscussxiangcefenxiangEntity discussxiangcefenxiang, HttpServletRequest request){discussxiangcefenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discussxiangcefenxiang);discussxiangcefenxiangService.insert(discussxiangcefenxiang);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DiscussxiangcefenxiangEntity discussxiangcefenxiang, HttpServletRequest request){discussxiangcefenxiang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(discussxiangcefenxiang);discussxiangcefenxiangService.insert(discussxiangcefenxiang);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody DiscussxiangcefenxiangEntity discussxiangcefenxiang, HttpServletRequest request){//ValidatorUtils.validateEntity(discussxiangcefenxiang);discussxiangcefenxiangService.updateById(discussxiangcefenxiang);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){discussxiangcefenxiangService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<DiscussxiangcefenxiangEntity> wrapper = new EntityWrapper<DiscussxiangcefenxiangEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = discussxiangcefenxiangService.selectCount(wrapper);return R.ok().put("count", count);}}

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

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

相关文章

Python爬虫实战案例——第三例

文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff01;严禁将文中内容用于任何商业与非法用途&#xff0c;由此产生的一切后果与作者无关。若有侵权&#xff0c;请联系删除。 起点中文网月票榜加密字体处理 字体加密的原理&#xff1a;就是将一种特定的…

通俗理解DDPM到Stable Diffusion原理

代码1&#xff1a;stabel diffusion 代码库代码2&#xff1a;diffusers 代码库论文&#xff1a;High-Resolution Image Synthesis with Latent Diffusion Models模型权重&#xff1a;runwayml/stable-diffusion-v1-5 文章目录 1. DDPM的通俗理解1.1 DDPM的目的1.2 扩散过程1.3 …

PHPEXCEL 导出excel

$styleArray [alignment > [horizontal > Alignment::HORIZONTAL_CENTER,vertical > Alignment::VERTICAL_CENTER],];$border_style [borders > [allborders > [style > \PHPExcel_Style_Border::BORDER_THIN ,//细边框]]];$begin_date $request->beg…

接口经典题目

​ White graces&#xff1a;个人主页 &#x1f649;专栏推荐:《Java入门知识》&#x1f649; &#x1f649; 内容推荐:继承与组合&#xff1a;代码复用的两种策略&#x1f649; &#x1f439;今日诗词:人似秋鸿来有信&#xff0c;事如春梦了无痕。&#x1f439; 目录 &…

Go 第三方库引起的线上问题、如何在线线上环境进行调试定位问题以及golang开发中各种问题精华整理总结

Go 第三方库引起的线上问题、如何在线线上环境进行调试定位问题以及golang开发中各种问题精华整理总结。 01 前言 在使用 Go 语言进行 Web 开发时&#xff0c;我们往往会选择一些优秀的库来简化 HTTP 请求的处理。其中&#xff0c;go-resty 是一个被广泛使用的 HTTP 客户端。…

win10家庭版远程桌面补丁_rdp wrapper

RDP Wrapper Library 就是可以帮你在 Windows 7、Windows 8、Windows 10 家庭版中打开远程桌面的工具。 1、把电脑上打开的安全软件与杀毒软件都关掉&#xff0c;因为这个远程桌面补丁会修改系统文件&#xff0c;所以安全软件可能会拦截。 2、下载RDP Wrapper Library补丁压缩…

windows安装mysql8.0.34的压缩包

文章目录 目录 文章目录 前言 一、下载安装包zip格式 二、使用步骤 总结 前言 一、下载安装包zip格式 MySQL :: Begin Your Download 二、使用步骤 解压缩之后在解压之后的目录里创建data和my.ini my.ini内容 # 设置mysql客户端连接服务端时默认使用的端口 port3306#默认…

Wlan——锐捷零漫游网络解决方案以及相关配置

目录 零漫游介绍 一代零漫游 二代单频率零漫游 二代双频率零漫游 锐捷零漫游方案总结 锐捷零漫游方案的配置 配置无线信号的信道 开启关闭5G零漫游 查看配置 零漫游介绍 普通的漫游和零漫游的区别 普通漫游 漫游是由一个AP到另一个AP或者一个射频卡到另一个射频卡的漫…

14-redis

一 Redis概述 1 为什么要用NoSQL 单机Mysql的美好年代 在90年代&#xff0c;一个网站的访问量一般都不大&#xff0c;用单个数据库完全可以 轻松应付。在那个时候&#xff0c;更多的都是静态网页&#xff0c;动态交互类型的网站不多。 遇到问题&#xff1a; 随着用户数的增长…

【Unity】【Amplify Shader Editor】ASE入门系列教程第二课 硬边溶解

黑色为0,白色为1 新建材质&#xff08;不受光照影响&#xff09; 拖入图片 设置 添加节点&#xff1a; 快捷键&#xff1a;K 组合通道&#xff1a;快捷键 V 完成图

设计模式入门笔记

1 设计模式简介 在IT这个行业&#xff0c;技术日新月异&#xff0c;可能你今年刚弄懂一个编程框架&#xff0c;明年它就不流行了。 然而即使在易变的IT世界也有很多几乎不变的知识&#xff0c;他们晦涩而重要&#xff0c;默默的将程序员划分为卓越与平庸两类。比如说&#xff…

不会用这个工具,你的Linux服务器就是个摆设!

大家好&#xff0c;我的网工朋友 在运维这一块&#xff0c;没有工具可谓是寸步难行。 一个好的Linux运维&#xff0c;为了提升自己的工作效率&#xff0c;免不得会找一些适合自己业务需求的工具&#xff0c;用起来工作效率高&#xff0c;工作幸福指数直线上升。 今天整理了几…