仿天猫 java web_JAVA WEB项目教程-模仿天猫J2EE版

做一个模仿个天猫官网的J2EE项目,来练手吧

1. 项目演示地址

2. 学习思路

其实呢,要在网上找一个J2EE项目是很容易的,随便在百度或者git搜索,都是一大把。 但是拿到这样的搜索来的J2EE项目,其中包含了上百个java文件,jsp文件,各种配置信息,如果没有好几个实践过的J2EE项目经验,会觉得无从看起,难以下手,最后影响学习的效果。

为了使学习的曲线变得更平滑,逐渐建立学习的信心,我为这个模仿个天猫官网项目制作了由浅入深的学习教程。

2.1 首先下载一个跑起来

看了演示地址之后,第一步总是要下载下来,把项目配置起来,自己也跑跑看看效果的。 如果下载出来的项目不能运行,为什么要跟着你做呢?

52e2ad84eaf7

为了顺利的演示,不仅需要项目代码,还需要数据库中的数据, 所以提供了导入数据的SQL文件

52e2ad84eaf7

而导入的数据量比较大,上万条数据,使用工具导入不仅慢,还有可能出错,所以专门准备了一个命令行的方式导入,以保证导入的顺利进行

52e2ad84eaf7

配置tomcat也是比较容易出错的环节,特意准备了一个完整的server.xml,直接复制粘贴,然后启动tomcat,就一定能够成功配置了。

52e2ad84eaf7

如此这般,便可以顺利的自己也搭建一个模仿天猫的J2EE项目,在自己的机器上看到效果。

2.2 由浅入深,从零开始构建整个项目

在确定了这个项目确实可用的前提下,就可以开展对这个项目的学习。但是这个项目里有许多的java,jsp.xml 等等各种类型的文件,彼此之间又有着各种关联关系,从哪里开始着手好呢? 其实,从哪里着手,都不好着手,毕竟项目有着相当的复杂度。 最好的方式,就是从零开始,由浅入深地构建出整个项目出来。

[list]

[*]从需求分析开始,明确要做哪些功能。

[*]然后分析表结构,确定什么样的表结构,表关系,可以支撑需求中的业务功能。

[*]接着再做持久层的实体类和DAO设计

[*]最后才开始进行前后台的功能开发

[/list]

52e2ad84eaf7

2.3 表结构设计

52e2ad84eaf7

表结构设计是非常重要的,如果这一步没有做正确,将无法支持业务功能的需求,所以放在第一步来做。在这部分列出了表与表之间的关系,建表的SQL语句等等。值得一提的是,因为表比较多,为了便于理解每张表的作用,特意把表和前台页面截图做了对应,从感性上理解这些表都是干什么用的。

比如这个产品表与产品页面的截图,这样表的每个字段在界面上分别对应什么样的显示数据,对于这个表有什么用,心里就会有底很多。

52e2ad84eaf7

2.4 每个类的源代码,细致到方法级的讲解

项目里有非常多的类,如实体类,DAO类,Servlet类,Filter,JSP等等,不仅每个类提供源代码,而且每个类的每个方法有什么作用,与业务有什么关系,都有细致到方法级别的讲解, 力求把代码吃透,消化明白。

52e2ad84eaf7

2.5 业务类与界面的对应关系

稍复杂的方法,还有与项目截图的一一对应关系,辅助理解。

52e2ad84eaf7

2.6 后台第一个功能精讲

在功能开发环节,比如后台功能,通常来说,大部分后台功能是比较接近的,主要是业务数据的CRUD操作。 而做第一个的时候,不仅需要规范化,对于不熟悉的同学,也会略感吃力。 所以在讲解如何做后台第一个分类管理功能的时候,把其拆的特别细,碾碎到很小的颗粒,这样消化起来就容易多了。

52e2ad84eaf7

2.7 其他后台功能

在完成了第一个后台功能,并消化理解之后,再做其他的后台功能就会顺畅很多

52e2ad84eaf7

2.8 前台第一个功能精讲

前台功能与后台功能的做法会有区别,所以与后台功能类似的,前台第一个功能也讲得很细致,便于理解与消化

52e2ad84eaf7

2.9 其他前台功能

在完成了第一个前台功能,并消化理解之后,再做其他的前台功能就会顺畅很多

52e2ad84eaf7

2.10 视频讲解

光有文字讲解有时候也无法把一些较为复杂的概念、思路表达清楚。 所以在各个关键点,都有视频讲解,加深理解。

52e2ad84eaf7

3. 可运行项目

每个知识点都有当前的可运行项目下载,以确保项目一定可以运行,保障持续学习的信心。

学习一个较为复杂的项目,会有这样的体验:各个步骤差不多都跟着做了呀,但是为什么就是不能正确运行呢? 而且花很多时间,翻来覆去的改,越改越糟糕,越改越乱,犹如进入了茂密的丛林一般,几乎失去了方向。如果进入这样的状态,真正可怕的是一点点丢失的学习的信心和动力,自然而然地开始怀疑项目本身是不是有问题喔,各种疑虑加上止步不前, 最后实在是学习不动了,只好放弃了。

其实之所以跑不出来,大部分原因都是因为某个细节没有处理好。为了面对这种情况,我特意在每个学习步骤的右上角,准备当前学习进度对应的可以运行的项目。 如果自己老是搞不出来,那么就把右上角的项目下载下来,部署,运行,就跑通了。

52e2ad84eaf7

这样做的作用是什么呢?

[list]

[*]第1,确保了项目是可以运行的,教程没问题,打消了项目本身就有问题的疑虑

[*]第2,此时就可以把自己写的代码与“标准答案” 代码进行比较,很快就能定位自己的问题所在了。 为此还特意在对应位置,为每个源代码提供了一个文件比较功能, 方便快速定位自己哪些 “细节” 不一样。

52e2ad84eaf7

52e2ad84eaf7

[*]第3,定位到自己错误的地方,修改后,再回过头去部署自己的项目,并运行通过。 这样不仅技术上成长了,也能逐步增强了学习完整个项目的信心。[/list]

4. 可以期待的收获

看上去这个项目也不短嘛,那么真正学完这个项目后,能够得到什么呢?

4.1 典型业务场景的掌握

所谓的典型业务场景就是各种商业项目里,都会有类似或者接近的功能。 在这个项目里你掌握了这些业务场景的开发,去工作之后,做类似的就能驾轻就熟。 那么都有哪些业务场景呢?

52e2ad84eaf7

4.2 设计模式的掌握

设计模式的书和文章有很多,从我自己学习和工作的经验来看,如果一种设计模式,我只是在书上看过,却没有在实际工作中运用的话,那么犹如无根之树,打一把dota就忘记了,即无法深入理解其中的原理,也不能在真正工作的时候,灵活地运用到他们。

52e2ad84eaf7

而通过这个项目,基于实践所运用到的项目,就会变成你真正的技能,因为这些都会是你一行一行代码敲出来的设计模式,在面试的时候如果被问到相关问题,你也会对答如流,因为这些会是你真正“实践过”的设计模式

教程由个人完成,局限于个人的经验和视野,有诸多不足之处,请各位多多指点,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值