# 基于servlet+jsp个人博客系统
## 系统功能需求
### 一. 项目概述
##### 1.1 项目描述
人日志系统是基于我个人需要开发的,采用JSP+Servlet+JavaBean开发模式进行底层设计,前端采用h5前端框架和JavaScript的Ajax库进行前台页面设计,在持久层采用C3P0数据库连接池框架将数据库存入mysql。这个系统功能包括登录注册,导航栏,搜索栏,个人信息,标签,热门日志,友链,音乐播放等功能,然后实现平台的功能及测试。
<br>
##### 1.2 项目需求
**1 基本功能:**
- 日志的增、删、查、改。
- 分类。
- 阅读排行榜。
- 后台管理。
- 日志评论。
- 音乐播放
- 后台管理
**2 项目知识点覆盖:**
- HTML5+css3
- Ajax异步加载。
- C3p0
- JSON存储技术
- Session维持登录状态。
- 调用poi导出Excel
- 多媒体播放。
<br><br>
### 二. 项目概览
**1、站点主页:**
主要展示文章,个人信息,导航栏,搜索框以及下面的阅读排行榜和友链显示,实现简单分页处理。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191222154058999.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191222154544142.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
<br>
**2、归档页:** 对文章就行排序分年份显示
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019122215471624.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
**3、日志编辑:**
此页面只有登录才能进入,使用了Markdown 编辑器,用户可以通过键盘快捷键和工具栏按钮来使用或者移除 Markdown 各种语法格式,支持自定义配色方案、字体、大小和布局 、即时HTML预览、HTML和PDF导出,被很多人称赞为 Windows 平台最好用的 Markdown 编辑器,实用性强。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191222154744606.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
**4、后台管理主页:** 统计文章数量、标签个数、分类总类、访问量
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191222154901239.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
**5、后台管理日志:**
对日志就行展示,可编辑历史文章、删除历史日志,还可导出Excel表。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191222154947160.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
**6、后台管理友链:** 对友链的增删改,便于前台的展示和实时性
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191222155044458.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
**7、登录注册页:**
使用模态框完成登录注册,右边即是音乐播放功能
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191222155209862.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMjE2NzQz,size_16,color_FFFFFF,t_70)
**其它实现功能省略**
<br>
### 三. 课程设计总结
通过这次课程设计,学会了javaweb很多知识,在课程设计期间,本来是打算直接用springboot+H5+CSS+vue.js实现所有页面的,但是老师说不能使用框架,然后就使用了原始的jsp、servlet、AJAX知识,然后找了一些好看的前端素材才完成所有的页面。
实现编辑日志的时候自己也是陷入误区了,自己应该请教老师或者学长,问问他们去调用哪个开发商的编辑器,导致自己看了很多个编辑器推荐才实现这个功能,这里浪费了一天的时间,导致后面很多功能没有实现。这次博客系统采用的是==JSP+Servlet+JavaBean==开发模式,没有用到框架,同时也有很多功能没有实现,比如说日志收藏,用户管理。
这次实训的不足之处是自己也不了解JAVAWEB开发流程,随便做功能,不分主次,使得自己浪费了很多时间。这次课程设计自己也意识到自己对于JAVA深层的东西不了解,比如C3P0为什么会出现连接池死锁问题。
综上,自己开发类的书籍看少了,学的少了,没有建立知识结构体系,争取在后期的学习中,要更加深入bootstrap和jquery学习,再用springboot做这个项目, 相信有这次经验,开发过程时间应该会缩短很多,同时功能也将更加完善。
基于servlet+jsp个人博客系统.zip
需积分: 0 60 浏览量
更新于2023-08-22
收藏 29.95MB ZIP 举报
【基于Servlet+JSP个人博客系统】是一种常见的Web应用程序开发方式,主要利用Java技术栈构建。Servlet是Java服务器端编程的基础,而JSP(JavaServer Pages)则是一种用于创建动态网页的技术。这两种技术结合,可以构建功能丰富的交互式博客平台。
在Servlet中,开发者可以编写Java代码来处理HTTP请求和响应,实现业务逻辑。Servlet容器(如Tomcat)负责接收来自Web客户端的请求,调用Servlet实例,并将响应返回给用户。Servlet的主要功能包括接收请求、处理数据、生成响应,以及与数据库进行交互。
JSP则提供了一种更直观的方式来编写动态HTML。开发者可以在JSP页面中混合Java代码和HTML,使得视图和逻辑部分可以更容易地分离。JSP页面在服务器端被转换成Servlet,然后执行并生成HTML响应。JSP的组成部分包括指令(directives)、脚本元素(scripting elements)和EL(Expression Language),它们共同帮助开发者实现页面动态内容的生成。
在这个个人博客系统中,可能的架构设计如下:
1. **用户模块**:用户注册、登录、个人信息管理等功能。这部分可能通过Servlet处理用户提交的表单数据,进行验证和持久化存储。JSP页面用于显示用户界面,如登录表单、注册表单等。
2. **文章模块**:发布、编辑、删除博客文章。Servlet负责处理文章的CRUD操作,与数据库进行交互。JSP页面展示文章列表和详情,可能使用EL来显示文章内容。
3. **评论模块**:用户可以对文章进行评论,Servlet处理评论的添加、删除,同时更新文章的评论数量。JSP页面展示评论列表,允许用户发表新评论。
4. **分类和标签模块**:博客文章可以被分配到不同的分类或标签下,便于用户浏览。Servlet管理这些分类和标签,JSP页面根据分类和标签展示相应文章列表。
5. **搜索功能**:用户可以通过关键词搜索博客文章。Servlet处理搜索请求,查询数据库中匹配的文章,JSP页面显示搜索结果。
6. **权限控制**:系统可能包含管理员角色,具备额外的权限,如管理用户、审核评论等。这需要在Servlet中实现权限检查逻辑。
7. **数据库设计**:通常会有一个用户表,存储用户名、密码等信息;一个文章表,包含文章标题、内容、作者、发布时间等字段;评论表记录评论内容、用户ID、文章ID等;还有可能有分类和标签关联表。
在实际开发过程中,可能还会涉及到错误处理、安全防护(如防止SQL注入、XSS攻击)、性能优化(如使用缓存)等方面的内容。这个个人博客系统不仅展示了Servlet和JSP的基本用法,还涵盖了Web开发中的常见功能和设计模式,对于学习和实践Java Web开发是非常有价值的资源。下载后,阅读README.md文件可以获取更多运行和部署的指导。
程皮
- 粉丝: 279
- 资源: 2568
最新资源
- 基于Kotlin语言的App快速构建模板设计源码
- FDTD 中的滤波器仿真的建立,传感模型的建立包括MZI.微环谐振器,亚波长光栅,FP等结构的指导 FDTD中光子晶体微腔仿真的搭建,包括一维光子晶体微腔、二维光子晶体微腔(H0、H1腔,L3、L5
- 基于山西大学陈千教授讲授的高级语言程序设计课程的SXU-C设计源码
- 自动驾驶控制-基于车辆运动学模型MPC跟踪仿真 matlab和simulink联合仿真,基于车辆运动学模型的mpc跟踪圆形轨迹 可以设置不同车辆起点 包含圆,直线,双移线三条轨迹
- 基于QWT库的QML可视化界面设计源码
- 51单片机程序 超声波测距,带温度补偿, 两路超声波测距,18b20测温带温度补偿,lcd1602显示温度和实测距离 keil4程序源码,有proteus仿真文件
- 基于Java语言的停车场管理系统设计源码
- 基于C#语言的随机点名器设计源码分享
- 三相电流滞环控制变流器Matlab仿真 所有参数都已给定 1:1教材 不用你绞尽脑汁去找参数 搭建模型 多出来你陪“对象”的时间 波形完美 R2019a版本 不 告诉你参考教材位置不迷路
- 石墨烯 钙钛矿太阳能电池COMSOL仿真:光电耦合模型,文献复现
- Kmeans聚类 确定最优聚类个数 计算轮廓系数(↑)、DaviesBouldin值(↓)、GapEvaluation值(↑)和卡林斯基-哈拉巴斯指标等评价因子(↑),根据评价因子的大小确定最优聚类数
- WPF框架,C#联合Hlaocn框架,PCLSharp,OpencvSharp4,log4net
- 基于BuilderIO/gpt-crawler项目的PHP代码及gaodu13/gptcrawler:v1 Docker镜像设计源码
- 1、华睿算法平台MVP逻辑工具组合使用-循环容器
- 基于Node.js的godoDb多数据库管理工具设计源码
- 基于PHP5的泽优大文件上传控件up6设计源码