JSP应用开发 -------- 电纸书

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP应用开发 -------- 电纸书相关的知识,希望对你有一定的参考价值。

第 1 章:JSP及其相关技术导航作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

JSP程序员常用的技术

 

第1章 JSP及其相关技术导航

【本章专家知识导学】

JSP是一种编程语言,也是一种动态网页开发技术,要用它完成实践项目工程的开发,需要掌握的知识点比较多。为了让读者对JSP这一开发技术的知识体系有个全面、清晰的了解,为后续的学习打下基础,本章将首先讲述作为一名JSP程序员应该掌握的技术知识体系和本书的内容安排。接着,对JSP技术进行了简要的介绍,使读者了解JSP技术的功能和优势。读者在读完本章后,应当能够了解要成为一个优秀的JSP程序员所要掌握的知识内容,并对JSP技术的要点有了一个整体性的认识,从而在以后的学习中做到有的放矢,完善自己的知识积累。

1.1 JSP程序员常用的技术

如今,开发Web应用程序的技术已经变得相对成熟与复杂了。构建一个Web应用程序不仅仅需要基本的html知识,还需要开发者对数据库访问、脚本语言和Web应用服务器管理等方面的知识有所了解,下面介绍JSP程序员常用的一些技术。

1.HTML语言

HTML语言(Hypertext Marked Language,超文本标记语言)是一种用来表示网页中的信息的符号标记语言。通过使用HTML可以在Web页面中加入图片、声音、动画、视频等内容,从一个文件跳转到另一个文件,自由链接。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX、Windows等)。自1990年以来HTML就一直被用作Internet上的信息表示语言,它是Web程序员需要掌握的基础知识。

JSP技术是一种主流的开发动态网页的技术,JSP程序员理所当然应熟悉HTML。虽然现在制作网页的可视化开发工具很多,功能也强大,例如Dreamweaver、FrontPage,可以自动生成HTML文件中的部分代码,但是在开发过程中,很多地方仍然要求开发人员手工修改HTML代码。所以,作为一个合格的JSP程序员必须要熟练掌握HTML。

2.JavaScript脚本语言

HTML仅仅是一种标记语言,用它可作的事是有限的。用HTML创建的网页是静态的,这种网页不能处理和应答用户的客户端活动。例如,Web页面可能要求用户必须输入用户名、密码等信息,如果用户没有输入这些信息,网页要给出提示信息。如果为了核对用户输入是否为空,把数据送到服务器处理,然后服务器再返回处理结果,这样势必导致大量的网络通讯量。如果这些工作可以在客户端得到处理,将大大降低服务器的负担和网络的通讯量。正是Web网页可交互性的需要导致了脚本语言的出现。脚本语言使网页变成了可交互式的,它允许开发者获取客户端的每个事件,但无需与服务器交互。所以,掌握一种脚本语言成为JSP程序员的必备技能。

推荐读者使用目前最流行的脚本语言javascript。JavaScript是一种独立的编程语言,它与Java没有任何关系。JavaScript与Java的区别比较大。首先,JavaScript是一种解释性语言,用JavaScript语言写出的脚本不用编译就可在客户端浏览器上执行,而Java语言编写的程序在执行前是要被编译的。其次,如JavaScript这样的解释语言没有复杂的语法和规则,因此比Java这种被编译语言更容易学习。JavaScript编写的脚本都是集成在HTML当中,用于处理客户端的交互活动,而且是不可扩展的,而Java应用不与HTML直接集成。总之,JavaScript语言与Java语言是性质完全不同的两种语言,两者使用的领域范围不同,两者所能实现的功能也有区别。

3.Java语言基础

Java是JSP的基础,要学习JSP技术,Java基础是必不可少的。在用JSP技术编写Web页面时,很多时候要用到Java语言和Java编程的思想,所以如果读者想深入学习JSP技术,就必须对Java语言有深刻的理解。

Java是一种简单易用、完全面向对象、具有平台无关性、安全可靠的主要面向Internet的编程语言。自它问世以来,Java的快速发展和广泛应用已经让整个Web世界发生了翻天覆地的变化。随着Java Servlet和Java Server Page技术的推出,Java开发工具的功能不断强大,Web服务器软件功能的增强,Java已成为主流的软件开发语言之一。

4. SQL和JDBC

如今,大多数Web应用程序需要访问关系数据库中的数据。作为一个JSP程序员,你需要知道如何存储、得到并操作数据库中的数据。有时候,也需要设计数据库,构建数据库中的表和其他结构。SQL(Strutured Query Language,结构化查询语言)就是用来操作数据库中数据的语言。程序员通常需要编写SQL语句(常常是动态的),把它们传送到数据库服务器,再由数据库服务器执行SQL语句并返回SQL语句执行的结果。

Java语言中需要使用JDBC来帮助Web应用程序和数据库服务器进行通信。JDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这样就使得独立于数据库管理系统的Java应用程序统一了开发接口,便于模块化开发。在Windows操作系统中,还可以使用JDBC-ODBC桥驱动程序,这样只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。

