第1章JavaWeb开发概述目标J2EE概述XML基础HTTP协议用Tomcat构建Web站点J2EE概述J2EE平台是用于在分布式企业环境中开发、部署和执行应用程序的体系结构。分布式应用程序需要系统级的服务,如事务管理、安全性、客户端连接和数据库访问。以前使用Java开发工具包(JDK)不能够开发服务器端的应用程序,后来出现了企业API,这种API为服务器端的应用程序提供企业级的服务。为了在Java中进行服务器端的开发,所有的企业API被组合为一个完整的开发平台,即Java2平台企业版。Java2平台企业版是健壮的中间件服务套件,使开发人员可轻松开发服务器端的应用程序。J2EE包含以下技术EnterpriseJavaBean(EJB)Java远程方法调用和RMI-IIOPJava命名和目录接口(JNDI)Java数据库连接(JDBC)Java事务API(JTA)和Java事务服务(JTS)Java消息服务(JMS)JavaServlet和JavaServerPage(JSP)JavaMail可扩展标记语言(XML)J2EE体系结构端户客J2EE服务器数据库WEB容器运行Servlet/JSPEJB容器运行EJB组件J2EE服务器实现了所有系统级的服务,为应用软件的开发节省了大量的时间。这样,应用软件的开发人员将重点放在了应用软件的业务逻辑和界面的发开。XML基础XML概述结构完整的XML文档XML的应用范围XML概述可扩展标记语言XML(eXtensibleMarkupLanguage)。从它的名字我们就可以理解它是可扩充的,这意味着我们可以定义自己的标记集,让其它部分(包括人、程序等)能够理解的标记集。由于XML是基于文本格式的,开发者可以很容易地在不同的程序中对它的数据进行描述、传输、交换。结构完整的XML文档生成一个XML文档包含如下步骤:XML声明定义一个根元素生成XML元素示例?xmlversion=1.0encoding=gb2312?rootuserid=1name李明/namesex男/sexbirthday1980-1-1/birthday/useruserid=2name王红/namesex女/sexbirthday1981-1-1/birthday/user/rootXML的应用范围XML在语法结构上的优越性,使得它可以广泛地应用于信息表现、信息交换、信息存储、电子商务、网络出版和移动通迅等多个领域。近年来XML最主要的应用体现在以下几个方面:数据交换Web服务内容管理Web集成系统配置HTTP协议HTTP简介HTTP1.0的会话方式HTTP1.1与HTTP1.0的比较HTTP消息的格式HTTP消息头HTTP简介就像两个国家元首的会晤过程得遵守一定的外交礼节一样,浏览器与Web服务器之间的一问一答的交互过程也得遵守一定的规则,这个规则就是HTTP协议。HTTP是HyperTextTransferProtocol(超文本传输协议)的英文简写,它是TCP/IP协议集中的一个应用层协议,用于定义浏览器与Web服务器之间交换数据的过程以及数据本身的格式,大家平常通过浏览器访问Internet上的某一个网页的过程就是借助HTTP协议来完成的。HTTP简介HTTP协议在不断地完善和扩展,因此有不同的版本,现在被广泛使用的是HTTP1.1,相对HTTP1.0而言,HTTP1.1的最大特点是支持持续连接。对于从事Web站点规划、建设与管理的人员,特别是要从事网站服务器端程序的开发人员,必须对HTTP协议有一个比较深入的了解。对HTTP协议的透切理解,并不需要具有多么高深的理论知识,只是一个实践问题。深入理解HTTP协议,对管理和维护复杂的Web站点、开发具有特殊用途的Web服务器程序具有直接影响。HTTP1.0的会话方式基于HTTP1.0协议的客户机与服务器的信息交换过程包括四个步骤:建立连接发送请求回送响应信息关闭连接HTTP1.1与HTTP1.0的比较HTTP消息的格式请求消息格式和响应消息格式当用户在浏览器地址栏中输入某个URL地址,或单击网页上一个超链接,或提交网页上的Form表单后,浏览器将生成请求消息发送给服务器。服务器收到请求后,将生成响应消息回送给浏览器。浏览器发出的请求信息和Web服务器回送的响应信息都叫HTTP消息,HTTP消息是有一定严格规定的格式。浏览器提交给Web服务器的Form表单内容和从Web服务器上获取的网页内容仅仅是HTTP消息中的一部分数据,浏览器与Web服务器传递的信息中还包含一般用户所看不到的一些其他“隐藏”信息。请求消息的格式一个完整的请求消息包括:一个请求行、若干消息头,以及实体内容,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。下面是一个HTTP请求消息的内容:请求消息的格式GET/books/java.htmlHTTP/1.1Accept:*/*Accept-Language:en-usConnection:Keep-AliveHost:localhostReferer::Mozilla/4.0(compatible;MSIE5.5;WindowsNT5.0)Accept-Encoding:gzip,deflate请求行客户端接受信息的类型客户端可接受的语言客户端是否能处理持续连接客户端的主机和端口发出请求的页面客户端浏览器的信息客户端可接受的内容编码HTTP的请求方式GET请求获取由Request-URI所标识的资源。POST在Request-URI所标识的资源后附加新的数据。Get与Post提交方式的比较Get方式传输的数据量非常小,一般限制在2KB左右,但是执行效率却比Post方法高;而Post方式传递的数据量相对较大。Get方式提交数据,会带来安全性问题,比如一个登录页面,通过Get方式提交数据时,用户名和密码将会一览无余的出现在URL上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录中获得该用户的帐号及密码。响应消息的格式一个完整的响应消息包括一个状态行、若干消息头,以及实体内容。与请求消息一样,响应消息中的一些消息头和实体内容也都是可选的,消息头和实体内容之间也要用空行隔开。下面是一个HTTP响应消息的内容:响应消息的格式HTTP/1.1200okServer:Microsoft-IIS/5.0Date:Thu,13Jul200005:46:53GMTContent-Length:2291Content-Type:text/htmlCache-control:privatehtmlbody……状态行服务器的信息当前时间实体内容的字节数实体内容的类型如何安全的缓存文档实体内容响应状态码100~199表示成功接收请求,要求客户端继续提交下次一请求才能完成整个处理过程。200~299表示成功接收请求并已完成整个处理过程。300~399为完成请求,客户端需进一步细化请求。例如:请求的资源已经移动一个新地址。400~499客户端的请求有错误。500~599服务器端出现错误。HTTP消息头HTTP请求和HTTP响应都使用消息头来描述HTTP消息本身的信息,这种描述信息的信息称为元信息。使用消息头,可以实现HTTP客户机与服务器之间的条件请求和应答。按照其作用分类,消息头又可以分为:通用信息头请求头响应头实体头用Tomcat构建Web站点Web开发的相关知识Tomcat简介Web应用程序的开发与部置使用JBuilder开发Web应用Web开发的相关知识什么是Web开发Web开发常用技术主要的Web服务器软件网站系统的组成URL什么是Web开发Web开发是相对于传统的Windows应用程序开发而言的。Web程序一般以浏览器为运行平台,我们可以把制作一个网站理解为Web开发。Web开发的特点Web是图形化的和易于导航的Web与平台无关Web是分布式的Web是动态的Web开发常用技术PHPASPJSP1994年,专用于Web服务器端编程的PHP(PersonalHomePageTools)语言诞生。PHP语言将HTML代码和PHP指令合成为完整的服务端动态页面,Web应用的开发者可以用一种简便、快捷的方式实现动态Web功能。1996年,Microsoft借鉴PHP思想,在其Web服务器IIS3.0中引入了ASP技术。ASP使用的脚本语言是我们熟悉的VBScript和JavaScript。借助MicrosoftVisualStudio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。以Sun公司为首的Java阵营于1997年推出了Servlet技术,1998年,JSP技术诞生。Servlet和JSP的结合(还可以加上JavaBean技术)让Java开发者同时拥有了类似CGI程序的集中处理功能和类似PHP的HTML嵌入功能。此外,Java的运行时编译技术也大大提高了Servlet和JSP的执行效率,这也正是Servlet和JSP被后来的J2EE平台吸纳为核心技术的主要原因之一。主要的Web服务器软件无论网站规模的大小,最起码的工作就是要在用做Web服务器的计算机上安装某种Web服务器软件。目前主要的两种Web服务器软件是MicrosoftInternetInformationServer(简称IIS)和Apache,但是它们都不直接支持Servlet和JSP程序。要想在这些Web服务器软件中运行Servlet和JSP,还必须将它们与某种Servlet和JSP容器(引擎)进行集成。Tomcat是Sun公司推荐的运行Servlet和JSP的容器,它可以被集成的IIS和Apache中。另外,Tomcat也具有Web服务器的一些基本功能,对于一般的应用情况,也可以真接将Tomcat作为Web服务器软件运行。网站系统的组成URL放置在Internet上的Web服务器中的每一个网页都应该有一个访问标记符,用于惟一地标示它的访问位置,以便Web浏览器能够定位到它。这个访问标记符称为URL,包含Web服务器主机名或IP地址、文件(或其他资源)路径名称,以及使用的网络协议和端口号,例如:就表示一个URL。Tomcat简介Tomcat是Apache组织的Jakarta项目的一个重要子项目,它是Sun公司推荐的运行Servlet和JSP的容器(引擎),其源代码是完全公开的。别外,Tomcat还具有Web服务器的基本功能,提供数据库连接池、SSL等许多通用组件功能。Tomcat的应用已经非常广泛,越来越多的软件公司和开发人员都使用它作为运行Servlet和JSP的平台。Tomcat也可以作为独立的Web服务器软件运行,但它处理静态HTML文件的速度比不上Apache和IIS等专业的Web服务器,具其作为Web服务器软件的功能也不如Apache和IIS强大。如果有必要,可以将Tomcat与Apache或IIS集成起来。Tomcat的安装与使用安装安装Tomcat前应先安装JDK或JRE使用启动服务器关闭服务器Tomcat的目录结构目录描述/bin存放在Windows平台上启动和关闭Tomcat的脚本文件/conf存放Tomcat服务器的各种配置文件,server.xml/server包含3个子目录:classes,lib和webapps/server/lib存放Tomcat服务器所需的各种JAR文件/server/webapps存放Tomcat的Web应用:admin应用和manager应用/comm