又下雨啦~~刚才没事,我想了一下,我们到底要学多少才算好,我总结了一下,一个合格的java web开发人员应该掌握的必要知识和工具,大家看看,如果说的不对的地方,也请指正~~~~嘎嘎~~一、开发环境
1.数据库:SQL Server,MySQL,Oracle
需要掌握:
1)基本SQL语言及各数据库厂商扩展的SQL语言,比如微软的T-SQL,甲骨文的PL/SQL等
2)存储过程的开发,在开发大型应用时候,存储过程使用率很高
3)数据库性能优化,安全性问题2.服务器:Tomcat熟练掌握Tomcat容器,以及web service的各项功能,熟记所有J2EE容器(也就是服务器)是web开发的核心之一,起到中间件的作用,可以的话了解一下Tomcat提供的API(作为基础来说,不是必须掌握),另外应该尽量多的了解各种容器,比如
1)servlet容器:开源的Tomcat
2)EJB容器:BEA Weblogic,IBM WebSphere,开源的Jboss等等
并且记住,所有的容器同时也是web服务器,EJB容器同时也是servlet容器。二、语言环境
1.J2SE,也就是一般我们常说的“Java“,J2SE是所有JDK的祖宗,无论J2EE还是J2ME都是J2SE的扩展
需要掌握:
1)各种常用的类和它的方法,构造方法,比如String,List等等
2)习惯API文档的使用,吃饭就靠这家伙了!
3)良好的代码风格,比如合理声明类,变量,方法,接口等等,自定义方法都附加注释,合理使用包等等
4)面向对象思想在Java中的体现,尤其是多态性,对于深入理解Java和OOP很重要,不要只满足于对语言的基本掌握
5)J2SE的主要内容包括基本语法,面向对象,异常处理,事件处理,类集,I/O,线程,Socket编程以及GUI
6)基本算法比如排序,查找等等2.J2EE,也就是开发实际web应用的东西
需要掌握
1)J2EE提供的API,比如sevrlet等
2)JSP,JSP的精髓不在掌握它的标签和指令,而是定制标签库功能,这点有点类似于数据库的存储过程,据我了解,一般成熟的软件企业,都会把组件开发作为核心,JSP定制标签其实可以看作组件的一种,提高可重用性,根据不同的需求开发不同的标签(定制标签这点要求比较高,大家可以暂时不考虑)
3)EJB,虽然EJB很有争议,而且很多种能可以用轻量级的框架来取代,但是不可否认EJB才是真正可以展现Java魅力的地方,另外EJB的开发需要经验和技巧以及很强的逻辑能力,所以这点大家可以暂时忽略,但是只要要知道什么是EJB,并且会使用成熟的EJB组件
4)框架,主要用于减轻开发人员在逻辑处理部分所需耗费的精力,常用的比如Spring,Struts,Hibernate等等,不要以为学校里面学这点就够用了,还是应该多买点书来看来做,了解各种框架的优势所在,合理搭配,协作开发
5)模式,重点就是MVC模式,这方面的书也很多,我个人理解MVC的中心思想就是把逻辑处理和界面代码分开,提高可维护性的同时,便于功能模块的设计3.XML
我其实一直很迷茫,不明白xml到底有什么用,最近查了些资料,把心得总结一下
1)xml的核心应用就是不同平台下的数据交换
2)xml允许我们自定义标签来标示我们的数据,核心就是如何解释这些标签,这个需要我们自己写程序来解释(成熟的应用比如Tomcat的配置文件web.xml,里面有比如servlet标签,不要简单的以为就是就是把要使用的servlet的路径,别名,虚拟路径等等填写一下,其实工作起来是有一个程序来解释这个标签的含义的,只是解释不需要我们来完成,Tomcat的开发这帮我们解决了)
3)xml是现在业界公认的最有效的跨平台数据交换手段,所以作为一个好的web开发人员,我们极端有必要熟悉xml4.JavaScript
对于js,我一直有一个误解,认为掌握了jsp和servlet就不需要js了,但是最近看了一些资料,发现自己的理解有误
1)Ajax和web2.0的兴起是js大展宏图的好机会
2)js和jsp协作应用,可以有效提高web程序整体性能,比如客户端数据初期处理交给js不但有效而且可以减低服务器的负担
3)js同样可以应用在服务器端编程,但是在jsp中基本上就不需要了
4)js可以实现很多单纯web界面开发难以完成或者无法完成的任务5.HTML,XHTML,CSS
1)HTML是所有网页的骨架,重点掌握利用table布局等,可以结合快速开发工具,比如dreamweaver,这些没啥好多说的
2)XHML是严格xml规范的HTML,是W3C推出的新标准,虽然在国内还没有火起来,但就像宽带取代传统拨号一样,是一个早晚的事情
3)CSS也是用于网页布局,可以起到美化和规范页面的作用,不需要深入掌握,因为有专门的美工人员,但是好歹看到一些“奇怪的”代码要知道这是css,并且能大概知道是干吗用的三、开发工具
1.Eclipse
这个不用我说了,大家都有数,Eclipse博大精深,大家在使用中慢慢体会吧,另外Eclipse提供了比较详尽的帮助文档,有什么问题可以查,大家要习惯查各类帮助文档,这点对于一个程序员来说很重要,进了公司不要什么都问别人,能自己解决的还是自己解决好2.JBulider
很棒的一个IDE,可惜卖的太贵,不过还是有不少公司在用的,并且仍然是现在最强大的Java开发工具之一,就算不用,也应该了解基本操作,否则说出去丢人~~~还java程序员呢,JBulider都不会用~~~~~~--*3.NetBeans
Java他爹,Sun公司力推的一个IDE,从5.0版本开始,已经有点像样了,重点是免费~~~已经有部分公司开始用来做开发了,有时间可以看看,反正我是没时间看。--*
四、外语能力
1.英语
不用多说,IT技术的祖宗们基本上都操英语口音~~大量最新最快最强的技术文档也都是英文版的所以,对伐2.日语
也不用多说,小日本比阿拉有钱,又比阿拉抠门,觉得中国劳动力便宜,外包业务大量发到中国,所以从事对日软件服务的公司也像雨后春笋般冒出来,甚至就连很多从来没做过日本人业务的小公司都大言不惭的要求你的日语能力所以。。对伐,日语就像护照一样的,你不会日语,赛过出国不带护照,后果很神奇~~~~五、有待大家补充