5.Web 服务器管理和应用程序的部署

服务器是对Web浏览器检索信息的请求做出响应,进而将HTML文档回传到客户机的浏览器。JSP页面和Java Servlet必须在特定的Web服务器中运行。因此,你至少需要知道如何配置Web服务器,以及如何为测试、生产运行应用程序而部署相关的Web资源。例如,如果运用Tomcat,你需要了解怎样安装配置它,需要了解如何映射配置文件(server.xml)中相关的应用程序,使Tomcat知道如何调用JSP页面、Servlet组件等资源。

推荐读者使用现在最流行的Web服务器中间件软件Tomcat、Weblogic或Websphere,其中Tomcat是开源免费的,读者可以从http://www.apache.org网站下免费下载得到,本书也将使用Tomcat作为Web服务器端的中间件软件。

6.XML

XML是计算机技术领域中的后起之秀,由World Wide Consortium在1996年开发,现在已经是用于数据交换和可扩展数据结构的一个广泛的、公认的标准了。JSP在其发展过程中也越来越强调XML的语言格式,XML在Java Web开发中扮演着越来越重要的角色。为什么要用XML的相容语言来架构JSP呢?因为作为XML文档的JSP将会得到很多好处,例如:

?一个标准的XML相容的JSP语法将有助于JSP的开发。

?JSP文件的XML语法使得JSP文件的内容很容易被组织和管理。

?可以使用XML的开发和分析工具来开发和分析JSP,仅仅需要更换DTD文件就可以升级到最新版本的JSP。

?XML格式统一的语法更容易学习和使用。

7.Java Servlet

Java Servlet是JSP技术的基础,而且大型的Web 应用程序的开发常使用Java Servlet和JSP结合来实现。

Java Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web 程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率相对低下的CGI技术了,也不必使用只能在某个固定Web 服务器平台运行的API方式来动态生成Web 页面。许多Web 服务器都支持Servlet,即使不直接支持Servlet的Web 服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上只要符合Java Servlet规范,Servlet是完全平台无关且是Web 服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。

但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程会给程序员带来相当大的工作量,对程序员要掌握的知识水平和深度也要求比较高,这就是为什么SUN还要推出JSP的原因。JSP编写起来简单多了,但最终在执行时会先由Web容器先转换成Java Servlet,再由Web容器编译执行,所以一个JSP页和一个Java Servlet是一一对应的。

8.JavaBean和JSTL

在复杂的Web应用程序中,JSP页面只用于显示数据,而JavaBean和标签用来实现业务逻辑。

什么是JavaBean?JavaBean就是Java中的可重用组件。ASP.NET通过COM来扩充复杂的功能,如文件上载、发送email等业务处理功能或复杂的计算功能,可以将它们分离出来成为独立的可重复利用的模块。JSP通过JavaBean实现了同样的功能扩充。JSP为在Web 应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,负责与数据库的交互等。

和传统的ASP或php页面相比,JSP页面将会是非常简洁的,由于JavaBean开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理的过程实际上被封装到了JavaBean中。

什么是JSTL呢?JSTL(JSP Standard Tag Libraries,JSP标准标签库)就是存储了可复用代码的标准标签库。为了提高应用程序的开发效率,就可以使用JSTL中已有的标签。此外,通过扩展程序员也可以编写自已的标签;一些框架技术也提供了一些用在JSP页面中的标签,如Struts提供的Struts HTML标签。

 
 
 
 
 

第 1 章:JSP及其相关技术导航作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

JSP概述

 

随着Internet的出现,整体应用架构被改变为多层次的“客户机/服务器”架构。Sun公司在1999年推出了JSP技术。此后,JSP很快引起了人们的关注,目前已经成为开发动态网页的主流技术之一。下面我们将对JSP技术进行一个全面、清晰的介绍。

 
 
 
 

第 1 章:JSP及其相关技术导航作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

Web开发技术的发展

 

1990年11月,Tim Berners-Lee在自己编写的图形化Web浏览器“WorldWideWeb”上看到了最早的Web页面。1991年,CERN(European Particle Physics Laboratory,欧洲粒子物理研究中心)正式发布了Web技术标准。目前,与Web相关的各种技术标准大多由著名的W3C组织(World Wide Web Consortium)进行管理和维护。

Web服务器端的开发技术是由静态向动态逐渐发展、完善起来的。最早的Web服务器简单地响应浏览器发来地HTTP请求,并将存储在服务器上的HTML文件返回给浏览器。当时只有一种名为SSI(Server Side Includes)的技术可以让Web服务器在返回HTML文件前,更新HTML文件的某些内容,但其功能非常有限。第一种真正使服务器可以动态生成HTML页面的技术是CGI(Common Gateway Interface,公共网关接口)。1993年,CGI1.0的标准草案由NCSA(National Center for Supercomputing Application)提出;1995年,NCSA又开始制定CGI1.1标准;1997年,NCSA又开始讨论CGI1.2标准。CGI技术允许服务器端的应用程序根据客户端的请求动态生成HTML页面,这使客户端和服务端的动态信息交换成为了可能。随着CGI技术的普及,聊天室、论坛、电子商务、信息查询、全文检索等Web应用蓬勃发展起来,人们终于可以享受到信息检索、信息交换、信息处理等更为便捷的信息服务了。

