热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

指南:想成为一个JSP网站程序员吗?

指南:想成为一个JSP网站程序员吗?

任何Web开发人员需要必备的技巧主要有以下这些技术。

开发Web应用程序的技术已经变得更成熟、更复杂了。现在,构建一个Web应用程序不仅仅需要简单的HTML技术了。数据库访问、脚本语言和管理都是一个Web程序员需要具备的技术。让我们来看看要成为一个市场上受欢迎的Web开发人员都需要些什么技能吧。

自从CERN(欧洲粒子物理研究所),日内瓦附近的高能物理研究中心,在1991年发布了Web以来,Web技术已经从静态的内容和Common Gateway Interface(CGI)发展成servlet技术和JavaServer Pages了。然而,在这个竞争更激烈的社会中,一个Web程序员需要更多的知识。例如,如果在面试中,你提到你熟悉XML并在JNDI方面有些经验(这两种技术初看似乎同Web编程没有很紧密的关系),那么你就会给你未来的老板留下更深的印象。设想你已经了解了Java编程语言和面向对象的编程,下面还有两组技术是一个Web开发人员日常工作中所需要的。第一组包括每个Web程序员必须具备的技术。第二组包含要想成为一个高级程序员所应该掌握的技术。

基本技能
如果想称自己是个Web开发人员,下面就是必须具备的技术。

HTML(HyperText Markup Language)
HTML几乎是显示在浏览器上所有内容的语言。难怪HTML就好像是一个Web程序员的生存本能一样。如果你仍需要在你的HTML中查找或,那么你真的需要提高你的HTML技术了。HTML的当前版本是4.01,你可以从http://www.w3.org/TR/1999/REC-html401-19991224/了解更多关于它的内容。

Servlets和JSP
Java servlet技术是开发Java Web应用程序的主要技术。它是由Sun Microsystems在1996年开发的,当前的版本是2.3,但人们正在为版本2.4做准备。

JSP是servlet技术的扩展,现在的版本是1.2(2.0版将很快定下来)。有人认为JSP是servlets的替代,但实际并不是这样的。Servlets和JSP是一起用于复杂的Web应用程序的。

用Java进行Web编程的一个好的开端就是学习servlet技术。即使你打算在你的Web应用程序中只运用JSP页面,你仍需要学习servlet技术。在更复杂的Web应用程序中,JSP页面只用于显示,而JavaBeans和自定义标签库用来嵌入商业逻辑。即:你也必须精通JavaBeans和自定义标签库。


Javascript
Javascript是运行于所有的主要的浏览器中的脚本语言。你用Javascript来进行客户端的编程。客户端编程中最重要的工作就是确认用户输入。运用客户端输入验证的好处是减少服务器的工作量并提高响应时间。另外,Javascript可以用于重新定向(redirection)、COOKIE处理、控制applets、创建导航树、打开一个浏览器的一个新的实例、等等。

SQL(Strutured Query Language)和JDBC(Java Database Connectivity)
如今,大多数Web应用程序都包括访问关系数据库中的数据。作为一个Web程序员,你需要知道如何存储、得到并操作数据库中的数据。有时侯,你也需要设计数据库,构建数据库中的表和其它结构。SQL就是用来操作数据库中数据的语言。你通常需要编写SQL语句(常常是动态的),把它们传递到数据库服务器,并得到返回的数据(如果有的话)。

运用Java语言,你需要用JDBC来帮助Web应用程序和数据库服务器进行通讯。JDBC有两部分:JDBC Core API(Application Programming Interface)和JDBC Optional Package API。第一组用来执行基本的数据操作,如创建一个连接或读取、更新并删除一个表中的记录。第二组提供更高级的数据库连接功能,如连接池、事务和RowSet。JDBC的当前版本是3.0,API包含在J2SE v. 1.4中。

Web Container管理和应用程序部署
你的servlets和JSP页面在一个叫做servlet/JSP container或Web container的引擎中运行。你至少需要知道如何为测试以及生产运行部署你的Web资源。例如,如果你运用Tomcat,你需要了解的一件事就是如何映射配置文件(server.xml)中的应用程序,使Tomcat知道如何调用你的JSP页面。另外,你需要知道在哪里保存你的库以及如何创建应用程序部署描述符。

XML(eXtensible Markup Language)
XML是计算机领域中一个成功的后起之秀。由World Wide Web Consortium在1996年开发,XML现在已经是用于数据交换和可扩展数据结构的一个广泛的、公认的标准了。XML在Java Web开发中扮演着一个重要的角色。例如,每个应用程序的部署描述符都是XML格式的。而且,如果你在开发Web servies,你就会用到SOAP(Simple Object Access Protocol),它主要是基于HTTP和XML的。

另外,在Web应用程序中,XML也可能用于存储分等级的数据。

Model 2结构
这种技术在该类别中是最先进的。建议用这种结构来构建相当复杂的Java Web应用程序。Model 2结构是基于Model-View-Controller设计范例的。

