一.IDE篇
    首当其冲的非Eclipse莫属了,话说很多年前当我还是学生的时候有个东西叫做MyEclipse,我当年的毕业设计就是用的它的3.x版本,这个东西真是好,让我一个手无缚鸡之力的书生觉得原来做web开发也可以这么容易(当时还不知道有。Net一说,有点傻),从此就上了这条贼船欲下不能,从我相信很多同志都对他情有独钟。他有一整套完整且界面友好的插件来支持j2ee,甚至是桌面应用开发,内置了常见j2ee服务器插件,什么tomcat啦,WebLogic啦,WebSphere啦,jboss啦应有尽有,对如今流行的ssh框架也支持良好,你甚至能通过它直接连接到数据库去,不过它的功能全面是以体积庞大,占资源为代价的,当然现在同志们的电脑配置都挺高的,根本不在乎这点资源。本来我也挺喜欢这玩意的,但是自从我换了个比较高的版本后发现他很爱闹情绪了,时不时给你卡一下,恰逢这个时候我上了一次Eclipse的官网,于是发现了Eclipse的Eclipse Java EE IDE for Web Developers这个东西,貌似是集成了wtp插件得来的,当然还有许多其他诱人的功能,于是下了个最新的伽利略版下来,总之是越来越喜欢,从此彻底的做了MyEclipse的负心汉。较之之前的版本伽利略版多了不少实用的功能,比如当按住ctrl建将鼠标移到调用方法上的时候会弹出一个两行的菜单,可以让你选择查看方法的接口还是实现,这是我最喜欢的一个功能,虽然之前的版本也有快捷键可以实现差不多的功能,但还是这个来的方便。
除了Eclipse我还下过NetBeans玩,老实说NetBeans真的很强大,特别是最近新出的版本,NetBeans有一整套完整的从j2me到j2ee开发的工具甚至是groovy,ruby都有支持,特别是对桌面软件开发的支持相比于vb之类的图形化界面开发ide也毫不逊色,如果NetBeans早几年的版本有这个水准我估计Eclipse就没有如今这种一统天下的局面了,但是现在来说,netbeans真的来的有点晚了。当然NetBeans虽然强大,但是对资源的消耗估计跟MyEclipse有的拼,另外,都知道java语言以跨平台著称,但是看了NetBeans在win7下的表现后我真的有点怀疑NetBeans是不是用java开发的了。相比于Eclipse来讲,Eclipse的各种各样的插件遍地都是,NetBeans却不知道要等到何年何月才有这种局势出现了。所以相对来讲,我还是比较喜欢能让我觉得自由自在随心所欲的Eclipse。
    当然还有不少其他的ide,相当不错,比如近几年很少再听到提起的jbuilder,和另一款传说相当优异的intellij,不过咱是穷人,还是比较喜欢免费的东西。二.Eclipse插件篇
    说到Eclipse插件,我想没有同志会对Eclipse插件的丰富有所怀疑了,现在你几乎可以在网上找到任何功能的插件,什么代码生成,uml工具简直应有尽有。目前我我装了两个Eclipse,一个用来玩j2me,桌面程序之类的东西,一个就是工作用的了。
    我是做web开发的,web开发必须设计到的东西就是web服务器,因此服务器插件也是必不可少的,说到这里MyEclipse的好处就体现出来了,它自带的服务器插件是支持热部署的,也就是说你不必每改一次代码就重新发布一下应用,这点真的很重要。话说自从我把ide从MyEclipse换到j2ee版的Eclipse以后就因为这个原因一度想换回MyEclipse,因为Eclipse自带的服务器插件并不支持热部署(请不要说可以在命令行里启动tomcat,用这种方法干脆Eclipse都不要用了,直接用记事本写代码算了),不过好在我发现了一个tomcat的插件tomcatplugin(这就可以看出Eclipse的好处来了,要是你用的是NetBeans或者是别的什么,你就忍着吧)tomcatplugin是一个专门用于在Eclipse里面启动tomcat的插件,装上以后只有3个简单的图标出现在面板上,配置也很简单,它部署应用的方式有点不近人情,你一定要把它标志位tomcat项目它才会让你部,所以我用了个别的方法来部署,在tomcat的\conf\Catalina\localhost下面加个配置文件,路径直接指向Eclipse工程目录的web文件夹就可以了,都不需要部署。正是有了这个插件我才促使我将MyEclipse彻底的遗弃了。
做web开发的一般都是团队开发,因此版本控制,代码共享必不可少,当然Eclipse本身自带了一个cvs的插件,不过个人觉得cvs真的该淡出历史的舞台把接力棒交给svn了。Subclipse就是这样一个SVN插件,不过代码管理这块用什么通常都是老大说了,因此就不多说什么。
    此外做java开发还有一个工具也不得不提,虽然并不是很重要,但有时候却真的很有用,那就jad反编译工具。很多时候都会碰到对一方法不太了解,又缺乏相应的文档,这个时候你会想要去看看它的原代码。有人给我推荐过一个工具,装上以后要看源代码的时候可以找到这个class文件,然后直接双击就能反编译过来了,这个东西固然好,但总是觉得麻烦,你正在Eclipse里面写代码,为了要看一个方法的源代码却要先把Eclipse最小化然后再。都不想说下去了,后来我找到了这么个插件,jadclipse,有了它,只需要按住ctrl再用鼠标一点就可以了,就跟看你自己写的java文件里的方法一样。三.浏览器篇
    我想每个web开发人员电脑上应该都至少装有两个浏览器吧,一个ie,一个就是Firefox了,为什么一定要Firefox一开始我也不太理解,但是自从我用了Firefox下的firebug这个插件以后我终于理解了,对于web开发人员来讲最头疼的事情之一莫过于调试JavaScript了,一般来讲ie也会报错,告诉你说对象找不到或是别的什么,问题是到底哪个对象找不到呢,傻眼了吧,firebug可以设置为错误处暂停,甚至能设置断点,这样就知道问题出在哪里了,当然它的功能远不止于此,比如你可以看到ajax请求的返回值和参数,这个相当有用。如果用的是win7的话需要把Firefox设成兼容模式才能装上firebug。
另外还有几个插件也很不错,比如firedebuger,可以像调试java代码一样调试JavaScript(这个是道听途说从来没用过,也不知道是不是真的好用),ie tab可以在Firefox里面用ie内核浏览网页,等都是很实用的插件,值得一试。