JavaWeb项目开发步骤

前言:跟着视频学习搭建实现smbms超市管理系统,学习到了很多关于项目实现的一些东西,这里关于javaWeb的smbms进行项目跟着做一遍后的感受,主要讲的是整体感观,记录学习以及发布分享

一、项目需求
1. 需要完成什么功能
  1. 定义实体类,编写入数据库mysql
  2. 具体实现功能(如一个超市管理系统)
2. 搭建项目
  1. 构建一个javaweb空项目,配置web.xml及pom.xml里面的依赖集

  2. 分层:

    • Dao层:数据库连接及一些数据的处理
    • filter层:过滤器,主要设置请求响应的编码问题
    • pojo层(项目层):如放置一些实体类
    • service层(业务层):业务层都会调用dao层,实现具体操作,如用户登录操作
    • servlet层(控制层):调用业务层,一般用于请求转发或者重定向页面操作,和ui界面交互
    • util层(常量层):定义一些常用的数据
    • resources(资源文件):放置一些不变的一些数据,比如连接mysql的登录用户及密码属性等
    • webapp(显示层):用于视图的效果,放置图片或者jsp,图片,css,js等前端页面样式等
3. 访问顺序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uiLiANcC-1664336272862)(img/image-20220918171725230.png)]

一般情况下:我们编写代码的顺序是上面箭头相反的路径,即

Dao层—>Service层—>Servlet层

即基本的三层架构:(连接数据库,具体业务,web界面)

三层架构通常意义上的三层架构就是将整个业务应用划分为:界面层、业务逻辑层、数据访

问层。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构

*是最常见,也是最重要的一种结构。*总体来讲,分层式结构利大于弊。

具体层次如图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iQjAABnK-1664336272864)(img/image-20220928105724115.png)]

二、开发项目的细节
  1. 根据需求设计数据库,即需要哪些对象,表结构,命名规范,主键自增等问题考虑设计数据库

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SZdQteRX-1664336272865)(img/image-20220928110806280.png)]

  2. 连接数据库,使用IDE进行数据库连接,也就是需要操作Dao层,可以编写一个公共类,进行数据库连接获取数据的一些基本操作

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rA00BtBN-1664336272865)(img/image-20220928111140590.png)]

  3. 进行Dao层的一些数据获取操作,一般自定义一个接口,然后一个实现类,通常以Impl结尾

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8p46pzDm-1664336272866)(img/image-20220928111334440.png)]

  4. 编写业务层,实现业务,一般自定义一个接口,然后一个实现类,通常以Impl结尾

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pNWKMvyt-1664336272867)(img/image-20220928111505212.png)]

  5. 实现servlet层,调用service层,然后根据需求获取数据展示到前端页面或者实现界面跳转

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VGjs6ch7-1664336272869)(img/image-20220928111924201.png)]

  6. 大概到现在这个位置,项目基本上就搭建好了,这里仅展示一个我自己跟着做的大概流程,具体的需实际开发部署

三、总结
  • 这种稍微复杂的项目需要考虑的东西极多,完全自己做花费时间精力极多,若有相关别人已经实现过或者已经比较成熟的方法以及代码,或是基本开发步骤流程,对于新手可以进行借鉴
  • 项目流程想要熟悉下来跟着做一遍是个不错的方法
  • 边学的时候有一些相关扩展可以多加了解以及涉猎
  • 做这个项目难度比较大,还需继续探索,不断学习,有学习动力以及目标,学起来才不会索然无味以及过快疲惫。

这里放两个连接,一个是狂神javaweb学习的链接:
https://www.bilibili.com/video/BV12J411M7Sj
另一个是本人新手仓库的链接:
https://gitee.com/he-ze__-an/projects

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