早期的CGI程序大多是编译后的可执行程序,其编程语言可以是C、C++、Pascal等任何通用的程序设计语言。为了简化CGI程序的修改、编译和发布过程,人们开始探寻用脚本语言实现CGI应用的可行方式。在此方面,不能不提的是Larry Wall于1987年发明的Perl语言。Perl语言结合了C语言的高效以及SH、AWK等脚本语言的便捷,似乎天生就适合于编写CGI程序。1995年,第一个用Perl语言编写的CGI程序问世。很快,Perl在CGI编程领域的风头就盖过了它的前辈C语言。随后,Python等著名的脚本语言也陆续加入了CGI编程语言的行列。

1994年,Rasmus Lerdorf发明了专用于Web服务器端编程的PHP(Personal Home Page Tools)语言。与以往的CGI程序不同,PHP语言将HTML代码和PHP指令合成为完整的服务端动态页面,Web应用的开发者可以用一种更加简便、快捷的方式实现动态Web功能。1996年,Microsoft借鉴PHP的思想,在其Web服务器IIS3.0中引入了ASP技术。ASP使用的脚本语言编程时使用的是我们熟悉的VBScript和JavaScript。借助Microsoft Visual Studio等开发工具在市场上的成功,ASP迅速成为Windows系统下Web服务端的主流开发技术。

当然,以Sun公司为首的Java阵营也不会示弱。1997年,Servlet技术问世,1999年,JSP技术诞生。Servlet、JavaBean技术和JSP的组合让Java开发者同时拥有了类似CGI程序的集中处理功能和类似PHP的HTML嵌入功能,此外,Java的运行时编译技术也大大提高了Servlet和JSP的执行效率,这正是Servlet和JSP被后来的J2EE平台吸纳为核心技术的原因之一。

 
 
 
 

第 1 章:JSP及其相关技术导航作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

JSP技术概述

 

作为一种动态网页表现层的开发技术,JSP提供了Java Servlet 的所有好处,并且,当与一个JavaBean类结合在一起时,提供了一种使内容和显示逻辑分开的简单方式。分开内容和显示逻辑的好处是,更新页面外观的人员不必懂得Java代码,而编写JavaBean类代码的人员也不必是设计网页的行家里手,就可以用带JavaBean类的JSP页面来定义Web 模板,以建立一个由具有相似的外观的页面组成的网站。JavaBean类完成数据处理逻辑,这样在页面模板中就可以只书写少量的Java代码,这意味着这些模板可以由一个HTML 编写人员来维护。当然,也可以利用Java Servlet来控制网站的逻辑,通过Java Servlet调用JSP文件的方式来将网站的逻辑和内容分离。

然而,Java Servlet最适用于不需要频繁修改的网页,而JSP页面则通过以显示为中心的描述性的方法将动态内容和逻辑结合在一起。通过JSP页面还可以使用定制标记或者Scriptlet,而不是使用JavaBean类来将内容与应用逻辑结合起来。定制标记被打包到一个标记库中,并被引入到一个JSP页面中。Scriptlet是直接嵌入在JSP页面中的Java代码段。

在JSP引擎中,JSP页面在执行时是编译式,而不是解释式的。解释式的动态网页开发工具如ASP、PHP等由于效率不高、编写不便等原因已经满足不了当前大型电子商务应用的需要了,传统的开发技术都在向编译执行的方式改变,如ASP→ASP.NET。JSP页面被编译为Servlet的Java源文件,再经过Java编译器编译为Servlet的class文件。在JSP文件转译为Servlet以后,每次客户机(通常是用户的Web 浏览器)向服务器请求这一个JSP文件的时候,服务器将检查自上次编译后JSP文件是否有改变,如果没有改变,就直接执行Servlet,而不用再重新编译,其效率是相当高的。一般地,Web服务器还可以作出设置,使JSP文件在第一个用户访问之前就预先编译好,这样执行的效率就更高了。

 
 
 
 

第 1 章:JSP及其相关技术导航作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

JSP的优势及与其他Web开发语言的比较

 

和传统的CGI相比较,JSP有相当的优势。首先,在速度上对于CGI来说,每一个访问就需要新增加一个进程来处理,进程不断地建立和销毁对于作为Web 服务器的计算机将是不小的负担。JSP可以用线程的方式来应对客户端的访问,这样需要消耗的系统资源更小。JSP是专门为Web开发而设计的,其目的是为了建立基于Web的应用程序,包含了一整套的规范和工具。

和ISAPI和NSAPI相比较,JSP的开发速度要快得多,开发难度也要小得多。而且ISAPI和NSAPI这种和Web 服务器过于紧密结合的技术在使用时的一旦出现错误,有可能导致Web 服务器崩溃,而JSP是线程安全的,且没有诸如C语言中的指针之类的操作内存的机制,因此编写出来的程序显得更加安全和可靠。

