基于java+ssm+vue的微博系统

项目介绍

网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此分享与交流信息的管理计算机化,系统化是必要的。设计开发微博系统网站不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于分享与交流信息的维护和检索也不需要花费很多时间,非常的便利。

微博系统网站是在MySQL中建立数据表保存信息,运用SSM框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。管理员管理微博类型和微博信息,发布微博资讯,管理论坛帖子信息,管理用户。用户收藏微博,评论微博,查看微博资讯,在论坛交流模块发布帖子,评论帖子。

微博系统网站在让分享与交流信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升微博系统网站提供的数据的可靠性,让系统数据的错误率降至最低。

前面所做的功能分析,只是本系统的一个大概功能,这部分需要在此基础上进行各个模块的详细设计。

设计的管理员的详细功能见下图,管理员登录进入本人后台之后,管理微博类型和微博信息,发布微博资讯,管理论坛帖子信息,管理用户。
在这里插入图片描述

设计的用户的详细功能见下图,用户收藏微博,评论微博,查看微博资讯,在论坛交流模块发布帖子,评论帖子。
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net

系统实现

5.1.1 微博信息管理
管理员权限中的微博信息管理,其运行效果见下图。微博信息需要用户发布,管理员只负责修改,删除,查询。
在这里插入图片描述

图5.1 微博信息管理页面

5.1.2 论坛交流
管理员权限中的论坛交流,其运行效果见下图。管理员对用户发布的帖子进行查看,可以查询帖子,删除帖子。
在这里插入图片描述

图5.2 论坛交流页面

5.1.3 微博类型管理
管理员权限中的微博类型管理,其运行效果见下图。管理员设置微博类型,修改微博类型,查询微博类型信息。
在这里插入图片描述

图5.3 微博类型管理页面

5.1.4 微博资讯
管理员权限中的微博资讯,其运行效果见下图。前台展示的微博资讯需要管理员在后台发布并管理。
在这里插入图片描述

图5.4 微博资讯页面

5.2 用户功能实现
5.2.1 发布帖子
用户权限中的发布帖子,其运行效果见下图。用户在论坛交流模块发布帖子。
在这里插入图片描述

图5.5 发布帖子页面

5.2.2 微博信息
用户权限中的微博信息,其运行效果见下图。用户收藏微博信息,评论微博信息。
在这里插入图片描述

图5.6 微博信息页面

5.2.3 微博资讯
用户权限中的微博资讯,其运行效果见下图。用户查看微博资讯,点击标题即可查看其详情。
在这里插入图片描述

图5.7 微博资讯页面

核心代码

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.WeiboleixingEntity;
import com.entity.view.WeiboleixingView;

import com.service.WeiboleixingService;
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 
 */
@RestController
@RequestMapping("/weiboleixing")
public class WeiboleixingController {
    @Autowired
    private WeiboleixingService weiboleixingService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,WeiboleixingEntity weiboleixing, 
		HttpServletRequest request){

        EntityWrapper<WeiboleixingEntity> ew = new EntityWrapper<WeiboleixingEntity>();
		PageUtils page = weiboleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, weiboleixing), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("st")
    public R list(@RequestParam Map<String, Object> params,WeiboleixingEntity weiboleixing, HttpServletRequest request){
        EntityWrapper<WeiboleixingEntity> ew = new EntityWrapper<WeiboleixingEntity>();
		PageUtils page = weiboleixingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, weiboleixing), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("sts")
    public R list( WeiboleixingEntity weiboleixing){
       	EntityWrapper<WeiboleixingEntity> ew = new EntityWrapper<WeiboleixingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( weiboleixing, "weiboleixing")); 
        return R.ok().put("data", weiboleixingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(WeiboleixingEntity weiboleixing){
        EntityWrapper< WeiboleixingEntity> ew = new EntityWrapper< WeiboleixingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( weiboleixing, "weiboleixing")); 
		WeiboleixingView weiboleixingView =  weiboleixingService.selectView(ew);
		return R.ok("查询微博类型成功").put("data", weiboleixingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        WeiboleixingEntity weiboleixing = weiboleixingService.selectById(id);
        return R.ok().put("data", weiboleixing);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        WeiboleixingEntity weiboleixing = weiboleixingService.selectById(id);
        return R.ok().put("data", weiboleixing);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("ve")
    public R save(@RequestBody WeiboleixingEntity weiboleixing, HttpServletRequest request){
    	weiboleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(weiboleixing);

        weiboleixingService.insert(weiboleixing);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody WeiboleixingEntity weiboleixing, HttpServletRequest request){
    	weiboleixing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(weiboleixing);

        weiboleixingService.insert(weiboleixing);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody WeiboleixingEntity weiboleixing, HttpServletRequest request){
        //ValidatorUtils.validateEntity(weiboleixing);
        weiboleixingService.updateById(weiboleixing);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        weiboleixingService.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<WeiboleixingEntity> wrapper = new EntityWrapper<WeiboleixingEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = weiboleixingService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考

在这里插入图片描述

目 录
1 绪论 1
1.1 选题背景 1
1.2 选题意义 1
1.3 研究内容 2
2 系统开发技术 3
2.1 Java语言 3
2.2 SSM框架 3
2.3 MYSQL数据库 4
3 系统分析 5
3.1可行性研究 5
3.1.1经济可行性 5
3.1.2时间可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1系统易用性 6
3.2.2系统健壮性 6
3.2.3系统安全性 6
3.3 系统流程分析 6
3.4系统功能分析 9
4 系统设计 12
4.1系统目标 12
4.2功能结构设计 13
4.3数据库设计 14
4.3.1数据库E-R图 14
4.3.2 数据库表结构 17
5 系统实现 19
5.1 管理员功能实现 19
5.1.1 微博信息管理 19
5.1.2 论坛交流 19
5.1.3 微博类型管理 20
5.1.4 微博资讯 20
5.2 用户功能实现 21
5.2.1 发布帖子 21
5.2.2 微博信息 21
5.2.3 微博资讯 22
6系统测试 23
6.1 系统测试的类型 23
6.2 功能测试 24
6.3 可用性测试 24
6.4 测试结果分析 24
结 论 25
参考文献 27
致 谢 28

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_3306428634

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值