Tips: 技术栈已经升级为SpringBoot,代码链接为:Gitee或Github

一、系统简介:

围绕一英文写作分析API开发的一个web应用,基于SSM(Spring,SprintMVC,MyBatis)。

核心模块介绍如下:

写作反馈模块:写作与自动反馈、评分存档

报表模块:查询历史写作存档、评分可视化

社区模块:发布帖子、查询帖子、评论帖子、查看消息

其他:更新日志、网站访问量统计、CSS动画等

二、整体架构:

架构设计图中的部分工具在代码中没有体现,比如Nginx反向代理,而且Redis也没有使用。

三、开发技术:

该系统的功能模块采用前端驱动后端开发的方式,先开发整个网站系统的框架,然后逐个添加功能模块,严格按照需求开发。该系统构建为一个Maven项目,web服务采用RESTful架构,前端使用jQuery,ajax,layui等技术,后端使用SpringMVC实现请求解耦,使用Spring整合Mybatis操作MySQL数据库并开启Mybatis/Redis二级缓存,使用Shiro实现登陆验证,使用Nginx反向代理Tomcat实现动态资源和静态资源分离,使用log4j日志功能输出SQL语句,使用Git实现版本控制。

四、运行截图:

登录界面

写作界面

报表界面

社区界面

五、开发历程:

最开始我是没有使用任何前端和后端框架,纯用J2EE的技术开发(因为框架还不太熟)。

1.所以刚开始只是做了一个带有文本输入框和提交按钮的页面,功能就是输入英文文章段落,点击提交后,调用API并在页面下方空白处展示返回内容。这个时候是没有做任何处理的,调用API返回的JSON数据是啥就打印在网页上显示出来。

2.然后前端开始用css样式优化使得更美观一些,后端把json处理一下使该显示的显示出来(而不是一串json数据)。

3.再然后开始添加功能,比如使用百度的ECHARTS可视化一些数据显得网页不那么单调。最开始是把每一次HTTP请求都拦截下来放在图表里统计,用饼图显示请求的频率。后来发现这个功能是硬凑上去的跟系统主题无关,就把每次保存的英文写作存起来用图表显示(标题、时间、评分等)。

4.与此同时,前端用了框架layui,一下子提升了网页的美观度和用户体验。后端也开始优化代码结构,用springMVC、spring、mybatis等框架,一下子代码简洁了起来,web服务采用RESTFUL架构实现行为与资源分离,代码注释使用javadoc风格等等。

5.后来部署项目的时候想试试外网访问的效率如何,就用自己的电脑作服务器使用花生壳实现了外网穿透,然后发现页面加载略慢(原因是静态资源太大,多是js和图片,免费的带宽太小tomcat解析也比较慢),于是开启了nginx反向代理,把静态资源过滤出来给nginx处理,http动态请求给tomcat解析,这样就提升了网页加载速率。

6.最后跑项目的时候是用docker跑的,创建好镜像(比如tomcat,mysql)之后,每次启动docker只需把镜像启动就能访问项目了。这样的好处是只要把war包挂载到docker的tomcat镜像的webapp目录下,当换了电脑时,即便没有Java环境、没有tomcat、没有mysql数据库、没有idea集成开发环境,只要有docker也一样能跑起来项目。

总结:

一整套开发下来,前端和后端以及中间件都可以学到一些知识,不过技术发展是很快的,还是要保持学习。。。

源码:

github

gitee

