# 开源博客论坛-猫猫休息站 **Repository Path**: daqian-xiaoxiong/CatWeb ## Basic Information - **Project Name**: 开源博客论坛-猫猫休息站 - **Description**: 还在担心自己的毕业设计无从下手?还在担心自己的期末作业报告憋不出来?机会来了,这款免费开源的,前端+后端全栈程序来了。CatWeb是猫猫交流放松的论坛,前端由Blazor Dotnet编写,后端Java Servlet编写。数据库是MySql,数据库连接使用JDBC,进行连接。别担心,代码注解超级详细! - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 1 - **Created**: 2022-12-20 - **Last Updated**: 2025-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Servlet, Server, SQL, blazor ## README # 猫猫休息站 快速运行本项目指南: 本项目提供了一个`CatWebBlazor_Publish`文件夹,是前端的发布版本,只需要双击这个文件夹下的`CatTalkWeb(Blazor_Ver).Server.exe`就能够直接看到前端的页面。端口为Localhost:5000。方便只为了使用IDEA编写后端的同学调试。 ## 介绍 还在担心自己的毕业设计无从下手?还在担心自己的期末作业报告憋不出来?机会来了,这款免费开源的,前端+后端全栈程序来了。CatWeb是猫猫交流放松的论坛,前端由Blazor Dotnet编写,后端Java Servlet编写。数据库是MySql,数据库连接使用JDBC,进行连接。别担心,代码注解超级详细! 本项目使用开源协议,请注意版权所属规范。 视频预览:[CatWeb_Bilibili预览](https://www.bilibili.com/video/BV1hG4y1J7Vi/) ### 界面一览 ![主页面](IMG03.png) ![注册页面](IMG01.png) ![CatTalk](IMG06.png) ![CatTalk2](IMG07.png) ![CatTalk3](IMG08.png) ## 软件架构 ### 软件总体结构 Blazor前端(NET 7.0),依托在Dotnet Web Server上。 Java后端,用JDBC处理数据库操作请求,保存用户信息,文章的增删改请求。 MySql8.0,SQL服务器,用于保存用户数据。 ### 详细说明 (1)前端: ![qt](IMG05.png) 采用Blazor框架(一种类似Vue.JS的框架),大部分前端代码由C#语言编写,少部分使用JavaScript编写。使用了开源UI框架AntDesigner。并且前端代码采用了很多的异步编程,也使用了委托,回调等方法。同时,本项目C#前端代码运行在浏览器WASM中,需要您浏览器支持WASM等功能,推荐火狐浏览器。 采用了一个全局的GobalManager模式,也采用了依赖注入等设计模式,注意看Razor文件中的@inject注解,这是在注入实例。借助于依赖注入,Class终于不用new的满天飞舞了。 相比较JavaScript性能,WASM性能最多可以快上2倍以上,具体请看微软的开发文档。 总体来说,这是一个支持浏览器缓存技术,PWA的单页面程序。(除了注册页面会单独新开一个标签) (2)后端: ![后端](IMG09.png) 后端有两个应用程序,一个是Dotnet Core Web Api,另一个则是终点JavaWeb程序。 为了应对Web程序设计杨老师的需求,本JavaWeb项目中加入了Maven项目依赖管理,并且使用了一个FastJson的库,别担心,这一点也不难,相信你一看就能明白到底是怎么一会事情。并且JavaWeb中用的是Servlet这种框架,没有用SpringMVC。服务器容器采用的是Tomcat。 而不重要的Dotnet Core Web Api用的则是MVC设计模式。这个服务器一方面用来托管前端页面的访问请求,一方面用于作为文件服务器,保存用户上传的文件等图片资源。 (3)数据库: 数据库结构非常简单,操作只涉及简单的增加,删除,修改。passage表格中,有一个UsrInfo_ID外键,连接着用户表格中的ID,并且用户表格中的Name是Union,不可以重复的,这将作为账号来存储。 ## 安装与运行教程 ### 注意!本项目 ### 电脑环境 以下环境可以完美运行程序: 1. VisualStudio2022 配合Blazor(在VisualStudioInstaller里面安装一下这个模块) 2. Idea 3. Java11和Net7.0 4. MySql 8.0 (可以是其他版本) ### 安装: 1. git clone本项目 2. 初始化数据库:首先进入`CatWebServer`下`SqlFiles`,里面有两个文件,运行`CreatDataBaseAndInit.sql`在自己电脑数据库上面,注意这是MySql数据库文件。运行完毕后,MySql中应该会多出一个数据库,这个数据库下有两张表格。另外一个文件`ChangeDataBase.sql`是用于测试用的sql文件。 3. 配置数据库:进入`CatWebServer`下的`com.CatTalk.DAO`下的`DataBaseContext`类下,配置连接SQL的用户名和密码以及URL。(用IDEA,打开项目文件夹) 4. 配置Tomcat,注意!Tomcat的URL必须配置为:`http://localhost:8080/Api/CatTalkServer/`。Tomcat部署添加`工件..`。工件已经配置好,无需重复配置。请看教程:https://blog.csdn.net/qq_38345598/article/details/111061864 【注意!】有两个地方的URL需要配置。第一个Tomcat的服务器URL填写`http://localhost:8080/Api/CatTalkServer/`。第二个 部署->应用程序上下文 填写`/Api/CatTalkServer`。 3. 确保数据库已经按照文件初始化后,请看下方“运行”部分。 ### 运行 1. 运行JavaWeb程序:使用Idea代开项目文件夹`CatWebServer`,然后运行。(请查看CatWebServer文件夹下的ReadMe.md文件,有一个详细运行指南) 2. 运行Blazor前端:使用VisualStudio打开`CatWebBlazor`,然后运行。双击`CatWebBlazor\CatTalkWeb(Blazor_Ver).sln`文件即可打开。(同样的,在CatWebBlazor文件夹下也有一个ReadMe.md文件夹,请阅读) HaveFun~ ## 使用说明 1. 有问题请提交Issue 2. CatWebServer文件夹下提供了一个README.md文件,对Java部分进行了一个详细的说明,看这个文档可以帮助您快速写出一个Java作业的报告。 # 如果可以请帮忙Star一下这个项目! 非常非常感谢支持!o((>ω< ))o ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request 下面是Gitee的广告 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)