javaweb学习总结(体会)
这篇⽂章虽说是叫《学习javaweb总结》,其实更多的是⾃⼰的⼼得体会,真正涉及技术的问题还不是很多,关于技术的总结,会在后续发表。本⽂虽然写完很久,但是⼀直没有整理,加上对于在⽹上发表⽂章也是刚刚开始,所以时⾄今⽇才发到博客。
突击了三个多⽉的javaweb,有了许多⼼得体会,在这⾥⼩⼩的发些感慨,希望对刚刚⼊门的朋友有些帮助。毕竟我现在也算是⼀个过来⼈了。
自学java从哪里开始起初我在⼤学的时候只是学过⼀些基本的JSP,记得那时候做东西的时候不懂得异常处理,更不懂得安全问题,因为没见过那么⼤的天空,就满⾜在⾃⼰头上的云彩。即将毕业⾛出了校园,见识到了真正的程序员,看到了他们的⼯作⽅式,颇有感悟。记得在上学的时候⼀直想学servlet,但是虽然⾃⼰买了许多的书,其中包括孙鑫的《JSP/Servlet 深⼊详解》,可是由于⾃⼰的惰性,始终没能动⼿演练,因为我们常⽤的Servlet是基于HTTP(1.1)协议的,⽽且常⽤的request,response对象也都是继承⾃HttpServletrequest和HttpServletResponse的,所以,代码看起来会略显得有些复杂,(当然这只是对于初学者来说,或者说是没⼊门的⼈来说),所以没次拿起书看代码的时候就会感觉到“哇这个东东太难了,以后再说吧。。。”每次都是这种感觉。直⾄我碰到了《javaMail邮件开发详解》的作者之⼀⽅**(暂且称之为⽅⽼师吧,我感觉都写书的即使不是⽼师也可以被称作⽼师了)。在他的指引之下,我算正式进
⼊了学习javaweb的门槛,也算是⼀个初步的⼊门。从起步开始对于我这个“野路⼦出家”的⼈是⼀种折磨,因为没有基础(像核⼼技术的IO,集合,GUI,socket等技术我都不怎么会的),⽽且要直接学javaweb。记得开始的⼏天⼏乎都是⿇⽊的,换句话说,这⼀段时间⼏乎不是在学习WEB技术,⽽是在测试⾃⼰⼤脑的缓存到底有多⼤(因为本⾝的压⼒就⼤,加上没有基础,最重要的是没有⼀个学习⽅法)。所以⼏乎前20天的⽇⼦都在做⼀个⼯作,就是把学到的东西压缩到⾃⼰的⼤脑,回去复习呢,就像是个没头苍蝇⼀样,学到哪就看到哪,打开书本和笔记,发现⾃⼰不会的就开始看,毫⽆⽬的。学习的效果也可想⽽知。到头来发现⾃⼰似乎没会什么东西,因为即使是⾃⼰在写代码,也是在写别的代码,再调别⼈错过的错误。。。总之过了很久⼤概⼀个多⽉吧,这种状态都没有改观。可以说形势很不乐观。但是呢⼜没有更好的办法。
直⾄遇到了⽅⽼师,虽然不能说听君⼀席话,胜读⼗年书,但是对我来说真是受益匪浅,此时也算是我再⼀次的重新开始javaweb的学习。由于有过⼀个多⽉的经验,现在再来学习第⼆遍,也算总结了点⽅法。下⾯就浅谈⼀下⾃⼰的体会。
如果放弃持久层的东西,也就是JDBC操作数据库这⼀部分来说,javaweb的东西就是Servlet和JSP,⼀个控制层(controller)和⼀个显⽰层(view)两⽅⾯的学习。记得⽅⽼师的第⼀句话就是:“javaweb是没有什么东西的,但是它⼜是很重要的,将来你们学的框架技术很可能在3,5年后就被淘汰了,但是这个javaweb在10年哪怕是更久都不会被淘汰的!所以你们⼀定要学好,⾄于为什么说它没什么东西,这
个以后你们学完就会知道”。听了这些话,我⼼⾥的压⼒顿时减轻了很多。敢于去接受⼀些新的知识,当然是⽤合理的⽅法。现在回头总结的话,我个⼈的感悟就是当你明⽩了servlet和JSP的⼯作原理之后,你要学的就是那⼏个最常⽤的东西,⽐如说注册并发邮件,⾃动登录,购物车,下订单,三种常⽤的分页技术,过滤器功能(处理乱码,转义),处理在线⼈数啊,在线⽀付等等(这⾥我就不⼀⼀列举了,当然HTTP协议是必须会的)。现在列举出这些东西并实现技术虽然很容易,但是在当时学习的时候可是吃了不少苦,因为开始不懂啊,就拿⼈家写好的代码,⼀个显⽰屏幕分成两块,开始⼿动虽然写出了功能,但是没过多久就会忘记,即使3个⽉不忘记,6个⽉也会忘,因为它不是⾃⼰的东西嘛。这些问题是在我第⼆次写东西的时候发现的,因为要对⾃⼰负责嘛。所以⾃⼰很难受。于是开始⽅⽼师想办法,他给我讲解了⼀遍这些技术的实现思路并操做演⽰给我看。在他讲解完,我是茅塞顿开。⾃⼰开始继续写,可是⼀写就发现还是不会,⼜开始翻代码。后来我觉得不⾏,⼜去⽅⽼师,“⽼师那个你讲的东西我听懂了,可是⾃⼰⼀写就写不出来,不知道该写什么,按你的代码写完,没多久⼜忘记了,这可怎么办?”⽅⽼师⼀句简短的回答算是改变了我,可以说直到今天的学习,他说:“想不出来是吗,那你就⼀直想,什么时候想出来了,什么时候再写,这个不急”。回来我就想,这是好话还是赖话啊,⼈家同学都快写完了,我还在这想呢。。。⽆解。。。那就死马当活马医呗。回去坐在那我就想,电脑⼀合上盖⼦。持续接近两个⼩时,我⼀拍⼤腿,哦了!打开电脑,画个图,理清⼀下流程,看看图,写吧,⼀个⼩时不到全部OK!然后⽅⽼师问我,你怎么⾃⼰在那怪怪的笑(他是南⽅⼈,说话的⼝⾳加上语调很有意思)?我说我写出来了。嘿嘿。他问我,你会忘吗?我说我
坚决不会忘,我⾃⼰想出来的东西,就是我忘记了我也还会想出来,然后我就还能写出来。然后我就笑了,理由很简单,我到⽅法了。回过来说我们学习SUN公司的API,底层代码,第三⽅的资料和⼯具,最好的学习⽅法就是把他们的东西转换成你⾃⼰的思想,这样你就真的学会了。到后来我发现,在我们⼀起写代码的时候不乏很多⾼⼈,他们的效率很⾼,能⼒很强,但是有很多的⼈恰恰相反⽽且这类⼈不占少数,最实在的例⼦,在我⾝边⼀起写代码的朋友,当我写完7,8个功能的时候,准备进⾏下⼀个模块的分析了,他还在那为⼀开始的两个功能发愁,看着那抛出来的异常瞪眼,更为悲观的是他不会对着异常分析⽽是去分析别⼈写过的代码,去看看⾃⼰哪⾥写的不⼀样。
当然万事开头难是必然的,因为刚刚起步没有经验,但是随着你的代码量的增加和处理能⼒经验的丰富,⼀切都会变的简单起来。开始为什么说javaweb简单呢,因为当你学会的时候你要是善于总结你就会发现,其实servlet的⼀套API就那么多,只要学会了它就哦了,⾄于其它的帮助⼯具如何使⽤都是些⼤同⼩异的事情,实在不会可以百度嘛,百度不⾏就⾕歌,再不⾏就。总会解决的嘛。所以最后列出⼀个等式:成功 = 坚持冲过起步的低⾕ + 良好的学习⽅法 + 勤敲代码的习惯 +
处理问题分析问题解决问题的能⼒