JSP的竞争对手是ASP.NET和PHP,在Web 技术方面ASP.NET、PHP和JSP的比较见表1-1。

表1-1 ASP.NET、JSP、PHP比较

 

技术分享

1. Web 服务器和运行平台

ASP.NET主要应用于Windows平台,在添加组件后也可以用于Linux平台。尽管有第三方的插件号称可以在UNIX下使用ASP.NET,但ASP.NET经常需要使用COM组件封装已有的程序模块,而UNIX平台并不支持COM。

JSP得益于Java的跨平台性,它可以在许多平台下使用。

Apache Web Server是世界上占有率最高的Web 服务器产品,可以在包括SUN Solaris、IBM AIX、Linux和Windows在内的许多操作系统下运行。Apache Web Server下JSP的实现可以通过免费的Apache Jserv 和GNUJSP、Jakarta-Tomcat实现,也可以使用商业的JRUN (LiveSoftware)、WebLogic(BEA)、Websphere(IBM)来实现。

还可以使用应用服务器添加JSP支持的Netscape Enterprise Server及由之发展而来的可以直接支持JSP的iPlanet Web Server等等。

PHP本身就对各种操作系统和Web 服务器做了支持,PHP目前可以作为Apache的一个附加模块直接编译进入Apache中去,由于Apache支持多种操作系统,PHP相应地也就可以在各种操作系统上实现。PHP也可以CGI方式或ISAPI方式插入到IIS或PWS中去。

2. 组件技术

ASP.NET和JSP对组件技术的支持已经比较完善了,而PHP直到前不久才开始支持COM,但支持能力还不够强,如果PHP不能在将来完善对组件技术的支持,在大型Web 应用程序方面将很难与JSP和ASP竞争。但由于PHP技术本身的易学易用,加上众多的函数支持和开放源代码的特性,在中小型Web 站点的开发上,PHP还是会占有一席之地的。

JSP本身相对于ASP.NET和PHP并没有明显的优势,JSP的强大是因为其后面有强大的Java技术做支持。包括JavaBean和EJB技术在内的J2EE技术体系是JSP强大生命力的所在。

有理由认为,在将来的Web 开发中,中小型站点将出现JSP、ASP.NET和PHP三分天下的局面,但是对于大型的电子商务站点,JSP与ASP.NET技术将成为首选。

 
 
 
 

第 1 章:JSP及其相关技术导航作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

用JSP开发Web应用程序的几种主要方式

 

JSP作为J2EE的一部分,既可以用于开发小型的Web 站点、也可以用于开发大型的、企业级的应用系统,本节将讲述对于不同规模的Web 系统,使用JSP进行开发的不同方式。

1.直接使用JSP

对于最小型的Web 站点,可以直接使用JSP来构建动态网页,这种站点最为简单,所需要的仅仅是简单的留言板、动态日期等基本的功能。对于这种开发模式,一般可以将所有的动态处理部分都放置在JSP的Scriptlet中,这有些类似于使用PHP或ASP开发动态网页。

2.JSP+JavaBean

中型站点面对的是数据库查询、用户管理和少量的商业业务逻辑。对于这种站点,不能将所有的程序都编写在JSP页面中。利用JavaBean,将很容易完成如数据库连接、用户登录与注销、购物车等商业业务逻辑封装的任务。如:将常用的数据库连接写为一个JavaBean,既方便了使用,又可以使JSP文件简单而清晰,通过封装,还可以防止一般的开发人员直接获得数据库的控制权。

3.JSP+JavaBean+Servlet

无论用ASP还是PHP开发动态网站,长期以来都有一个困扰着的问题,就是网站的逻辑关系和网站的显示页面不容易分开。常常可以看见一些夹杂着if......then......、case select或是if{......}和大量显示用的HTML代码的ASP、PHP页面,即使是有着良好的程序写作习惯的程序员,其作品也几乎无法阅读。另一方面,动态Web的开发人员也在抱怨,将网站美工设计的静态页面和动态程序合并的过程是一个异常痛苦的过程。

如何解决这个问题呢?有了JSP后,表现数据的任务由JSP完成,而Servlet不再担负动态页面生成的任务,却开始担负起决定整个网站逻辑流程的任务。在逻辑关系异常复杂的网站中,借助于Servlet和JSP良好的交互关系和JavaBean的协助,完全可以将网站的整个逻辑结构放在Servlet中,而将动态页面的输出放在JSP页面中来完成。在这种开发方式中,一个网站可以有一个或几个核心的Servlet来处理网站的逻辑,通过调用JSP页面来完成客户端(通常是Web浏览器)的请求。

 
 
 
 

第 1 章:JSP及其相关技术导航作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

小结

 

目前JSP技术已经成为了开发Web应用的主流技术,在国内外得到了广泛的应用。本章主要是对JSP的知识体系和技术特点作概括性的介绍,使读者对JSP有一个整体的了解。

