web开发技术简介_第1页
web开发技术简介_第2页
web开发技术简介_第3页
web开发技术简介_第4页
web开发技术简介_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章Web开发技术简介第四局部Java语言高级篇〔之一〕学习目的熟悉各种Web开发技术的下载、安装和配置等根本操作,了解Servlet和JSP等技术的功能、特点以及与相关技术的区别,了解Struts、Hibernate和Spring等技术的产生的背景、特点和工作原理,掌握在Eclipse中Servlet和JSP应用程序的一般开发过程,掌握在Eclipse中利用Struts、Hibernate和Spring等框架建立、配置和运行Web应用程序的过程主要内容Tomcat和JBossServletJSPStrutsHibernateSpring9.1Tomcat和JBoss主要介绍Tomcat和JBoss的特点和性能,并详细介绍了Tomcat和JBoss在Windows操作系统环境下安装、配置和运行,为后面相关章节中Web应用程序开发构建应用环境。知识学习要求掌握为:了解Tomcat和JBoss的特点和性能,熟练掌握Windows环境下Tomcat和JBoss的安装、配置和运行。

路线图Tomcat简介Tomcat的下载与安装Tomcat的配置与运行JBoss简介JBoss的安装和运行9.1.1Tomcat简介1Tomcat是一个免费的开放源代码的Web应用效劳器,它是Apache软件基金会〔ApacheSoftwareFoundation〕的Jakarta工程中的核心局部,由Apache、Sun和其他一些组织及个人共同开发而成。由于有了Sun公司的参与和支持,Tomcat总能表达Servlet和JSP最新标准。因为Tomcat技术先进、性能稳定,而且可免费使用,因此深受Java爱好者的喜爱,并得到了大局部软件开发商的认可,成为目前比较流行的Web应用效劳器。9.1.1Tomcat简介2Tomcat应用效劳器在接受客户请求并做出响应的一般过程如下:客户端〔一般为浏览器〕发送HTPP请求访问Web效劳器。Web效劳器接收到请求后,传递给Servlet容器。Servlet容器加载Servlet,产生Servlet实例,并向实例传递表示请求和响应的对象。Servlet实例使用请求对象得到客户端的请求信息,然后进行相应的处理。Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制返回给Web效劳器。9.1.2Tomcat的下载与安装下载Tomcat登录Tomcat网站〔:///〕目前最新的版本是6.x,在这里我们选择目前最常用的版本。安装Tomcat设置安装路径HTTP监听端口和admin用户口令设置Java虚拟机选择路径9.1.3Tomcat的配置与运行配置TomcatTomcat的启动类型可以分为3种:自动〔Automatic〕;手动〔Manual〕;禁用〔Disable〕。如果需要Tomcat在操作系统启动是自动随之启动,可以设置为“自动”类型。单击Windows操作系统的“开始→程序→ApacheTomcat5.5→MonitorTomcat”菜单项启动Tomcat监视器运行Tomcat翻开浏览器,在地址栏种输入://:8888/〔或://localhost:8888/〕单击回车键9.1.4JBoss简介

1JBoss是一个开放源码的免费EJB效劳器,由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发,这使得JBoss广为流行。在J2EE应用效劳器领域,JBoss是开展最为迅速的应用效劳器。它实现了其它J2EE所规定的大多数功能,无论在商业领域,还是在开源社区,JBoss成为了第一个通过J2EE1.4认证的主流应用效劳器。现在,JBoss应用效劳器已经真正开展成具有企业强度〔支持关键级任务的应用〕的应用效劳器。JBoss4.0作为J2EE认证的重要成果之一,已经于2004年9月顺利发布了。同时,JBoss4.0还提供了JBossAOP〔Aspect-OrientedProgramming,面向方面编程〕组件。9.1.4JBoss简介

