任何Web开发人员需要必备de技巧主要有以下这些技术.
开发Web应用程序de技术已经变得更成熟、更复杂了.现在,构建一个Web应用程序不仅仅需要简单deHTML技术了.数据库访问、脚本语言和管理都是一个Web程序员需要具备de技术.让我来看看要成为一个市场上受欢迎deWeb开发人员都需要些什么技能吧.
自从CERN(欧洲粒子物理研究所),日内瓦附近de高能物理研究中心,在1991年发布了Web以来,Web技术已经从静态de内容和Common Gateway Interface(CGI)发展成servlet技术和JavaServer Pages了.然而,在这个竞争更激烈de社会中,一个Web程序员需要更多de知识.例如,如果在面试中,您提到您熟悉XML并在JNDI方面有些经验(这两种技术初看似乎同Web编程没有很紧密de关系),那么您就会给您未来de老板留下更深de印象.设想您已经了解了Java编程语言和面向对象de编程,下面还有两组技术是一个Web开发人员日常工作中所需要de.第一组包括每个Web程序员必须具备de技术.第二组包含要想成为一个高级程序员所应该掌握de技术.
基本技能
如果想称自己是个Web开发人员,下面就是必须具备de技术.
HTML(HyperText Markup Language)
HTML几乎是显示在浏览器上所有内容de语言.难怪HTML就好像是一个Web程序员de生存本能一样.如果您仍需要在您deHTML中查找<tr>或<b>,那么您真de需要提高您deHTML技术了.HTMLde当前版本是4.01,您可以从http://www.w3.org/TR/1999/REC-html401-19991224/了解更多关于它de内容.
Servlets和JSP
Java servlet技术是开发Java Web应用程序de主要技术.它是由Sun Microsystems在1996年开发de,当前de版本是2.3,但人们正在为版本2.4做准备.
JSP是servlet技术de扩展,现在de版本是1.2(2.0版将很快定下来).有人认为JSP是servletsde替代,但实际并不是这样de.Servlets和JSP是一起用于复杂deWeb应用程序de.
用Java进行Web编程de一个好de开端就是学习servlet技术.即使您打算在您deWeb应用程序中只运用JSP页面,您仍需要学习servlet技术.在更复杂deWeb应用程序中,JSP页面只用于显示,而JavaBeans和自定义标签库用来嵌入商业逻辑.即:您也必须精通JavaBeans和自定义标签库.
JavaScript
JavaScript是运行于所有de主要de浏览器中de脚本语言.您用JavaScript来进行客户端de编程.客户端编程中最重要de工作就是确认用户输入.运用客户端输入验证de好处是减少服务器de工作量并提高响应时间.另外,JavaScript可以用于重新定向(redirection)、cookie处理、控制applets、创建导航树、打开一个浏览器de一个新de实例、等等.
SQL(Strutured Query Language)和JDBC(Java Database Connectivity)
如今,大多数Web应用程序都包括访问关系数据库中de数据.作为一个Web程序员,您需要知道如何存储、得到并操作数据库中de数据.有时侯,您也需要设计数据库,构建数据库中de表和其它结构.SQL就是用来操作数据库中数据de语言.您通常需要编写SQL语句(常常是动态de),把它们传递到数据库服务器,并得到返回de数据(如果有de话).
运用Java语言,您需要用JDBC来帮助Web应用程序和数据库服务器进行通讯.JDBC有两部分:JDBC Core API(Application Programming Interface)和JDBC Optional Package API.第一组用来执行基本de数据操作,如创建一个连接或读取、更新并删除一个表中de记录.第二组提供更高级de数据库连接功能,如连接池、事务和RowSet.JDBCde当前版本是3.0,API包含在J2SE v. 1.4中.
Web Container管理和应用程序部署
您deservlets和JSP页面在一个叫做servlet/JSP container或Web containerde引擎中运行.您至少需要知道如何为测试以及生产运行部署您deWeb资源.例如,如果您运用Tomcat,您需要了解de一件事就是如何映射配置文件(server.xml)中de应用程序,使Tomcat知道如何调用您deJSP页面.另外,您需要知道在哪里保存您de库以及如何创建应用程序部署描述符.
XML(eXtensible Markup Language)
XML是计算机领域中一个成功de后起之秀.由World Wide Web Consortium在1996年开发,XML现在已经是用于数据交换和可扩展数据结构de一个广泛de、公认de标准了.XML在Java Web开发中扮演着一个重要de角色.例如,每个应用程序de部署描述符都是XML格式de.而且,如果您在开发Web servies,您就会用到SOAP(Simple Object Access Protocol),它主要是基于HTTP和XMLde.
另外,在Web应用程序中,XML也可能用于存储分等级de数据.
Model 2结构
这种技术在该类别中是最先进de.建议用这种结构来构建相当复杂deJava Web应用程序.Model 2结构是基于Model-View-Controller设计例子de.
高级技术
下面这些技术可以将您同初学者区别开来.
JSTL(JSP Standard Tag Libraries)、Jakarta Taglibs项目和其它库
为了加速应用程序de开发,您应该经常重用相关代码.简单地说,相关代码重用就是,如果有人已经编写了用来执行某些功能de相关代码,您最好就去用那些相关代码,而不要自己编写了.因此,JSP可以让您运用自定义标签.您可以运用几个库,最受欢迎de是ApachedeJakarta Taglibs项目中de库.从http://jakarta.apache.org/taglibs/index.html可以下载这个包,您在开始创建新类前,可以运用在这个包中找到de任何现成de东西.
JSTL最近已经成为了一个标准.其它标签库可以免费或以商业方式得到.
ApachedeStruts项目
Struts是一个Apache赞助de公共资源项目,它为构建Model 2 Java Web应用程序提供了一个构架.Struts为MVC结构提供它自己deController组件,将EJB、JDBC和JNDI用于Model,将JSP和其它技术用于View.您可以从它de网站找到更多关于这个项目de更详细de信息:http://jakarta.apache.org/struts/index.html.
XHTML(Extensible HyperText Markup Language)
XHTML是努力将HTML和XML结合起来de一种技术.您可以把XHTML当作下一代deHTML.其当前de版本是1.0(第二版是于2002年8月1日发布de),XHTML还没有像HTML那么流行,但它在将来会发挥更重要de作用.根据Web设计专家Molly Holzschlagde观点,推动各个公司转向XHTMLde主要原因是美国de关于公开访问(accessibility)de法律.更多关于XHTMLde信息,参阅Holzschlag访谈.
DHTML(动态HTML)
DHTML可以允许人们在您de网站上进行更多de交互.例如,运用DHTML,当用户移动鼠标到一个链接上时,您就可以很容易地创建并显示子菜单.运用DHTMLde最大de挑战是创建跨浏览器de页面.de确,在理论上,页面设计应该是由美工处理de,其中动态deHTML是通过运用一个工具而产生de.然而,一个Web程序员通常要负责集成所有de部分,如果在页面中生成de相关代码被破坏了,您就需要了解DHTML来修理它.
Applet 编程
Applets曾经在提供交互性方面很重要,尤其在DHTML出现前.现在,appletsde作用被削减了,更多de程序员已经不用applets了.Microsoft决定在它de新浏览器中不为applets提供缺省de支持极大地削减了applets在Web应用程序中de作用.然而,applets并没有消亡.对于某些任务,如显示新闻标题,applets仍然是不可替代de,而且applets不会产生另人头痛de跨浏览器兼容方面de问题.
HTTP协议
Java Web程序员通常运用比HTTP更高de协议,如运用servlet和JSP APIs.这些APIs隐藏了HTTP协议de复杂性.因此,您仍可以构建重要de应用程序而不需要知道多少关于HTTP协议de知识.只有当您需要处理原始数据,比如将文件作为附件上载或传送时,您才需要更多关于协议de知识.
EJB(Enterprise JavaBeans)
EJB是J2EEde一部分,当可扩展性和强大性是您deWeb应用程序de主要需求时,EJB就很重要.在当前规范(EJB 2.0)中有三种类型deEJBs:会话(session)EJBs、实体(entity)EJBs和消息驱动de(message driven)EJBs.新de规范,2.1版,正在设计中.
JNDI(Java Naming and Directory Interface)
当您在开发企业beans时,JNDI很重要,因为对一个EJBde访问是通过JNDIde命名服务完成de.运用一个命名服务来查找与一个特定名字相关de一个对象.在EJB context中,一个命名服务找到一个企业bean,给定这个beande名字.因此,了解JNDI在开发一个EJB应用程序中是至关重要de.另外,JDBC可以用JNDI来访问一个关系数据库.
其它工具
了解在哪里可以找到特定de支持工具通常有助于de您de事业de发展.例如,如果您碰巧被分配去做关于基准de任务,那么您如果知道您可以从ApachedeJakarta Project下载Jmeter,您就会很高兴.另外,如果您需要以PDF格式发送输出结果,建议您从http://www.lowagie.com/iText/运用可以免费下载deJava-PDF库.Internet技术范围很广而且发展很快.这就是说,作为一个Web程序员,您应该时时留心业界出现了什么新技术,发生了什么大事.在这个方面,没有什么比Internet本身更伟大de资源了.
关于作者:
Java for the Web
with Servlet, JSP, and EJB
Budi Kurniawan是位IT顾问,他专门从事Internet和面向对象de编程,并教授Java和Microsoft技术.他是销量很好deJava for the Web with Servlets, JSP, and EJB: a Developer’s Guide to Scalable Solutions (New Riders)一书de作者,他还开发了最受欢迎deJava Upload Bean,您可以从BrainySoftware.com得到它,许多重要de公司都得到许可并将它用于项目中了.Budide联系方式是budi@brainysoftware.com.