JSP技术不是一项孤立的技术,如果仅仅掌握了JSP技术本身将难以满足实际开发的需要。想成为一名优秀的JSP开发人员,必须掌握与JSP技术密切联系的HTML、数据库开发、应用服务器的安装与配置、XML等知识。

JSP、ASP.NET和PHP是当今主流的Web开发技术。JSP与ASP.NET和PHP相比有许多优势,例如跨平台、可以利用J2EE分布式计算能力、使业务逻辑与页面分离。另外,JSP开发Web应用程序时主要有3种方式,分别是直接使用JSP、JSP+JavaBean、JSP+JavaBean+Servlet。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

Java开发工具

 

第2章 开发环境的安装与配置

【本章专家知识导学】

开发环境的安装与配置是学习jsp程序开发的第一步。本章将讲述目前比较流行开发环境的基础知识以及安装、配置方法,诸如JDK、Eclipse等。读者要融会贯通地掌握它,如果已经比较熟悉的读者可跳过本章的学习。Eclipse和Tomcat的安装与配置是本章的重点,希望读者能熟练掌握。

本章还将引入配置管理工具和中间件的概念。软件配置用来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护,对复杂、大型的软件项目开发具有很强的实用意义。

2.1 Java开发工具

本节主要介绍JDK和Eclipse。JDK是开发Java程序所需要的基本开发工具,Eclipse是目流程的Java集成开发工具。

 

 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

JDK

 

Sun公司在推出Java语言的同时,推出了一套开发工具JDK,JDK提供了Java开发常用的类库。JDK开发工具有Solaris、Windows NT、Windows 95等多种版本,本节介绍JDK1.5版,包括javac、ja-va、jdb、javah、javap、javadoc和appletview等工具,涵盖了对Java源文件的编译,执行Java字节码文件等工具。

读者可以从Sun公司的网站http://www.sun.com上免费下载得到JDK的安装文件,也可以从如下的网址下载得到JDK1.5:

http://jvm.cn/soft/jdk-1_5_0_08-windows-i586-p.exe

javac,即Java语言编译器,是JDK提供的重要工具之一,能够把由Java语言书写的程序编译成字节代码。 

(1)javac使用的语法格式

javac [选项] 文件名.java 

(2)javac的功能

javac命令把Java语言源码编译成字节码,字节码文件的扩展名为.class。Java源程序文件名后缀必须是java。javac编译器对每一个Java源文件中定义的类,生成一个保存编译结果字节码的文件,其后缀为class。如果程序中需要引用另一个类,则需要使用classpath环境变量指明存放路径。如果在源程序中引用了一个在该目录下其它文件中都没定义的类,则javac搜寻classpath指明的类路径。 

【专家提示】如果没有指定-classpath参数,系统总是把系统变量CLASSPATH中设置的类路径附加到类路径中。 

(3)语法中有关[选项]的说明

-classpath类路径:指定javac搜寻类的路径,覆盖CLASSPATH环境变量指定的类路径。目录名由冒号(:)分开,如:home/awh/classes:/usr/local/java/classes。

-d 目录:指定存放编译结果的类根目录。

-g :生成调试表。调试表包含调试工具使用的行号和局部变量信息。缺省时只有行号信息。

-nowarn:关闭警告错误。使用该选项后编译器不生成任何警告错误。 

-O:通过嵌入静态、final、私用方法优化编译代码。注意,使用该选项后结果文件的大小会增加。 

-verbose:使编译器和链接器显示出正被编译的文件名和正被装载的类名。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

Eclipse

 

2001年11月IBM出资4千万美金开发的软件开放源码项目——Eclipse问世。Eclipse 是替代IBM Visual Age for Java(以下简称IVJ)的下一代IDE开发环境,但它未来的目标不仅仅是成为专门开发Java程序的IDE环境,还能通过开发插件,扩展到任何语言的开发。目前,Eclipse已经开始提供C语言开发的功能插件。Eclipse是一个开放源代码的项目,也就是说未来只要有人需要,就会有建立在Eclipse之上的COBOL、Perl、Python等语言的开发插件出现。

Eclipse是开放源代码的项目,读者可以到http://www.eclipse.org去免费下载Eclipse的最新版本,这个网站上提供了几个下载版本:Release,Stable Build,Integration Build和Nightly Build,建议下载Release或Stable版本。Eclipse本身是用Java语言编写,但下载的压缩包中并不包含Java运行环境,需要用户自己另行安装JRE。

技术分享

图2-1 Eclipse显示的缺省界面

下面将分别对Eclipse的各种特性作简单介绍,包括:文件存放,开发环境,编译与运行,版本管理,使用插件。 

(1)文件存放 

Eclipse把所有的源代码都存储到一个reponsitory库文件中,想要得到文本格式的源代码必须用Export功能从reponsitory中导出以文本方式保存的源代码。安装Eclipse之后,在安装路径的下一层路径中会有一个叫workspace的文件夹。每当在Eclipse中新生成一个项目,缺省情况下都会在workspace中产生和项目同名的文件夹以存放该项目所用到的全部文件。可以用Windows资源管理器直接访问或维护这些文件。 