2JBoss应用效劳器还具有许多优秀的特质。它将具有革命性的JMX〔JavaManagementExtensions,Java管理扩展〕微内核效劳作为其总线结构;它本身就是面向效劳的架构〔Service-OrientedArchitecture,SOA〕它还具有统一的类装载器,从而能够实现应用的热部署和热卸载能力。因此,它是高度模块化的和松耦合的。9.1.5JBoss的安装和运行下载JBoss登录JBoss网站〔或〕目前稳定的版本是版本如果您的操作系统是Windows,可以单击“”链接下载安装文件安装与运行JBoss只需将文件解压到硬盘的文件夹中即可双击安装文件夹中\bin下的run.bat即可以启动JBoss9.2Servlet主要介绍Servlet的定义、功能、工作原理和Servlet与传统CGI编程技术的区别,重点通过案例讲解了在Eclipse中如何建立、配置和运行JavaServlet应用程序。知识学习要求掌握为:了解Servlet的定义、功能、工作原理和Servlet与传统CGI编程技术的区别,熟练掌握在Eclipse中如何建立、配置和运行JavaServlet应用程序的过程。

路线图Servlet简介Servlet的运行原理Servlet与传统CGI编程技术的区别JavaServlet案例9.2.1Servlet简介

1Servlet是实现与所谓瘦客户〔ThinClient〕进行通信的数据库密集型应用程序的适宜解决方案。效劳器负责数据库访问,客户端可以通过所有客户平台都具有的标准协议连接到效劳器上,这样一来只需要编写一次逻辑代码,就可以驻留在效劳器上以供客户访问。JavaServlet是Java技术在CGI〔CommonGatewayInterface,通用网关接口〕编程方面的一种实现方式,是一种独立于平台和协议的效劳器端的Java应用程序,它可以生成动态的Web页面。

Servlet位于包含Java虚拟机的Web

效劳器内部,由Web效劳器进行加载。

9.2.1Servlet简介

2Servlet可完成以下功能:创立并返回一个包含基于客户请求性质的动态内容的完整的HTML页面。创立可嵌入到现有HTML页面中的一局部HTML页面〔HTML片段〕。与其它效劳器资源〔包括数据库和基于Java的应用程序〕进行通信。用多个客户机处理连接、接收多个客户机的输入,并将结果播送到多个客户机上。例如,Servlet可以是多参与者的游戏效劳器。可以通过定制协议或标准〔如IIOP〕进行通信。对特殊的处理采用MIME类型过滤数据,例如图像转换和效劳器端包括〔SSI〕。将定制的处理提供给所有效劳器的标准例行程序。例如,Servlet可以修改如何认证用户。9.2.2Servlet的运行原理

1Servlet执行过程客户端发送请求给Web效劳器;Web效劳器接受请求并解析出其中的Servlet请求,然后发送这个请求给Servlet,如果没有加载,Web效劳器那么加载Servlet到JVM并执行之;JavaServlet接受请求并执行相应的处理;Servlet把执行结果返回给Web效劳器;Web效劳器把JavaServlet的执行结果发送到客户端。9.2.2Servlet的运行原理

2JavaServletAPI所有的JavaServlet都必须实现Servlet〔即〕接口,Servlet接口的方法是由安装了Servlet的效劳器自动调用的。9.2.2Servlet的运行原理

3Servlet接口定义的五种方法。方法描述voidinit(ServletConfigconfig)该方法在一个Servlet的执行周期中被自动调用,以初始化Servlet。参数ServletConfig由执行的服务器自动提供。ServletConfiggetServletConfig()该方法返回一个实现了ServletConfig接口的对象的引用。该对象提供了对Servlet配置信息(如初始化参数和Servlet的ServletContext)的访问,ServletContext为Servlet提供了对它的环境(即执行Servlet的服务器)的访问。voidservice(ServletRequestrequest,ServletResponseresponse)当Servlet响应客户请求时,这是第一个被调用的方法。StringgetServletInfo()该方法由Servlet开发人员定义,它返回一个包含Servlet信息(如Servlet的作者和版本)的字符串。voiddestroy()当服务器终止一个Servlet时将调用这个“清除”方法,它可以把分配给Servlet的资源返回给系统(如打开的文件或数据库连接等)。9.2.2Servlet的运行原理