高级技术
下面这些技术可以将你同初学者区别开来。

JSTL(JSP Standard Tag Libraries)、Jakarta Taglibs项目和其它库
为了加速应用程序的开发,你应该经常重用代码。简单地说,代码重用就是,如果有人已经编写了用来执行某些功能的代码,你最好就去用那些代码,而不要自己编写了。因此,JSP可以让你运用自定义标签。你可以运用几个库,最受欢迎的是Apache的Jakarta Taglibs项目中的库。从http://jakarta.apache.org/taglibs/index.html可以下载这个包,你在开始创建新类前,可以运用在这个包中找到的任何现成的东西。

JSTL最近已经成为了一个标准。其它标签库可以免费或以商业方式得到。

Apache的Struts项目
Struts是一个Apache赞助的公共资源项目,它为构建Model 2 Java Web应用程序提供了一个构架。Struts为MVC结构提供它自己的Controller组件,将EJB、JDBC和JNDI用于Model,将JSP和其它技术用于View。你可以从它的网站找到更多关于这个项目的更详细的信息:http://jakarta.apache.org/struts/index.html。

XHTML(Extensible HyperText Markup Language)
XHTML是努力将HTML和XML结合起来的一种技术。你可以把XHTML当作下一代的HTML。其当前的版本是1.0(第二版是于2002年8月1日发布的),XHTML还没有像HTML那么流行,但它在将来会发挥更重要的作用。根据Web设计专家Molly Holzschlag的观点,推动各个公司转向XHTML的主要原因是美国的关于公开访问(accessibility)的法律。更多关于XHTML的信息,参阅Holzschlag访谈。

DHTML(动态HTML)
DHTML可以允许人们在你的网站上进行更多的交互。例如,运用DHTML,当用户移动鼠标到一个链接上时,你就可以很容易地创建并显示子菜单。运用DHTML的最大的挑战是创建跨浏览器的页面。的确,在理论上,页面设计应该是由美工处理的,其中动态的HTML是通过运用一个工具而产生的。然而,一个Web程序员通常要负责集成所有的部分,如果在页面中生成的代码被破坏了,你就需要了解DHTML来修理它。

Applet 编程
Applets曾经在提供交互性方面很重要,尤其在DHTML出现前。现在,applets的作用被削减了,更多的程序员已经不用applets了。Microsoft决定在它的新浏览器中不为applets提供缺省的支持极大地削减了applets在Web应用程序中的作用。然而,applets并没有消亡。对于某些任务,如显示新闻标题,applets仍然是不可替代的,而且applets不会产生另人头痛的跨浏览器兼容方面的问题。

HTTP协议
Java Web程序员通常运用比HTTP更高的协议,如运用servlet和JSP APIs。这些APIs隐藏了HTTP协议的复杂性。因此,你仍可以构建重要的应用程序而不需要知道多少关于HTTP协议的知识。只有当你需要处理原始数据,比如将文件作为附件上载或传送时,你才需要更多关于协议的知识。

EJB(Enterprise JavaBeans)
EJB是J2EE的一部分,当可扩展性和强大性是你的Web应用程序的主要需求时,EJB就很重要。在当前规范(EJB 2.0)中有三种类型的EJBs:会话(session)EJBs、实体(entity)EJBs和消息驱动的(message driven)EJBs。新的规范,2.1版,正在设计中。

JNDI(Java Naming and Directory Interface)
当你在开发企业beans时,JNDI很重要,因为对一个EJB的访问是通过JNDI的命名服务完成的。运用一个命名服务来查找与一个特定名字相关的一个对象。在EJB context中,一个命名服务找到一个企业bean,给定这个bean的名字。因此,了解JNDI在开发一个EJB应用程序中是至关重要的。另外,JDBC可以用JNDI来访问一个关系数据库。

其它工具
了解在哪里可以找到特定的支持工具通常有助于的你的事业的发展。例如,如果你碰巧被分配去做关于基准的任务,那么你如果知道你可以从Apache的Jakarta Project下载Jmeter,你就会很高兴。另外,如果你需要以PDF格式发送输出结果,建议你从http://www.lowagie.com/iText/运用可以免费下载的Java-PDF库。Internet技术范围很广而且发展很快。这就是说,作为一个Web程序员,你应该时时留心业界出现了什么新技术,发生了什么大事。在这个方面,没有什么比Internet本身更伟大的资源了。


关于作者:

Java for the Web
with Servlet, JSP, and EJB
Budi Kurniawan是位IT顾问,他专门从事Internet和面向对象的编程,并教授Java和Microsoft技术。他是销量很好的Java for the Web with Servlets, JSP, and EJB: a Developer's Guide to Scalable Solutions (New Riders)一书的作者,他还开发了最受欢迎的Java Upload Bean,你可以从BrainySoftware.com得到它,许多重要的公司都得到许可并将它用于项目中了。Budi的联系方式是budi@brainysoftware.com。


推荐阅读
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
author-avatar
Echocc07
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有