记录一下自己最近的学习心得。
因为自己想转开发,之前虽然nodejs我觉得我能独立开发项目了,但是公司是java作为后台的,nodejs并没有用武之地。
所以开始学习javaweb了。
先说一下,既然大家都是后台语言,那么从本质上说,其实两者原理都是相似的。
架够都可以是前台只是负责页面,后台提供接口就行了。我也是抱着这个心态去学习的。
第一:java基础语法。
这块我一开始花了半天就学习完成了。说实在很枯燥,而且有的囫囵吞枣,但是我相信都是会写后台的人,并且也不是真的新手了,没人愿意花一周时间看基础语法吧。
第二:按nodejs的想法去搭建hellworld
这里开始差别就很大了。
nodejs初始的时候很简单,或者npm很强大,用express举例。
步骤:
安装express npm express install -g
创建项目:express dht
这样dht项目创建完成了。接下来就是
npm start 项目就启动完成了。
但是javaweb不一样。
这里先吹一波java,java作为资深的后台语言确实强大,并且很完善。但是缺点很明显,没有一个系统的完整的教程。这让初学者很难受。没有一本书能让我满意的。应该说是历史包袱很重,并且java没有新的书籍让我满意。满满的jsp(现在jsp还有什么用?),并且对java的servlet讲解不够明白直接。还有java创建工程目录方面,没有一本书对他做讲解了。很粗糙。
创建项目:
教程转载https://www.cnblogs.com/wormday/p/8435617.html(大家看这个就行了,很简单也很详细。)
看了上面两部分之后大家会发现,差别很大。而且javaweb创建完成之后,没有一个教程说模块是在哪,路由在哪,静态文件在哪等等。让人的感觉是java好像一开始就帮你干好了,但是他其实什么都没有干。他只是有一个hellword了然后没了。
并且java创建项目没有npm方便。这也是初学者很难受的,也许是node太方便了吧。
最后大差别,模块包导入机制不同。
java是improt 模块
node是 var abc=require(‘模块’);
这里差别不大。继续
java假如a模块存在test()
可以这么使用(这里懂的人会说你这个存在bug,java还有一个包的管理机制,这里我不说了,大家自己百度。)
test();
node是:
abc.test()
这里我个人更加喜欢node的方式。很方便,而且不容易混淆。