4

Servlet包定义了两个实现Servlet接口的抽象类:GenericServlet类和HttpServlet类,分别对应javax.servlet包和包,这两个软件包的同时存在使得Java

Servlet

API能够适应将来的其他请求-响应的协议。这些类提供了所有Servlet方法的缺省实现,大多数Servlet均扩展了GenericServlet类或HttpServlet类,并重载了他们的一些或全部方法,以适应特定的需要。

9.2.2Servlet的运行原理

5JavaServlet的生命周期Servlet完整的生命周期包括一下过程:Servlet容器创立Servlet的一个实例容器调用该实例的init()方法如果容器对该Servlet有请求,那么调用此实例的service()方法容器在销毁本实例前调用它的destroy()方法销毁并标记该实例以作为垃圾收集9.2.3Servlet与CGI技术的区别在执行效率方面。在可移植性方面。在实现功能强方面。在平安性方面。在实现本钱方面。CGI脚本是短暂的、瞬时的,如果请求较多时会占用大量系统资源,导致系统性能的降低。使用JavaServlet只需要加载一次就可以在不同的请求之间保持效劳,因为JVM一直在运行,当接到一个请求之后JVM就创立一个Java轻量级的线程进行处理,比每次都启动一个新的重量级的进程效率要高的多。JavaServlet实际就是Java程序,同时运行在Java平台上,Java的跨平台性使JavaServlet也可以从一种操作系统平台轻松的移植到另一种操作系统平台上。JavaServlet具有极大的可扩展性,可以提供传统CGI程序不能提供的许多强大功能,可以完成传统CGI认为困难或不可能的事情。除了具有Java本身的平安性外,JavaServlet的调用是通过Web效劳器,它同时具有了Web效劳器的高水平平安保障。由于JavaServlet可以运行在多种Web效劳器上,如JSWDK、Resin、IIS、Apache、Tomcat等,这样你就可以选择使用免费或价格廉价的效劳器,减少企业的本钱开支。9.2.4JavaServlet案例

1案例引入:在许多Web应用程序中,经常要获取用户主机的IP地址、连接的端口号和系统的时间,用于平安验证和使用特定端口进行通讯,本案例就演示如何通过JavaServlet获得以上信息。知识学习要求掌握为:掌握在Eclipse中建立JavaServletWeb应用程序的一般开发过程;掌握Eclipse中构建路径的配置。9.2.4JavaServlet案例

2【综合案例9-1】获取用户主机的IP地址和连接的端口号等信息建立工程建立MyFirstServlet.jsp文件建立web.xml文件运行程序9.3JSP主要介绍JSP的定义、工作原理和JSP根本语法,讲解JSP与ASP和PHP等技术的区别。重点通过案例讲解了在Eclipse中如何建立、配置和运行JSP应用程序。知识学习要求掌握为:了解JSP的定义、工作原理、JSP根本语法、JSP与ASP和PHP的区别,熟练掌握在Eclipse中如何建立、配置和运行JSP应用程序的过程。路线图JSP简介JSP的运行原理JSP根本语法JSP与PHP、ASP的区别JSP案例9.3.1JSP简介JSP〔JavaServerPage〕是SunMicrosystems公司于1999年6月基于JavaServlet以及整个Java体系开发的一种全新的动态页面技术,JSP平衡并整合了已经存在的对Java编程环境〔如JavaServlet和JavaBeans〕进行支持的技术和工具。JSP技术为创立显示动态生成内容的Web页面提供了一个简洁而快速的方法,JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web效劳器、应用效劳器、浏览器和开发工具共同工作。从本质上讲,JSP并没有增加任何不能用Servlet实现的功能,但在JSP中编写静态HTML更加方便,不必像JavaServlet中那样需要用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的别离,程序开发中不同性质的工作可以方便地分开,比方,静态HTML页面由界面设计专家设计,业务逻辑控制等动态内容由Java程序员实现。9.3.2JSP的运行原理