将已有的文件加入到一个项目中目前有三种方式:第一种是用IDE的“File”菜单中的“Import”功能将文件导入到项目中。第二种是从Windows的资源管理器中直接拖动文件到项目中。第三种就是直接将文件拷贝到项目文件夹中,然后在Eclipse的资源浏览窗口中选择项目或文件夹并执行从本地刷新功能(Refresh from locate)。需要说明的一点是,项目文件夹可以放在计算机的任何位置,并且可以在Eclipse中用新建项目的方法将项目路径指定到已经存在的项目文件夹,然后在Eclipse中刷新即可。

(2)Eclipse开发环境 

Eclipse的开发环境被称为Workbench,它主要由三个部分组成:视图(Perspective),编辑窗口(Editor)和观察窗口(View)。

技术分享

图2-2 关系结构略图

文件的显示和编辑包含在编辑窗口里。缺省情况下打开的多个文件是以标签(TagTable)方式在同一个窗口中排列,可以用拖动方式将这些文件排列成各种布局。

文件被加入到项目中后,在资源浏览或Java包浏览窗口双击文件,Eclipse会试图打开这个文件:其中Eclipse内嵌的编辑器能缺省打开一些文件,如*.java,*.txt等等。如果是其它类型的文件,Eclipse会调用操作系统相应的缺省编辑器打开,如word文档。例如在Eclipse项目中双击HTML文件时,可能希望是用Notepad打开,而不是用系统缺省的IE浏览器打开。实现的方法是打开菜单栏中的“Windows”→“Preferences”对话框,之后在对话框中选择“WorkBench”→“File Associations”,然后添加文件类型,再为其指定编辑器即可。 

浏览窗口和Java浏览窗口是观察窗口核心部分。后者用来浏览项目中的Java包,包中的类,类中的变量和方法等信息。类中的编译出错信息可以在任务窗口中查到,同时它也可以成为名符其实的任务窗口:向其中添加新的任务描述信息,来跟踪项目的进度。控制台则主要用来显示程序的输出信息。

一个视图包括一个或多个编辑窗口和观察窗口。视图是Eclipse的最灵活的部分,可以自定义每个视图中包含的观察窗口种类,也可以自定义一个新视图。这些功能都被包括在"Perspective" 菜单中。在Eclipse的Java开发环境中提供了几种缺省视图,如资源视图(Resource Perspective),Java视图(Java Perspective),调试视图(Debug Perspective),团队视图(Team Perspective)等等。每一种视图都对应不同种类的观察窗口。可以从菜单栏中的“Windows”→“Show View”看到该视图对应的观察窗口。

(3)编译与运行 

在Java视图中,工具栏中有两个按钮如图2-3所示,分别用来进行调试和运行程序。由于安装的插件不同Eclipse可能会存在多种运行和调试程序的方式,为了确定当前项目用那一种方式运行,需要在“Run”菜单中设置“Run As…”或“Debug As…”选项。通常我们需要用的是“Java Applicantion”方式。在这种方式下,如果当前位置是包含main()方法的Java程序,点击调试或运行按钮就会立即开始执行调试或运行功能。如果当前位置是在包或项目上,Eclipse会搜索出当前位置所包含的所有可执行程序,然后由程序员自己选择运行哪一个。 

技术分享

图2-3  Eclipse的工具栏中的运行与调试按钮

(4)版本管理 

Eclipse的版本管理分为个人(或称为本地)和团队两种。 

Eclipse提供了强大的个人版本管理机制,每一次被保存的更改都可以得到恢复。而且可以精确到每一个方法的版本恢复。操作也十分方便,在任何一个能看到所要操作文件的观察窗口中,例如资源浏览窗口,选中该文件,点击右鼠标键,选择“Compare with”或“Replace with”,按照你的需求找到相应的版本就可以了。强大的个人版本管理功能为程序员提供了更多的安全保障。

Eclipse缺省为版本管理工具CVS提供了接口,可以非常方便的连接到CVS服务器上。CVS的指示我们后面还会遇到。通过CVS版本管理,Eclipse为团队开发提供良好的环境。要连接CVS服务器需要先打开团队视图(Team Perspective),然后在Reponsitories观察窗口中点击鼠标右键并选择新建(New),在打开的对话框中可以填入要连接的CVS库所需要的信息,如CVS服务器类型,还要填入用户名,主机名,密码,reponsitory地址等信息。 

(5)使用插件 

使用插件可以丰富Eclipse的功能。下面将介绍如何应用插件来嵌入Tomcat服务器。这个插件是一家叫sysdeo的公司开发的,非常小巧。读者可以到http://www.sysdeo.com/eclipse/tomcatPlugin.html去免费下载。另外,这个插件只支持Tomat4.0以上的版本,读者可以在www.apache.org得到Tomcat的最新版本。 

