Coder Social home page Coder Social logo

jnwang95 / weibo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from misterchaos/weibo

0.0 1.0 0.0 19.08 MB

:earth_asia:TopView工作室二轮考核项目:微博,weibo是一个类似微博的社交软件系统,主要由微博功能,微博相册,在线聊天,账户管理,关注和粉丝,好友管理,聊天记录管理,聊天群组等功能模块所组成。程序使用java作为后台开发语言,tomcat服务器,以及mysql数据库,以jsp实现界面展示,使用websocket和ajax,以及json实现前后端数据传输

License: Apache License 2.0

Java 97.62% HTML 0.18% CSS 1.73% JavaScript 0.46%

weibo's Introduction

HYCWeiboSystem

this is 黄钰朝‘s WeiboSystem


欢迎使用本软件,HYCWeiboSystem是一个类似微博的社交软件系统,主要由微博功能,微博相册,在线聊天,账户管理,关注和粉丝,好友管理,聊天记录管理,聊天群组等功能模块所组成。程序使用java作为后台开发语言,tomcat服务器,以及mysql数据库,以jsp实现界面展示,使用websocket和ajax,以及json实现前后端数据传输


开发者信息:

开发者:黄钰朝 联系邮箱:[email protected] 项目启动时间:2019-05-20 版本号:1.0 发布时间:2019-05-30 开源许可:Apache License 2.0 开发环境:

Idea IntelliJ IDEA 2019.1.1 (Ultimate Edition)
Build #IU-191.6707.61, built on April 16, 2019
Licensed to wu anjun
Subscription is active until January 8, 2020
JRE: 1.8.0_202-release-1483-b44 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

目录

  • 安装运行
  • 功能介绍
  • 亮点介绍
  • 错误处理
  • 版权声明

安装环境说明

安装环境

Tomcat版本:9.0.17 Jdk 版本:1.8 MySQL版本:5.7

配置说明

  • 数据库配置文件路径:项目路径/src/data_source.properties
  • sql文件路径: 项目路径/weibo.sql
  • log4j配置文件路径: 项目路径/log4j.properties
  • 数据库配置:
在运行sql文件之后需要在数据库group表添加一个id为0的记录,作为默认好友分组,并且把user表的email为“微博团队“的用户的id设置为0,否则程序无法正常运行
  • multiConfig配置说明
项目路径\src\com\hyc\www\controller\impl\servlet\MyServlet.java,在这个类的额注解中配置multiConfig的路径为"项目部署路径\web\upload"文件夹在系统中的绝对路径
  • log4j配置说明
配置中有两处配置了日志文件的路径,根据实际将其修改为日志文件在系统中的绝对路径
  • 服务器主机名配置
如果运行环境的主机名不是localhost:8080,需要修改/web/views/index.jsp文件的第二行配置,将host的值改为对应的主机名
  • contextPath配置
如果是在tomcat部署,在server.xml中将项目路径映射为/weibo,如果是在idea中部署,在tomcat的deployment设置中将Application context设置为/weibo
  • 如果参照以上配置仍然存在问题,请参照本文档错误处理部分

基本操作

  • 登陆进入主页面,左边是菜单,右边是窗口
  • 查看微博,右上角选择不同分类
  • 点击评论按钮进行评论
  • 点击微博内容进入微博详情
  • 点击用户头像查看主页
  • 在主页点击“我的关注”查看我关注的人

测试账号:


完成的功能

基本需求

游客
  • 根据不同的标签(搞笑、社会、时尚、电影、美女、体育、动漫等)查看不同的帖子
用户
  • 在游客的基础上
  • 登录、修改用户信息
  • 我的关注(关注的人等)、我的粉丝、我的微博
  • 对帖子的评论,点赞,转发
系统管理员
  • 管理用户、冻结用户等操作

进阶需求

  • 分页:采取分页的手段分段抽取后台的数据
  • 搜索功能:搜索用户
  • 支持图片上传:在发布微博时可添加图片
  • 我的相册:可查看发过的微博中的所有图片

升华需求

  • 实时聊天(私信):用户之间可创建聊天窗口进行聊天

吊炸天需求

  • 日志功能:对用户、管理员的操作进行日志记录

项目亮点

功能亮点

  • 发微博支持多张图片,支持多重转发,支持点赞,评论,浏览量,分页查看
  • 支持用户实时聊天
  • 聊天支持发文字,图片,文件,保存聊天记录,管理聊天记录,更换聊天背景
  • 支持用户创建,加入群聊,管理群聊

技术亮点

  • 使用注解+反射实现controller请求自动分发
  • 使用动态代理+注解+反射实现操作权限校验
  • 使用动态代理+注解+反射实现Dao层纯接口无实现类
  • 使用代理工厂实现面向接口编程,service层,provider层使用工厂注入
  • 使用过滤器+cookie实现会话中免登陆,自动登陆
  • 使用原生ajax技术实现接近前后端分离(仍然使用jsp)
  • 使用数据库连接池(原生手写)+线程池提高性能
  • 使用缓存技术+队列数据结构实现聊天功能消息低延迟转发
  • 使用枚举类维护常量提高代码可维护性
  • service层与前端使用DTO统一数据传输格式
  • 使用动态代理实现代理数据库连接

错误处理

1.第一次启动tomcat服务器访问时提示MyServlet这个类ClassNotFound?

这种情况下需要重新热部署一下项目即可(redeploy),我不知道这个问题的具体原因,我查看编译后的的文件目录中是有这个class的...

2.无法访问?

可能原因:没有将项目路径映射为/weibo。

3.图片加载不出?

检查一下upload文件夹有没有配置路径映射...

4.日志文件或控制台中文乱码?

请尝试在idea的tomcat中配置VMoption为-Dfile.encoding=UTF-8

5.网页点击无响应?

请刷新浏览器,因为前端使用了ajax技术,如果登陆失效,登陆过滤器会将请求转发到登陆界面,无法得到结果,刷新浏览器可以让登陆过滤器执行自动登陆

6.前端数据不同步?

请刷新浏览器,因为部分前端页面不完善,需要手动刷新页面

7.登陆新的用户之后还是之前的账户在登陆?

在session失效之前系统都会记住一个客户端的登陆,如需登陆新账号要退出登陆,或者关闭浏览器

版权声明

本软件仅供交流学习,不得用于商业用途

weibo's People

Contributors

misterchaos avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.