今天开始学servlet重不重要,以后工作中用的到吗?

2018-04-24 14:43:17 +0000

       在QQ群里不时有初学者问:今天开始学servlet重不重要,以后工作中用的到吗?看到这种类似的问题,我一般都会主动的明确的告诉他,很重要,学会servlet,很多框架在你面前都是裸奔的。其他同学不必反驳说了解MVC还有要学习设计模式、Java反射... 知识点,其实我的意思是基础很重要。只是我不想说的很直白,像很多我们从小听到大叮嘱一样左耳出右耳进,比如各位同学努力学习打好基础。
       我为什么会主动的去答复?现在想想要能有前辈指点一下,在校作为一个初学者能少走多少弯路。大学时身边很少有同事学习编程并在毕业之后从事软件开发,除了大我一届的几个学长,很少有能交流学习的人。基本上是杵着头在那学习或者网上、图书馆查资料,要学的东西太多,自己面临着是否花时间重点学习基础(servlet\jdbc\socket\reflect ...),还是一带而过就学习业界流行的SSH框架?

       非常的疑惑了很长一段时间,一会基础一会框架,基础不够框架自定义东西(规范、标准、新名词)太多,例如还因为封装报错,框架本身的复杂性很难快速找到原因,学习过程很费劲。一个技术点学习和开发就这困难,看着我寝室书桌上的几本厚厚的Java书籍,我当时非常沮丧,太难了一度觉得自己不适合做程序开发。

       有同学会说学校不是有Java课程吗?大二确实开了半年的Java课程,而且老师是中兴和华为各待过3年的老师,技术开发能力不用怀疑。毕竟刚到校讲课水平很一般(讲不出来),并且心思并不在教学上,他在外跟公司合作开发项目,教学效果可想而知。我并不是诋毁老师,相反当时非常崇拜他的工作履历。老师对我的问题也是又问必答,也是认可我的。曾经还准备把我介绍到他校外的外界项目中去,后因公司老总怀疑一个大二学生的水平,拒绝后作罢。这里只是陈述大学教学情况,不知是否有状况相同的同学?

       一带而过学习Servlet/JSP可能常规的就是了解下常用的几个方法、内置对象、Tomcat配置servlet及生命周期,花不了几天时间。重点学除了这些,你还要了解周边相关联的HTTP协议、Web容器、Servlet映射、JSP自定义标签、过滤器、Socket等。

       额外花费这么多时间,有什么好处?亲身经历来说,毕业前我只在大学的教师考核系统开发中的几个页面用过structs1,但是去上海实习时项目要用最新的struct2,同时进公司从培训机构出来之前培训struct1的同学不知所措的问我怎么在页面做html列表展示(太久问题记不太清),我想都没想说有找下循环标签,大概怎么用...,名字我不知道自己找下,他告诉我确实有而且用法一样。虽然到现在都没有搞过struct2,但是因为我研究过和实现过自定义标签,不论框架怎么封装只要是遵守Servlet规范,就可以预测你大概有什么、怎么用,有目的性的查找API用法快速上手。

       毕业第二年去一家外企,接手一个X#语言开发的项目,很快就可以上手开发和被咨询。X#这里简单的介绍下,Java实现的利用XML语法来实现编程的标签化语言,例如模拟操作XML节点来进行数据库操作。编程全是标签、Xpath表达式之类,没一行Java代码,在完成后解析器会把标签直接翻译成无法阅读的Java代码,再编译成class文件。如果不掌握Java基础,新人上手开发甚至是Fix Bug都非常困难。非常小众的语言,因为被公司收购了,才用来开发自己的产品,我们那时常常调侃自己是X#语言全球Top 100内程序员。

       只有当你掌握了Java语言的基础,也就是我们说的Java语言特性,无论怎么封装实现都逃不过你的眼睛,无非都是在这些特性上运用设计模式、规范来实现的,从一种框架转移到另一种便不会毫无头绪和慌张。