只需将下载的zip文件解压缩,并将其中的plgins目录中的内容拷贝到Eclipse的安装路径的plugins目录下面,然后重新启动Eclipse。启动后在菜单栏上选择“Windows”?“Customize Perspective…”菜单,在打开的对话框中选中“Other Tomcat”。之后马上会发现Eclipse有了两处变化:菜单栏中多了一个Tomcat选项,工具栏中多了两个按钮,如图2-3所示。

技术分享

图2-3 Eclipse 界面

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

配置管理工具

 

CVS是目前比较流行的一款优秀的版本管理与控制工具,是用来管理其它日常文档(如word工作文档之类)的一个强有力的工具。WinCVS是CVS的一个客户端软件,它运行在Windows上。企业内部可以采用Linux/Unix/Windows做服务器,用Windows做客户端,所以WinCVS与CVS服务器是目前应用最广泛的版本控制与管理的组合。下面主要介绍WinCVS的日常操作。

(1)第一步:安装Wincvs

执行setup.exe按提示完成安装。.安装完毕后运行wincvs。

(2)第二步:配置WinCVS参数

“Preferences”→“ General”:普通参数设置。

技术分享

图2-4 Wincvs 配置界面

Authentication:验证方式,CVS默认采用pserver。

Path:CVS服务器的路径,就是Repository(仓库)。

Host address:CVS服务器的IP地址或者域名。

User name:用户名。

CVSROOT:CVSROOT,由上面4项生成的字符串,用于连接服务器。

“Preferences”→“Globals”:全局参数设置。

checkout read-only: 检出只读,wincvs默认导出文件为只读状态。去掉该选项。

Prune(remove)empty directories剪除(删除)空目录,去掉该选项。

“Preferences”→“WinCVS”:WinCVS参数设置。

技术分享

图2-5   WinCVS参数设置

(3)第三步:登录。

技术分享

图2-6 登陆界面

   正常登录后即可开始使用CVS了。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

Java Web中间件

 

传统的HTML已经满足不了如今web系统的诸多的功能需求,建立一个交互式的Web,便诞生了各种Web开发语言,如ASP,JSP,PHP等,这些语言与传统的语言有着密切的联系,如JSP基于Java语言。 JSP是在普通的HTML代码中嵌入了特定的Java代码后形成的源代码文件。JSP源文件由JSP容器(如Tomcat)首先将其转化为Servlet,然后再调用Javac将Servlet编译为.class文件,最终,服务器执行的是class文件。 

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

Tomcat

 

Tomcat是一个免费的开源的JSP容器,它是Apache基金会的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。

在Tomcat中,应用程序的部署很简单,只需将你的war文件(Java Web应用系统的包文件)放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的JSP文件时,通常第一次会慢一点,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后再次访问将会很快了,因为无需再行编译了。另外Tomcat也提供了一个应用—manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过manager这个应用,可以远程以Web方式部署和撤销应用。

Tomcat不仅仅只是一个JSP容器,也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态HTML的能力就不如Apache。可以将Tomcat和Apache集成到一块,让Apache处理静态HTML,而让Tomcat来处理JSP和Servlet。 

Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提供JNDI支持。然而Tomcat只是一个轻量级的Web服务器,并不象诸如Weblogic之类的J2EE应用服务器功能那么强大。通常所说的J2EE应用服务器(如WebLogic)与Tomcat又有何区别呢?应用服务器提供更多的J2EE特性,如EJB,JMS,JAAS等,同时也支持JSP和Servlet,而Tomcat则功能没有那么强大,它不提供EJB等支持。但Tomcat如果与JBOSS(一个开源的应用服务器)集成到一块,也可以实现J2EE的许多功能。在很多中小型应用场合中不需要采用EJB等复杂的技术,JSP和Servlet的组合已经能够胜任,这时如果采用J2EE应用服务器就没有必要了。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

WebLogic

 

BEA  WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,能将Java的动态功能和Java企业级标准的安全性引入大型网络应用的开发、集成、部署和管理之中。BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

WebSphere

 

WebSphere是IBM的一套软件产品,包括WebSphere应用服务器,WebSphere Studio和 WebSphere Performance Pack。WebSphere可在30多种操作系统平台上运作,除计算机外,还可用于PDA、信息家电等产品,跨平台能力较强。WebSphere目前在全球已有超过35000家企业采用。近期,IBM力推的中间件(middleware)平台WebSphere将推出新版本,预计将进一步提升IBM在应用服务器市场上的份额,对市场龙头BEA Systems构成威胁。目前WebSphere在全球应用服务器产品中排名第二,仅次于BEA Systems的WebLogic,但在亚太区已排名第一。该产品包括一个基于 Java 的 Servlet 引擎,独立于 Web 服务器和它所基于的操作系统。WebSphere应用服务器提供了服务器插件的选项,与大多数流行的应用程序设计接口(API)兼容。

WebSphere由于面向专业人员,要掌握它的管理与使用有一定的难度。此外,WebSphere本身需要占用2G多的磁盘空间,需要256M以上内存支持,系统配置相对要求较高。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

