热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

高校天文共享平台开发过程中的思考与规划

本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。

这个项目是我年初的时候申报的大工软院的校级创新训练项目,项目灵感来源于我们原来微软组内的一名成员,最初想两人一起合作完成,因为一些缘故,他不得不退出。于是之后的技术栈选择,网站前端布局,业务流程,数据库结构等等都是我一个人从零开始探索的。这个项目的真正的开始着手的时间是17年8月份左右,现在走到了一个迷茫的时期,所以决定把自己的想法都落实在文档中,希望能够理出一些头绪。是记录,更是规划与探索。

项目简介

高校天文共享平台希望能够给高校学生提供一个天象预报,科普知识,高校组团观测活动,图片、日志分享等功能的一站式平台。希望能追踪近期的天文观测事件,帮助在最佳观测带的不同学校的同学主办、参与到线下的观测活动中,同时记录下活动中的点点滴滴。

功能剖析

  • 注册、登陆
  • 好友添加
  • 博客发布
  • 图片上传
  • 天象信息的抓取和推送
  • 高校观测活动的主办与参与
  • 天文知识、图片的抓取、整理

8月~12月的架构

  • 前端

    - Bootstrap
    - jQuery

  • 后端

    - servlet
    - tomcat

  • 依赖构建

    - Maven

  • 数据传送

    - Ajax
    - json

  • 数据存储

    - mysql(信息)
    - 服务器路径(文件)

上述架构存在的问题

前后端没有分离
java web因为使用了jstl与EL表达式,导致前后端分离做的很差;在接触了Ajax之后,比较喜欢这种前后数据分离开的感觉,但是之前的代码并没有进行重构向这方向发展,比较混乱。
有很多基础功能需要自己实现
比如文件的上传下载,用java web需要额外的很多代码去处理。
filter这里遇到了问题一直没能解决
我的COOKIE filter一直有问题,程序运行到这个filter中就不动了,甚至连在其中第一行中写好的println都无效。
觉得jsp编译的速度太慢了
每一次整个环境都要重新编译,并且对jsp的微小的调整都要重新来,在调试前端效果时尤其不方便。而且bootstrap在IntelliJ
IDEA的java web项目中有个莫名其妙的bug,我不得不在每个jsp都要插入的header和footer的模板中分别写一次对bootstrap.js和jquery.js的引用,才能够保证bootstrap中的下拉框能够正常运行。
前端对复杂DOM的生成操作很耗费精力
为了每加载一张图片便jQuery动态生成一个DOM,并且DOM中有多层嵌套与属性赋值,我不得不写几十行的几乎没有技术含量的代码。
资料老旧
目前遇到java web的问题找到的各种博客基本都是好多年以前的了,而且很少用纯servlet来编写java web项目的,基本上不是Struts2就是Spring,这个项目之所以没用Struts2是因为之前尝试过,但是在配置Struts2拦截器时遇到了问题好久都没能解决,导致我放弃了,回到了servlet。

已有的成果

  • 注册、登陆
  • 用户个人信息页面
  • 用户相册图片上传下载
  • 论坛发帖回帖操作

12月的打算

  • 想做到真正的前后端分离,前端就是纯粹的html页面,借助React实现更便捷强大的前端js效果
  • 使用RESTful的方式去构建前后端的交互,构建更简洁的地址栏(学习github)
  • 后端使用Spring MVC的架构(想尝试下新的技术)
  • 改写与完善浩然大佬提供的论坛发帖相关代码(虽然我还没能跑起来他的这部分代码)
  • 完成用户的日志发布(使用markdown与用户相册图片链接的组合,解决markdown不能直接上传图片的烦恼)
  • 完成用户间的关注(其实并不是很复杂)
  • 杜撰一些活动,完成校园对活动的主办与参与操作(想参与的人数最多的学校获得主办权,其他学校可以根据学生想参与的程度自行决定是否以官方形式参与到活动当中)

为达到12月目标的小步骤

  • 先跳过之前filter的问题,跑起来浩然大佬的代码,能运行起来是第一位的
  • 快速了解RESTful的设计模式,摸清请求与数据在前后端的交互方式,据此去规划新的后端结构
  • 使用Spring MVC的设计模式快速将已有的代码移植过去
  • 使用最简单、足够的页面布局,把其他所有的前端需求页面先做出来,并安排好与后端交互的接口
  • 按顺序,完成markdown博客撰写发布,用户间互相关注,首页推送用户博客,首页推送活动报名功能

我先去调试浩然大佬的代码去!搞定后就回来还愿!

Github的地址现在还不好意思放出来,,等我重构的差不多的再贴出来分享给大家:)


推荐阅读
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • MyBatis源码下载安装教程
    一、下载(原文链接:http:www.studyshare.cnsoft…github下载:去下载百度网盘下载:去下载提取码:d1er二、安装1、检查本机Maven版本,必须3.2 ... [详细]
  • 在MacOS上,使用Intellij2019.3滚动时遇到令人讨厌的延迟。我正在使用MacOSsmoothscrol ... [详细]
  • 本文介绍了如何在 DB2 环境中创建和删除数据库编目。创建编目是连接新数据库的必要步骤,涉及获取数据库连接信息、使用命令行工具进行配置,并验证连接的有效性。删除编目则用于移除不再需要的数据库连接。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • JDK IDEA的安装卸载基本使用
    一、JDK下载地址官网https:www.oracle.comjavatechnologiesjavase-downloads.html没有账号可以使用:https:blog ... [详细]
author-avatar
贤闲咸大_552
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有