首页 > 其他分享 >二次开发——体育赛事新闻项目改进

二次开发——体育赛事新闻项目改进

时间:2023-03-06 09:47:10浏览次数:29  
标签:体育赛事 功能 项目 代码 改进 二次开发 数据库

 

一、项目来源:

在b站视频的评论里搜到了java的前端页面项目源码的zip文件,将源码的zip文件解压后用idea打开,打开后部署Tomcat,并将源码包中的数据库资源打开在MySQL中,连接数据库后运行该项目。

 

 

 

二、逆向开发过程:

1.首先运行原先项目查看运行效果。

 

如果输入验证码错误,会出现报错提示:

 

登录成功后,进入主页面,点击左侧的功能,测试使用效果。

 

 

 

 

通过该项目的运行得知项目的主要功能有:

1.登录该页面,输入密码和验证码,并可以安全退出。

2.增加体育赛事的信息,刷新后展示出添加的赛事信息。

3.修改和删除添加的体育赛事信息。

 

 

 2.查看原先项目中源码文件的目录(结构)和每个代码对应的功能实现方式。

    先查看有哪些包,再依次阅读HTML,jsp,servlet文件。

 

 

 通过查看包的结构可以了解到该项目采用了MVC架构开发了前端代码,再通过查看HTML代码和jsp代码查看页面的实现。

 

 

 查看jsp代码可以发现该界面分为了顶部,底部,左侧部分和中间部分四个部分,查看左侧的字可以了解到功能的实现,这在后续改进功能的时候可以在原先项目的基础位置上进行修改。

比如,如果想添加购买体育赛事的功能,则可以在左侧页面的界面部分,下面加上一段代码,便可以在原先项目的基础上进行功能改进。

 

 

 


在阅读代码的时候,右键使用idea的搜索功能,在项目中搜索这段代码,然后可以转入到相应的文件中,比如搜索sport.let会转入到sport的servlet文件中,然后再翻到对应的servlet代码中阅读,继续了解下一步的功能。

 

 

 

 

 

 

 

 

 

 通过阅读代码和注释(因为该项目命名清晰且注释详细,因此便于理解功能的实现,了解到dao包管理数据库的增删改查,util包用来连接数据库,biz包解决dao层抛出的业务异常等等。

大致了解了原先代码的实现方式后,知道了数据库的增删改查功能写在dao包中,后续功能改进的时候,就可以找到该段代码的位置,然后进行功能修改,修改数据库和相应的操作。

 

三、找到该项目的功能缺陷和不足,并提出改进意见

缺陷1:在登录的时候,实现登录的方式是输入现有的管理员昵称和密码,这些密码是数据库中已经有了的,只能在数据库中修改账户信息。

改进点:添加注册用户账号和密码的功能,如果是新用户则点击“注册用户”,这样登录的功能可以更加完善。

缺陷2:该项目只能实现赛事新闻的增加,修改,删除,却未实现赛事信息的查找功能。

改进点:增加信息查找功能,可以以赛事名称作为关键字进行查找。

缺陷3:用户在查看新闻赛事的时候,不仅有查看搜索的需求,还有体育赛事购票的需求。

改进点:可以在相关新闻的信息中添加赛事价格的信息,增加体育赛事购票功能。

 

改进后的功能结构图:(橘色为改进后功能)

 

 

 

 

 四、心得体会

1.需要掌握一定的技术,否则看不懂原先的项目源码,比如该项目采用的技术是MVC框架和JDBC连接MySQL数据库,如果不了解这些,可能无法阅读代码。

2.在逆向二次开发的时候,需要找到可以添加改进内容的代码位置,这样才能在后续改进功能的时候和原先项目连接起来。

3.在了解技术的基础上,通过注释可以了解到原作者想在这个代码中实现什么功能。因此,清楚的文件命名,对功能的代码注释是必要的,如果没有注释可能不容易理解原先项目的功能实现方式。

所以写项目尽量写清楚命名和注释,对于后续的维护,合作写代码都是有帮助的,要在日常养成这种好习惯。

4.在改进功能的时候可以通过项目用户的需求进行功能扩展,在发现项目缺陷的时候也可以从用户的角度换位思考发现用户的需求,进而发现项目的缺陷,比如本文的新用户注册和赛事购票功能就是基于用户需求进行考虑,最后提出改进意见的。

 

标签:体育赛事,功能,项目,代码,改进,二次开发,数据库
From: https://www.cnblogs.com/angiv/p/17182441.html

相关文章

  • 【译】.NET 7 中的性能改进(十一)
    原文|StephenToub翻译|郑子铭同样,为了不做不必要的工作,有一个相当常见的模式出现在string.Substring和span.Slice等方法中。span=span.Slice(offset,str.Length......
  • 二次开发-员工信息管理系统
    本程序主要实现对员工的信息管理,为1925223夏海涛同学的c语言期末大作业。程序会将输入的信息按照指引分别存入不同的文件,主要由结构体以及文件读取实现,按照不同序号可以实......
  • 对校园外卖系统的分析和改进记录
    最近在网上找到一个校园外卖系统,我对这个项目进行了研究,但我认为这个项目可以在业务流程方面进一步优化。这是此项目的大致流程图 我认为该系统虽然比较完善,但如果上......
  • 【译】.NET 7 中的性能改进(八)
    翻译|郑子铭Mono到目前为止,我一直提到"JIT"、"GC"和"运行时",但实际上在.NET中存在多个运行时。我一直在谈论"coreclr",它是推荐在Linux、macOS和Windows上使用的运行时......
  • 【译】.NET 7 中的性能改进(六)
    翻译|郑子铭矢量化(Vectorization)SIMD,即单指令多数据(SingleInstructionMultipleData),是一种处理方式,其中一条指令同时适用于多条数据。你有一个数字列表,你想找到一......
  • 【译】.NET 7 中的性能改进(七)
    翻译|郑子铭Arm64在.NET7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来......
  • 【译】.NET 7 中的性能改进(七)
    翻译|郑子铭Arm64在.NET7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来......
  • 二次开发网上二手书城
     此次我索要到了大三的学长做过的一个项目:《上海海洋大学图书交易系统》的项目文件,其运行时的页面如图:      进入网页 用户登录页面  ......
  • 航空客运管理系统二次开发
    在这次软件项目中,我在csdn论坛中搜索寻找到了一个航空客运管理系统,对这个项目进行了研究,提出一些个人看法和更改原帖:(12条消息)航空客运管理系统(数据结构)-CSDN博客这是......
  • 网上购物系统二次开发
    原软件致力于通过网上平台实现给商铺提供出售商品的平台,给顾客提供购买产品的平台。原软件只提供了以上几个功能,其中在商铺负责人的部分库存和物流并没有详细功能,功能缺......