Java学习经验和进阶 & Java Web开发review

来源:互联网 发布:飞思卡尔单片机官网 编辑:程序博客网 时间:2024/05/07 17:08

前记:今天收到一个作业,要求搭建一个网站,实现简单的登录和注册功能。直觉告诉我这是javaweb开发,但是对这块只是很不了解。于是在网上搜集了很多资料,进行了整理。

原文:http://www.douban.com/group/topic/12673068/

网友Inside对javaSE和java Web开发,以及java web开发经验分享,谢谢Inside!

1Java并不一定跟web挂钩,方向嘛,我只做过Java web,其它用到Java的地方还是有很多的
2
web方面我的个人经验是,分两个方向:前端或者后端。

        前端那么你必须懂htmlcssJavascript,进阶的则是flex 

       后端的话http协议必须懂,其它技术可以分三层,(M)odel(V)iew(C)ontroller;例如Jsp就属于view层的技术,但是它也涵盖了controller的功能,其它一些模板引擎比如velocityfreemarker等等是纯view层的技术;controller层的东西servlet就可以做得很好,Jsp也可以做但是不推荐;model则是负责跟数据打交道的了,例如HibernateiBatis等跟数据库交互的框架就属于这一层。先把这些东西弄清楚了就好,SSH我个人没有用到,StrustHibernate是有了替代品,完全不需要Spring则是目前还没有用到,但是掌握IOC的理念是很有必要的。 我目前用了freemarkerservletiBatis,外加少量Jsp,但是用得很少,所以学不学均可,用到的时候随便看看文档自然就懂了,建议你首先掌握servlet,尤其是跟servlet有关的listenerfilter等等概念。 题外话,其实当下的程序员,大部分都是前后端兼顾的,除了不搞flash之外,其它跟web有关的技术都要用到。 

3、没有心得也没有顺序,需要用到什么就看相关的文档而已。至于你说的对象方法和类这种问题,完全是跟基础相关的,基础是要靠积累的,光看书是没用的,首先要动手,然后解决动手过程中遇到的问题,多思考和总结,自然而然就跨越基础阶段了。

 

下面是网友平庸老鱼写的关于学习java的一些心得,当然不是专指web方面,你可以看看,有没有借鉴作用。 
============================== 


1 初学的话,从java的本身语法开始。很多人觉得这些东西很简单,可能一天或者一个上午就完事了。但是,所有的东西,最关键的细节,god in details.你看完以后,去做一下scjp的试题目,看看自己的水平,深深反省一下。不是需要去考这个认证,是让你真正意识到自己对于java的认识。这个阶段可以看一些java培训教程,好像有一个叫张孝详的,比较适合没有其他语言基础的人,如果有基础的,可以看看thinking in java 


2
然后一些提高阶段,对于java的语法熟悉以后,就是熟悉java语言,对语言最好的熟悉方法是熟悉他的类库,这个部分,个人推荐最好的书是core java,现在到7还是8版了,我看是的时候是6版本。这本书是我所知道认可程序最高的一本java书了。

 
3
在对语法和语言都有一定程度的熟悉以后,就要知其然后知其所以然(前提是你想真正精通这个语言,不然这个时个就可以去搞jsp),这个时候站的角度要高一些,先看看jvm,现在国内这个方法据我看的,没有什么特别好的书,因为也没有几本,我印象中不错的是深入java虚拟机,了解了整个java是如何运行的以后。想像一下,如果自己需要实现一个java的话,如何做,带着这个问题去jdk的源代码,你会收获很大的。有一本书,叫effectivejava,本来应该是关于最基础的东西,但是很难的,在这个阶段看的话,收获会很不一样的。 

4
在真正花时间在前三个阶段以后,打一个真正扎实的java基础以后,就可以开始真正面java最流行的领域了,从servlet,jsp开始,然后是SSHJ2EE那些东西。那些东西在本质上考虑的更多的设计理念和设计模式的东西了。有一个叫java与模式的书,好像叫阎什么写的,是设计模式很不错的一本入门的书。在看书的时候,想法要开阔一些,不妨想一下,如果我自己要实现个tomcat,应该从哪里开始,如果有这样的想法,对于tomcat这些东西的理解,肯定要比大多数的人深刻一些。 

5 在以上的东西都学到一定程度以后,那个时间就更应该关注的是方法论的东西了。包括软件开发模式,程序设计的方法学,这个阶段比较高了,我本人研究不深入,不能提供过多的东西,只能提供一些名词,例如重构,敏捷开发等等。国外好像一个martin, Robert等什么的在这方面比较有研究。 

以上所有的过程就需要很多的动手实践,没有实践,所有的编程语言的学习都只是水中花,镜中月,练拳还要练功。如果你有良好的心态(这个最重要了),不要在别人开始学习J2ee等东西的时候,受不住诱惑,偏离了这个方向,要知道,玄门的功夫都是开始入门极难,然后越来越快的,九阴白骨爪之类的就刚好相反了。学习的过程,别的什么都不重要,最重要的一点,是勤奋,天道酬勤。

原创粉丝点击