本书开发环境的安装与配置

 

本书使用JDK1.5+Tomcat5.5来作为开发环境,下面来看这两个工具的安装与配置方法。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

安装JDK

 

(1)安装JDK

从http://www.sun.com或从如下地址可下载得到JDK1.5:

http://jvm.cn/soft/jdk-1_5_0_08-windows-i586-p.exe

双击jdk-1_5_0_08-windows-i586-p.exe即会开始安装,界面如图2-7所示。安装过程中,还会提示安装JRE1.5,这里单击安装JRE1.5界面中的“更改…”按钮,更改JRE1.5的安装目录,这里更改为“c:\jre15”,再单击“下一步”按钮会继续安装,直至安装完毕。JDK1.5的安装目录与JRE1.5的安装目录要设置一样,否则可能会互相冲突,而导致Web应用服务软件Tomcat5.5在启动时不能识别JDK的版本而无法启动。

技术分享

图2-7 JDK安装界面

在Windows操作系统的桌面上使用鼠标右击“我的电脑”,打开“属性”对话框,在“高级”选项卡上单击“环境变量”,打开“环境变量”设置对话框,进行如下操作:

?系统变量->新建->变量名:JAVA_HOME(JDK的安装目录,如“c:\jre15” )。

?系统变量->新建->变量名:CLASSPATH(类的路径,如“.;%JAVA_HOME%\lib”)。 

?系统变量->编辑->变量名:Path(寻找应用程序的目录,可以在最前面加入“%JAVA_HOME%\bin;”)。  

【专家提示】CLASSPATH中有一个英文句号“.”后跟一个分号,表示当前路径的意。以上变量中,如果变量名已经存在则无需新建,编辑变量的值即可。

(2)测试JDK安装是否正确 

进入命令窗口(在Windows桌面上单击“开始”?“运行”,输入cmd进入命令窗口(Windows95/98下输入command)。 

执行如下的命令: 

javac -version 

窗口会回显如图2-8的信息:

技术分享

图2-8 查看JDK的版本信息

如果能显示JDK的版本信息(不一定与以上文字完全相同),则说明JDK环境安装成功。

 
 
 
 

第 2 章:开发环境的安装与配置作者:邓子云赫斌等    来源:希赛网    2014年02月28日

 

安装与配置Tomcat

 

(1)安装Tomcat

从http://tomcat.apache.org上可以下载到Tomcat的安装程序、源代码及相关的文档,本书使用的Tomcat5.5。Tomcat不能单独使用,安装之前必须先行安装JDK。在如图2-9所示的网站,在左边的Download区中点击Tomcat版本的超链接可以下载相应版本的Tomcat。

技术分享

图2-9  Tomcat的下载地址

得到Tomcat5.5的压缩文件后,将其用解压缩软件,如WinZip或WinRar,解压至指定的目录,这里我们解压至d:\tomcat55,实际应用可根据需要而定。

Tomcat5.5发布的程序版本有三种:zip版、tar.gz版和Windows Executable版。在Windows操作系统中,Windows Executable版本的安装可根据向导提示安装,不再叙述;zip版无须安装,直接拷贝解压缩目录下的所有文件至指定目录即可。这里推荐使用zip版,因为Windows Executable版虽然安装简单,但在安装过程中会修改系统的注册表,当经过多次安装Tomcat后,会出现一些不可预料的错误;而zip版无需设置,解压即可使用。

执行Tomcat安装目录bin子目录下的startup.bat程序就可启动Tomcat5.5服务器。结果如图2-10所示。

技术分享

图2-10  运行Tomcat5.5

(2)测试是否安装成功

接下来,测试一下Tomcat服务器。打开浏览器,在地址栏中输入http://localhost:8080或http://127.0.0.1:8080,127.0.0.1与localhost均代表本机,会出现如图2-11所示的页面。

技术分享

图2-11   测试Tomcat5.5

(3)配置Tomcat

Tomcat默认的Web服务端口号是8080,IE浏览器默认的HTTP服务端口号是80,如果将Tomcat的Web服务端口号改为80,则在访问服务器时不必再输入端口号了。如果是在系统自带了IIS(Windows 2000 server、Windows XP等操作系统自带的支持ASP技术的Web服务器软件),要注意IIS默认的HTTP服务端口号也是80,容易产生冲突。当然读者也可以把Tomcat的Web服务端口号改为你所要设置的数值。下面讲解怎么更改Tomcat的Web服务端口号。

在Tomcat的安装目录中有个叫config的子目录,进入后打开其中的server.xml文件,可以使用任一文本编辑器,一般使用记事本即可。在server.xml找到如

以上是关于JSP应用开发 -------- 电纸书的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb开发——JSP技术

jsp的开发模式

JSP应用开发 -------- 电纸书

JSP 开发环境搭建

从零开始的Java开发2-10-3 JSP入门:JSP介绍语法和页面重用

JSP自定义标签开发入门