基于SSM或SpringBoot的JavaWeb项目——写作分析系统相关推荐

  1. 基于SSM车辆维修管理系统-JavaWeb汽车保养管理系统

    基于SSM车辆维修管理系统-JavaWeb汽车保养管理系统 基于ssm框架实现一个车辆维修管理系统(java+springmvc+mybatis+mysql),能够实现用户信息管理.车辆信息管理.故障 ...

  2. 基于SSM+MYSQL写的javaWeb房屋租赁管理系统,包括系统前端和后台,页面美观,功能完善,非常高端的SSM源码

    基于SSM+MYSQL写的javaWeb房屋租赁管理系统,包括系统前端和后台,页面美观,功能完善,非常高端的毕业设计 课程设计. ​ 基于SSM+MYSQL写的javaWeb房屋租赁管理系统,包括系统 ...

  3. 基于ssm的生活故事分享交流博客系统

    基于SSM的生活故事分享交流博客系统 摘要 随着互联网技术的快速发展,无论是人们的生活还是工作,互联网技术都带来了很多的方便,人们通过互联网技术不仅能够提高工作效率还能够降低出错的几率.由于目前很多生 ...

  4. (附源码)ssm+mysql+基于ssm协同过滤推荐算法的电影院购票系统 毕业设计131124

    基于ssm协同过滤推荐算法的电影院购票系统 摘 要 随着信息技术的飞速发展以及Internet的迅速普及,以Web2.0为代表的互联网技术使得网络数据呈爆炸式增长,越来越多的信息和服务充斥着网络.人们 ...

  5. 基于 Servlet+jsp+mysql 开发 javaWeb 学生网络考试系统

    你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,或者没有积分想获取项目,欢迎指教: 企鹅:869192208 文章目录 一.开发背景 二. 需求分析 三.开发环境 四.运行效果 ...

  6. 基于SSM的图书馆座位预约管理系统占座系统-java图书馆座位预约管理系统占座系统...

    基于SSM的图书馆座位预约管理系统占座系统-java图书馆座位预约管理系统占座系统 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善 ...

  7. 基于SSM+JSP实现的流浪猫狗救助系统(分为用户端和管理员端,领养动物、流浪动物知识学习、用户管理、评论管理、领养记录查询、流浪猫狗管理等)

    博客目录 基于SSM+JSP实现的流浪猫狗救助系统 实现功能截图 系统功能 使用技术 完整源码 基于SSM+JSP实现的流浪猫狗救助系统 本系统是一个流浪猫狗救助系统,分为用户端和管理员端,用户端可以 ...

  8. 基于SSM框架的个性化眼镜线上销售系统+论文第三稿+已降重+包安装配置

    项目名称 基于SSM框架的个性化眼镜线上销售系统 视频效果 基于SSM框架的个性化眼镜线上销售系统 项目地址: https://download.csdn.net/download/m0_721809 ...

  9. 基于SSM的网上出差审批与费用报销系统 java毕业设计

    基于SSM的网上出差审批与费用报销系统-编号:jsp242 本课题是一个基于SSM的管理系统,本网上出差审批与费用报销系统是在Windows7系统的环境下,利用Eclipse和Mysql工具开发的.在 ...

最新文章

  1. 密码工具:crunch的使用
  2. 微服务网关-Gateway-LoadBalancerClient实现负载均衡讲解
  3. D:\我的文档\收藏夹
  4. Android使用谷歌插件,详解谷歌官方教程 Android插件ADT 9.0.0
  5. Windows 8 Platform (一) 台式机、笔记本电脑、平板电脑和智能手机
  6. 24楼,此处风景独好
  7. linux上安装osg_如何在 Linux 上安装并启用 Flatpak 支持? | Linux 中国
  8. 河南计算机基础知识会考,2011河南事业单位备考计算机基础知识试题(含答案 )...
  9. 投资62笔!私募巨头凯雷的“中国生意经”
  10. 步进式解读Apache许可证
  11. 有关计算机的英语词汇的APP,计算机英语高级词汇·软件篇
  12. linux pci转can驱动程序,PCI转LPT并口卡驱动程序
  13. 【先锋】永洪科技何春涛:不忘初心,砥砺前行
  14. linux内核Ethernet以太网卡驱动收发数据过程
  15. matlab编程螺旋oam,一种多模态OAM涡旋电磁波微带阵列天线制造技术
  16. Avatarify-人脸驱动项目在Linux环境中的实现
  17. SAP S/4 HANA物料账实际成本:理解版本迁移时的基本改变和影响
  18. Verilog HDL 总结(1)
  19. Mac下7z格式文件解压
  20. 建筑施工员日常工作内容,施工员证全国通用吗?

热门文章

  1. 数千个数据库、遍布全国的物理机,京东物流全量上云实录 | 卓越技术团队访谈录...
  2. java读取json文件把数据存入数据库中
  3. 实验报告:定义一个名为MyRectangle的矩形类,完成如下要求
  4. linux 创建文件 permission denied,mac linux 创建文件 Permission denied
  5. 谷歌浏览器关闭安全模式, 访问 http网站
  6. 电脑白屏,电脑白屏怎么办
  7. 如何理解混淆矩阵,以及预测少数类的评估指标?
  8. 群晖NAS搭建测速网站,支持万兆
  9. safari浏览器模拟ipone,ipad以及其他浏览器版本
  10. 手把手教你自制555芯片