1JSP的运行方式可以用以下图来表示9.3.2JSP的运行原理

2具体执行过程为:当客户端向Web效劳器发送一个页面请求时,Web效劳器先判断该请求是HTML页面请求还是JSP页面请求。如果只是一般的HTML页面请求,那么直接将该HTML页面代码传给客户端。如果是JSP页面请求,那么由JSPEngine〔JSP引擎〕检查该JSP页面:如果该JSP页面是第一次被请求〔或不是第一次被请求但已被修改〕,那么JSP引擎将此JSP页面代码转换成JavaServlet代码,然后JSP引擎调用效劳器端的Java编译器〔javac.exe〕对Servlet代码进行编译,把它变成字节码〔.class文件〕,然后再调用Java虚拟机执行该字节码文件,然后将执行结果以HTML的形式传给客户端。如果该JSP页面不是第一次被请求〔或不是第一次被请求但没有被修改正〕,那么直接由JSP引擎调用Java虚拟机执行已编译过的字节码.class文件,然后将结果以HTML的形式传给客户端。9.3.3JSP根本语法1JSP的根本语法,主要包括:注释声明表达式脚本片段指令等9.3.3JSP根本语法2注释〔Comment〕HTML注释语法形式:<!--Comment-->HTML注释会在客户端浏览器中通过查看源文件被用户看到。JSP注释语法形式:<%--Comment--%>JSP注释只在效劳器端显示,不会发送到客户端的浏览器中。如果你想在JSP页面源程序中写文档说明时,JSP注释是很有用的。9.3.3JSP根本语法3声明〔Declarations〕语法形式:<%!Declarations;[Declarations;]+…%>JSP声明可以用来定义页面级变量以保存信息或定义JSP页面的其余局部可能需要的支持方法。一次可以声明一个或多个变量和方法,它们之间用分号隔开。在声明时使用Java语言时,必须符合JAVA语言标准。例如:<%!inti=10;%><%!intprice1,price2,price3;%><%!Circlea=newCircle(2.0);%>9.3.3JSP根本语法4表达式〔Expression〕语法形式:<%=Expression%>JSP表达式一般用于求值,其结果转化为字符串,插在JSP文件中显示该表达式的地方。表达式标签中可以包含符合Java语言标准的任何有效表达式。例如:<%=i%><%="Hello"%>注意:表达式的结尾没有分号,但在脚本段标签中,表达式要求以分号作为结尾。9.3.3JSP根本语法5脚本段〔Scriptlet〕语法形式:<%Scriptlet%>在JSP脚本段中能声明多个变量和方法,能使用任何有效的表达式,能使用任何JSP隐含的对象或任何用标签声明的对象,能使用页面语言中任何有效的语句。这些Java代码在Web效劳器响应请求时运行。例如:下面的代码组合使用表达式和代码片段,显示H1、H2、H3和H4标记中的字符串“Hello”。代码片段并不局限于一行源代码:<%for(inti=1;i<=4;i){%><H<%=i%>>Hello</H<%=i%>><%}%>9.3.3JSP根本语法6指令〔Directives〕JSP指令是为JSP引擎而设计的,他们并不直接产生任何可见输出,而只是告诉引擎如何处理其余JSP页面。JSP指令一般包括两种:编译指令包括:Page、Include和Taglib,其特点是只在JSP文件转化为JavaServlet文件时执行一次,形式一般为<%@Directives%>;动作指令包括jsp:useBean,jsp:setProperty,jsp:getProperty,jsp:include,jsp:forward,jsp:param,jsp:plugin等,其特点是在客户端请求时动态的执行,即在每次有客户端请求时动作指令都可能会被重新执行一次,形式一般为<jspAction/>。这介绍最常用的几个指令:Include、Page、Forward和useBean。9.3.3JSP根本语法7指令〔Directives〕Include指令语法形式:<%@includefile=”relativeURL”%>Include指令用于包含一个文本或代码的文件。如果被包含的文件是JSP文件,那么JSP引擎编译完该JSP文件后,执行的结果将插入到主JSP文件中Include指令所在的位置。如果被包含的文件是HTML文件或文本文件,那么JSP引擎不对其进行编译,直接将其内容插入到主JSP文件中Include指令所在的位置。该包含是静态包含,即被包含的文件处理完,而且结果也插入到主JSP文件完毕,主JSP文件将继续执行include指令下面的内容。如:<%@includefile="/bean/finance.jsp"%>注意:如果相对URL以“/”开始,这个路径是相对于JSP应用上下文而言的,JSP应用上下文是存储在application对象中的对象。如果相对URL以目录或文件名开始,这个路径是相对于当前JSP文件所在的路径而言。9.3.3JSP根本语法8指令〔Directives〕Page指令语法形式:<%@page[language="java"][extends="package.class"][import="{package.class|package.*},..."][session="true|false"][buffer="none|8kb|sizekb"]…%>Page指令用于定义整个JSP页面的全局属性,作用范围是整个JSP文件和该JSP文件用include指令包含进来的任何静态文件,整个JSP文件和这些静态文件一起叫做一个“平移单元”。你可以在一个"平移单元"使用多个Page指令,但是每一个属性你只能使用一次,除了import〔因为import属性和Java程序语言的import语句很类似,在Java语言中你能够屡次使用import指令〕。例如:到何处查找起支持作用的Java类别:<%@pageimport=""%>还有你是否需要管理用户的会话级信息,这些信息可能来自多个网页:<%@pagesession="true"%>注意:Page指令不适用于任何动态的包含文件;不管你将Page指令放到JSP文件或被包含的文件的任何一个位置,它的作用范围都是整个“平移单元”。当然,一个好的编成风格是常常将它放到文件的顶部。9.3.3JSP根本语法9指令〔Directives〕jsp:forward语法形式:<jsp:forwardpage={”relativeURL”/“<%=Expression%>”}/>forward指令用于由一个文件向另外一个文件传送一个Request请求,并可以向目标文件传送参数。例如: <%if(percent<0.5)%> <jsp:forwardpage=”/bean/profit01.jsp”/> <%}else{%> <jsp:forwardpage=”/bean/profit02.jsp”/> <%}%>9.3.3JSP根本语法10指令〔Directives〕jsp:useBean。语法形式:<jsp:useBeanid="beanId"class="classname"type="classname"scope="page|request|session|application"/>虽可把多代码放在脚本片段〔Scriptlet〕内,但大多数的Java代码属于可重复使用的名为JavaBea的组件。JavaBean类似于COM控组件,他们都提供常用功能并可重复使用。useBean指令用来生成一个bean组件,并设定它的Id及使用范围〔Scope〕,JSP中使用bean实际上是把它的变量当作属性来看待,并通过它的方法来操控这些属性。例如: <body> <jsp:useBeanid="wage"class="finance.wage"scope="page"/>。 <%=wage.getWage%><br> </body>注意:JSP的各种指令〔包括本处所讲的jsp:forward和jsp:useBean指令〕都有其丰富的属性,需要详细了解的读者可以参考有关资料。9.3.4JSP与PHP、ASP的区别1目前常用的动态网页语言有三种:ASP(Active

Server

Pages),JSP(JavaServer

Pages),PHP

(ProfessionalHypertext

Preprocessor)。9.3.4JSP与PHP、ASP的区别2ASPASP是微软公司开发的一种运行在Windows平台上的效劳器脚本语言,它能创立和运行动态交互式网页,一般采用脚本语言VBScript或Java

script作为其开发语言。其主要优点是可以使用ActiveX组件来完成效劳器应用程序的功能,ActiveX可以由任意支持对象模型〔COM〕的语言来编写组件,如C,C++、Java、VisualBasic等,但在ASP中使用前必须在系统中注册。ASP也支持一些内置组件,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论