第1章Web技术简介_第1页
第1章Web技术简介_第2页
第1章Web技术简介_第3页
第1章Web技术简介_第4页
第1章Web技术简介_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

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

文档简介

JSP程序设计技术教程

1参考资料教材:甘勇、黄敏、张志锋,JSP程序设计技术教程,北京:清华大学出版社,2010ISBN:9787302231523参考文献:张志锋、邓璐娟、张建伟、宋胜利等.JSP程序设计与项目实训教程

.北京:清华大学出版社.2012张志锋、马军等.Web框架技术(Struts2+Hibernate+Spring3)教程.北京:清华大学出版社.2013张志锋申红雪朱颢东丁晓剑等编著.Struts2+Hibernate框架技术教程.北京:电子工业出版社.20122参考网站源码爱好者

/源码网/software/index.html3Web技术——JSP章节简介4第1章Web技术简介第1章Web技术简介1.1Web基础知识

1.1.1Web技术的由来与发展

1.1.2Web动态网页技术

1.1.3Web应用程序的工作原理

1.1.4JavaWeb编程的主要组件技术

1.2JSP技术

1.2.1JSP特点与优势

1.2.2JSP的工作原理

51.3JSP开发Web的方式与体系结构

1.3.1JSP开发Web站点的主要方式

1.3.2JSP两种体系结构 1.4MVC设计模式

1.4.1MVC设计模式思想

1.4.2MVC优缺点6第2章JSP开发运行环境

2.1JSP环境介绍 2.2JDK安装配置

2.2.1JDK简介与下载

2.2.2JDK安装与配置 2.3Netbeans开发环境

2.3.1NetBeans简介与下载

2.3.2NetBeans安装与使用

72.4Eclipse开发环境

2.4.1Eclipse简介与下载

2.4.2Eclipse的使用

2.5MyEclipse开发环境

2.5.1MyEclipse简介与下载

2.5.2MyEclipse安装与使用 2.6Tomcat服务器

2.6.1Tomcat简介与下载

2.6.2Tomcat安装与配置8第3章脚本语言

3.1HTML 3.1.1HTML简介

3.1.2HTML基本标签

3.1.3列表

3.1.4多媒体和超链接

3.1.5表格

3.1.6框架

3.1.7表单 93.2CSS 3.2.1CSS简介

3.2.2CSS样式表定义

3.2.3在HTML中加入CSS的方法

3.2.4CSS样式表继承性

3.2.5CSS基本属性 3.3JavaScript脚本语言

3.3.1JavaScript简介

3.3.2语言基础知识

3.3.3JavaScript对象

3.3.4JavaScript事件10第4章基于脚本语言的项目实训4.1项目需求说明 4.2项目总体结构与构成 4.3项目页面开发

4.3.1登录页面

4.3.2项目的框架页面

4.3.3用户管理模块页面

11第5章JSP基础知识 5.1JSP的基本页面结构 5.2JSP中的脚本元素

5.2.1变量、方法的声明

5.2.2表达式

5.2.3脚本 5.3JSP中的注释

5.3.1隐藏注释

5.3.2HTML注释

5.3.3Java注释 125.4JSP的指令

5.4.1page指令

5.4.2include指令

5.4.3taglib指令

5.5JSP中的常用动作

5.5.1<jsp:param>动作

5.5.2<jsp:include>动作

5.5.3<jsp:useBean>动作

5.5.4<jsp:setProperty>动作

5.5.5<jsp:getProperty>动作

5.5.6<jsp:forward>动作

5.5.7<jsp:plugin>动作13第6章JSP的内置对象 6.1out对象

6.1.1out对象的方法

6.1.2out对象实例 6.2page对象

6.2.1page对象的方法

6.2.2page对象实例 6.3request对象

6.3.1request对象的方法

6.3.2request对象实例

6.4response对象

6.4.1response对象的方法

6.4.2response对象实例146.5session对象

6.5.1session对象的方法

6.5.2session对象实例 6.6pageContext对象

6.6.1pageContext对象的方法

6.6.2PageContext对象实例 6.7config对象

6.7.1config对象的方法

6.7.2config对象实例

6.8exception对象

6.8.1exception对象的方法

6.8.2exception对象实例 6.9application对象

6.9.1application对象的方法

6.9.2application对象实例15第7章JSP中数据库操作

7.1JDBC介绍

7.1.1什么是JDBC 7.1.2JDBC的结构 7.2通过JDBC-ODBC桥访问数据库

7.2.1通过桥访问Access 7.2.2通过桥访问Excel 7.3通过JDBC驱动访问数据库

7.3.1通过JDBC驱动使用MySQL数据库

7.3.2通过JDBC驱动使用MicrosoftSQLServer数据库

7.3.3通过JDBC驱动使用oracle数据库167.4查询数据库 7.5更新数据库

7.5.1更新的SQL语句

7.5.2JSP更新数据库 7.6JSP在数据库应用中的相关问题

7.6.1JSP的分页浏览

7.6.2汉字处理 7.7JSP中数据库应用实例

7.7.1学生信息系统主页面设计

7.7.2学生信息查询

7.7.3学生信息添加

7.7.4学生信息删除

7.7.4学生信息修改17第8章个人信息管理系统实训8.1项目需求说明 8.2项目系统分析 8.3系统设计与实现

8.3.1数据库设计

8.3.2项目代码实现

登录功能实现

主界面功能实现

个人信息管理功能实现

通讯录管理功能实现

日程安排管理功能实现18第9章JSP与JavaBean编程 9.1JavaBean概述 9.2JavaBean的基本用法

9.2.1JavaBean的属性

9.2.2访问Bean属性

9.2.3设置Bean属性 9.3Bean的作用域 9.4JavaBean的使用

9.4.1使用JavaBean访问数据库

9.4.2JavaBean应用实例 19第10章JSP与Servlet编程10.1Servlet介绍

10.1.1什么是Servlet 10.1.2Servlet的技术特点

10.1.3Servlet与JSP的区别

10.1.4Servlet在Web项目中的作用

10.1.5Servlet生命周期

10.1.6开发一个简单的Servlet

10.2处理客户端请求

10.2.1从Servlet读取表单数据

10.2.2从Servlet提取报文头

10.2.3处理Cookie与会话跟踪 2010.3Servlet编程接口

10.3.1与Servlet实现相关的接口

10.3.2与Servlet配置相关的接口

10.3.3与Servlet异常相关的接口

10.3.4与请求和响应相关的接口

10.3.5会话管理

10.3.6Servlet上下文相关 10.4Servlet部署 10.5Servlet应用实例21第11章JSP标记11.1创建自定义标记表记库

11.1.1组成标记库的组件

11.1.2为标记分配属性

11.1.3处理标记正文 11.2常用JSTL的使用

11.2.1JSTL简介

11.2.2表达式语言

11.2.3使用JSTL访问数据库22第12章基于MVC模式项目实训12.1MVC设计模式 12.2项目实训(一)

12.2.1项目设计

12.2.2项目实现 12.3项目实训(二)

12.3.1项目设计

12.3.2项目实现23Web技术讲解第1章Web技术简介24第1章Web技术简介1.1Web基础知识1.2JSP技术1.3JSP开发Web的方式与体系结构1.4MVC设计模式251.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术261.1.1Web技术的由来与发展1980年,TimBerners-Lee负责的Enquire(EnquireWithinUponEverything的简称)项目是Web项目的起源。1989年,TimBerners-Lee发明的分布式应用架构,向人们提供信息和信息服务。

1990年,第一个Web服务器开始运行。

1991年,CERN正式发布了Web技术标准。27早期的Web应用主要是使用HTML语言编写、运行在服务器端的的静态页面。HTTP请求HTTP响应客户机浏览器服务器Web服务器静态页面网络浏览器请求静态页面图28HTMLHTML(HypertextMarkupLanguage,超文本标记语言)是一种描述文档结构的语言,不能描述实际的表现形式。1945年,VannevarBush提出了文本和文本之间通过超级链接相互关联的思想,并给出设计方案。1960年后正式将这种信息关联技术命名为超文本(Hypertext)技术。1991年HTML语言正式诞生以来推出了多个不同的版本,其中对Web技术发展具有重大影响的主要是两个版本:1996年推出的HTML3.2;1998年推出的HTML4.0。1999年W3C颁布了HTML4.01。29为了满足人们对信息丰富性和多样性的强烈需求。促使Web技术由静态技术向动态技术的转化。第一种使服务器能根据运行时的具体情况,动态生成HTML页面的技术是CGI(CommonGatewayInterface,公共网关接口)技术。1993年,CGI1.0的标准草案由NCSA(NationalCenterforSupercomputingApplications)提出,1995年,NCSA开始制定CGI1.1标准。CGI技术允许服务端的应用程序根据客户端的请求,动态生成HTML页面,这使客户端和服务端的动态信息交换成为了可能。动态网页技术30

用户访问CGI程序

客户机浏览器服务器Web服务器静态页面HTTP请求HTTP响应网络CGI程序数据库311994年,RasmusLerdorf发明了专用于Web服务端编程的PHP(PersonalHomePageTools)语言。1996年,Microsoft借鉴PHP的思想,推出ASP技术。借助MicrosoftVisualStudio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。1997年,SUN公司推出了Servlet技术,作为Java阵营的CGI解决方案。(2009年Oracle公司收购了SUN)1998年,SUN公司又推出了JSP技术,允许在HTML页面中嵌入Java脚本代码,从而实现动态网页功能。322000年以后,整合Web开发技术形成完整的开发框架或应用模型,来满足各种复杂的应用需求。MVCStrutsSpringHibernate331.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术341.1.2Web动态网页技术动态网页技术是运行在服务器端的Web应用,程序根据用户的请求在服务器端进行动态处理后,把处理的结果以HTML文件格式返回给客户端。当前主流的三大动态Web开发技术是:

JSPASP/ASP.NETPHP35PHPPHP(PHP:HypertextPreprocessor,超级文本预处理语言)是一个基于服务端来创建动态网站的脚本语言,可以用PHP和HTML生成网站主页。当一个访问者打开主页时,服务端便执行PHP的命令并将执行结果发送至访问者的浏览器中,这类似于ASP和JSP,然而PHP和它们不同之处在于PHP开放源码和跨越平台,PHP可以运行在WINDOWSNT和多种版本的UNIX上。PHP消耗的资源较少,当PHP作为ApacheWeb服务器一部分时,运行代码不需要调用外部二进制程序,服务器不需要承担任何额外的负担。361994年RasmusLerdorf创建了PHP。1995年初PersonalHomePageTools(PHPTools)发布了PHP1.01995年中,PHP2.0发布1997年发布PHP32000年,发布PHP4.02009年发布PHP5.3版本,其中增加了许多新的特性。2013年6月发布PHP5.5

37ASP/ASP.NETASP(ActiveServerPages,活动服务器页面)是一种允许用户将HTML或XML标记与VBScript代码或者JavaScript代码相结合生成动态页面的技术,用来创建服务器端功能强大的Internet应用程序。当一个页面被访问时,VBScript/JavaScript代码首先被服务器处理,然后将处理后得到的HTML代码发送给浏览器。ASP只能建立在Windows的IISWeb服务器上。381996年,Microsoft公司推出ASP1.01998年,Microsoft公司推出ASP2.01999年,Microsoft公司推出ASP3.02001年,推出ASP.NET。39ASP.NET技术又称为ASP+,是在ASP基础上发展起来的,其不仅仅只是一个有新界面并且修复了一些缺陷的ASP3.0升级版本,更为重要的是其是在保留ASP的最大优点并全力使其扩大化的基础上开发出来的,它是Microsoft公司推出的新一代Web开发工具,是.NET战略中的重要一员,它全新的技术架构使编程变得更加简单,是创建动态网站和Web应用的最好技术之一。40JSPJSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。SUN公司JSP1998年推出JSP0.9版本1999年推出1.1版本2000年推出1.2版本现在流行的是JSP2.0版本。411.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术421.1.3Web应用程序的工作原理JSP页面是运行在服务器端的一种Web应用程序。在学习JSP技术前,先了解一下Web应用程序的工作原理。目前在Internet上信息大多以网页形式存储在服务器上,通过浏览器获取网页内容,这是一种典型的B/S(浏览器/服务器)模式。B/S模式的工作过程是:客户端请求-服务器处理-对客户端响应。其实现的原理如图1-3所示。43图1-3B/S模式的工作原理客户端浏览器服务器Web服务器Web应用程序1Web应用程序2…应用服务器HTTP请求HTTP响应网络数据库441.1Web基础知识1.1.1Web技术的由来与发展 1.1.2Web动态网页技术 1.1.3Web应用程序的工作原理1.1.4JavaWeb编程的主要组件技术451.1.4JavaWeb编程的主要组件技术JavaWeb应用程序通常是由多种组件构成的:表示层组件、控制层组件和业务逻辑层组件及数据访问层组件组成。表示层组件通常由HTML和JSP页面构建;控制层组件一般是Servlet。业务逻辑层组件是JavaBeans或EJB。数据访问层组件是JDBC,Hibernate。46下面将分别介绍JavaBean、Servlet、JDBC、JavaEE、EJB等主要JavaWeb组件技术。47JavaBeanJavaBean是Java的可重用组件,是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象。JavaBean开发起来简单,许多动态页面处理过程实际上被封装到了JavaBean当中,可以将大部分功能放在JavaBean中完成。JavaBean在JSP中用来捕获页面表单的输入并封装事务逻辑,从而很好地实现业务逻辑和前台程序的分离,使得系统更加健壮和灵活。48JavaBean定义应遵循的规范:必须有一个无参的构造函数。对在Bean中定义的所有属性提供getter和setter方法,并且这些方法是公共的。对于boolean类型的属性,其getter方法的形式为isXXX的,其中XXX为首字母大写的属性名。对于数组类型的属性,要提供形式为getXXX(intindex)和setXXX(intindex,PropertyTypevalue)的方法。JavaBeans具有以下特性:可以实现代码的重复使用。容易维护、容易使用且容易编写。可以在支持Java的任何平台上工作,而不需要重新编译。可以以其它部件的模式进行工作。49JavaBean实例:publicclassLogin{privateStringusername;privateStringpassword;publicLogin(){}publicStringgetUserName(){returnthis.username;}publicvoidsetUserName(Stringparam){this.username=param;}publicStringgetPassword(){returnthis.password;}publicvoidsetPassword(Stringparam){this.password=param;}}50ServletServlet是使用JavaServlet应用程序设计接口(API)及相关类和方法的Java程序。Servlet是一种运行在对支持Java的服务器中,能够自动产生HTML网页的Java技术。提供非常安全的、可移植的、易于使用的CGI替代品。它完全运行在Java虚拟机上。Servlet在Java的Web服务器上或应用服务器上运行并扩展该服务器的能力。Servlet的主要功能在于可以事先交互式地浏览和修改数据,生成动态Web内容。在JavaWeb应用程序中,JSP页面首先被编译成Servlet文件,然后运行,Servlet处理用户的请求并做出反应;其次,在JavaWeb应用程序中可以将Servlet作为控制器来使用。51

JDBCJDBC(JavaDataBaseConnectivity,Java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。52JDBC提供的标准API几乎是独立于数据库的,但同时又可以在必要时访问数据库的某些特性。JDBC3.0包括了两个软件包:java.sql和javax.sql。

java.sql:这个包中的类和接口主要针对基本的数据库编程服务,如生成连接、执行语句,以及准备语句和运行批处理查询等。同时也有一些高级的处理,比如批处理更新、事务隔离和可滚动结果集等。

javax.sql:它主要为数据库方面的高级操作提供接口和类,例如为连接管理、分布式事务和旧有的连接提供了更好的抽象。它引入了容器管理的连接池和分布式事务等。JDBC的用途是与数据库建立连接、发送SQL语句并处理结果。53JDBCAPI的核心组件有:DriverManager类:用于跟踪可用的JDBC驱动程序并生成数据库连接。Connection接口:用于取得数据库信息、生成数据库语句,并管理数据库事务。Statement接口:用于在基层连接上运行SQL语句,并且生成一个结果集。Statement有两个子接口:PreparedStatement和CallableStatement。PreparedStatement提供了可以与查询信息一起预编译的一种语句类型。CallableStatement从PreparedStatement继承而来,它用来封装数据库中存储过程的执行。ResultSet接口:用于访问SQL查询返回的数据。当读取结果时,可以使用它的next()方法依次定位每一行数据,然后用相应的get()方法读取数据。JDBC通过数据库的JDBC驱动程序来访问数据库。如图1-3所示54Java小应用程序/应用程序JDBC(java.sql)数据库的JDBC驱动程序DataBaseDataBase通过JDBC访问数据库55通常Java开发工具带有JDBC-ODBC桥,只要可以通过ODBC驱动程序访问数据库,就可以使用JDBC访问数据库。如图1-4所示。56Java小程序/应用程序JDBC(java.sql)SQLServer驱动程序SQLServer数据库Oracle数据库Oracle驱动程序……JDBC-ODBC桥接器(翻译器)通过JDBC-ODBC访问数据库57J2EEJ2EE(Java2PlatformEnterpriseEdition)平台规范是SUN公司定义的用于简化分布式企业级应用开发与部署的基于组件的模式。为了降低成本,加快企业应用程序的设计和开发,J2EE平台提供了一个基于组件的方法来设计、开发、装配及部署企业应用程序,并提供了多层的分布式的应用模型、组件重用、一致化的安全模型以及灵活的事务控制。因此程序员可以更快的速度向市场推出创造性的客户解决方案,并且独立的、基于组件的J2EE解决方案不会被任何一个厂商的产品和API所束缚。58J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持。1998年,Sun发布了EJB1.0标准。至此,J2EE平台的三大核心技术Servlet、JSP和EJB都已先后问世。1999年,Sun正式发布了J2EE的第一个版本。紧接着,遵循J2EE标准,为企业级应用提供支撑平台的各类应用服务软件出来了。IBM的WebSphere、BEA的WebLogic都是这一领域里最为成功的商业软件平台。2003年,Sun的J2EE版本已经升级到了1.4版,其中三个关键组件的版本也演进到了Servlet2.4、JSP2.0和EJB2.1。2004年发布J2EE1.5版本。592005年6月,JavaOne大会召开,SUN公司公开JavaSE6。(Java2平台包括标准版(J2SE)、企业版(J2EE)和微型版(J2ME)三个版本。)此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME。2006年12月,SUN公司发布JRE6.02009年04月20日,甲骨文74亿美元收购Sun。取得java的版权。2011年7月28日,甲骨文发布java7.0的正式版。60J2EE分为4个层:客户层(ClientTier):应用层运行在客户端机器上。Web层(WebTier):Web层运行在Web服务器上。业务层(BusinessTier):业务层运行在EJB服务器上。企业信息系统层(EIST):信息系统层运行在EIS服务器上,该层运行企业信息系统软件。业务层和Web层一起构建成为J2EE的中间层,而其他两层是客户层和信息系统层,通常称J2EE为三层体系结构。61JavaEEJavaEE是J2EE的一个新的名称,之所以改名,目的是让大家清楚J2EE只是Java企业应用。随着Web和EJB容器概念诞生,使得软件应用行业开始担心SUN是否还在Java平台上不断推出翻新的标准框架。在2004年底中国软件技术大会IoC微容器演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。此次J2EE改名为JavaEE,实际也反映出业界这种共同心声。62EJBEJB(EnterpriseJavaBean)是一个J2EE体系中的组件,是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。采用EJB可以使得开发商业应用系统变得容易,随着需求的改变,应用系统可以不加修改地迁移到其它功能更强、更复杂的服务器上。63EJB主要有2种组件:SessionBean和EntityBean。64第1章Web技术简介1.1Web基础知识1.2JSP技术1.3JSP开发Web的方式与体系结构1.4MVC设计模式651.2JSP技术1.2.1JSP特点与优势1.2.2JSP的工作原理661.2.1JSP特点与优势JSP(JavaServerPages)是由SUN公司倡导、许多公司共同参与建立的一种基于Java语言的动态Web应用开发技术,利用这一技术可以建立安全、跨平台的先进动态网页。JSP技术是一种建立在Servlet规范提供的功能之上的动态网页技术,和ASP、PHP类似,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过JSP文件中嵌入的是Java代码和JSP标记。JSP网页(*.jsp)就是在传统的网页HTML文件(*.htm或*.html)中加入Java程序片段(Sriptlet)和JSP标记(Tag)而构成的。67JSP是J2EE系统中Web层技术,负责动态生成用户界面。JSP页面在执行时是编译式,编译成Servlet文件。JSP是SUN公司推出解决Web开发技术的解决方案,自JSP推出后,得到众多大公司的支持,所以JSP迅速成为商业应用的服务器端语言。

68一次编写、到处运行系统的多台平支持内容和显示分离生成可重用的组件采用标签简化页面健壮的存储管理和安全性

JSP的技术特点和优势主要体现:691.2JSP技术1.2.1JSP特点与优势1.2.2JSP的工作原理701.2.2JSP的工作原理JSP所有的程序都是在服务器端运行的,服务器端收到用户通过浏览器提交的请求,经过一定处理后再以HTML的形式返回给客户端,客户端得到的只是在浏览器中看到的静态网页。服务器上的JSP程序负责处理客户端的请求,其程序代码对于客户端来说是不可见的。71JSP和客户端的交互是通过HTTP协议实现的,这个过程主要分为以下4个步骤:客户端和服务器建立连接客户端发送请求服务器发出响应关闭连接72当第一次运行一个JSP页面时,JSP引擎要完成以下操作:将JSP文件翻译成Servlet文件,是Java应用程序。JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件。JSP引擎调用Java虚拟机解释执行class文件,并将运行结果返回给服务器。服务器将运行结果以HTML形式作为响应返回给客户端浏览器。

73图JSP运行机制74

Servlet是Java技术对CGI编程的其中一种语言。与传统的CGI和许多其他类似CGI的技术相比,JavaServlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。

Servlet是一种运行在服务器中,能够自动产生HTML网页的Java技术。Servlet是对支持Java的服务器的一般扩充。它最常见的用途是扩展Web服务器,提供非常安全的、可移植的、易于使用的CGI替代品。它是一种动态加载的模块,为来自Web服务器的请求提供服务。它完全运行在Java虚拟机上。由于它在服务器端运行,因此它不依赖于浏览器的兼容性。JSP与Servlet的关系75Servlet可以被看作一个基于Java技术的Web组件,该组件由Servlet容器(Tomcat、Resin等服务器)管理,用于生成动态的Web信息。Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台中立的字节码,可以被动态的加载到Java技术的Web服务器中运行。

JSP作为一种简化Servlet开发的替代技术出现,因此人们往往会形成一种误解——JSP是一种比Servlet更加优秀并可以完全替代Servlet的技术。首先必须承认,在实现页面逻辑和表示的分离方面JSP确实比Servlet优秀,另外,理论上JSP和Servlet也可以相互替代;但是随着学习的深入以及在具体项目中应用经验的增加,会发现不能这样简单地比较两种技术,它们都有各自的优势和适应性。JSP与Servlet的关系76JSP与Servlet之间的主要差异在于,JSP提供了一套简单的标签,和HTML融合得比较好,即使不了解Servlet的用户也可以通过JSP做出动态网页来。因此,很多对Java语言不太熟悉的用户,会觉得JSP开发比较方便。JSP页面修改后可以立即看到效果,不需要手工编译,JSP引擎会来做这些工作;而Servlet需要编译,重新启动Servlet引擎等一系列动作。JSP编写简单,可以方便地嵌入HTML中,很容易加入动态内容,方便地输出HTML。在Servlet中输出HTML则需要调用特定的方法,相对于JSP比较复杂。从上面的比较可以看出,在表示层的实现上JSP相对于Servlet具有很大的优势。但是,如果要开发Web应用有很复杂的控制逻辑需要实现,这时使用Servlet则可以非常清晰和方便地封装这些控制逻辑。事实上很多Web层应用框架(如Struts框架)就是采用Servlet来实现控制逻辑的。JSP与Servlet的关系77第1章JSP概述1.1Web基础知识1.2JSP技术1.3JSP开发Web的方式与体系结构1.4MVC设计模式781.3JSP开发Web的方式与体系结构1.3.1JSP开发Web站点的主要方式1.3.2JSP两种体系结构79JSP开发Web站点主要有以下几种方式:直接使用JSPJSP+JavaBeanJSP+JavaBean+ServletJ2EE开发模型(MVC)SSH开发框架

(Struts+Spring+Hibernate)801.3JSP开发Web的方式与体系结构1.3.1JSP开发Web站点的主要方式1.3.2JSP两种体系结构81JSPModel1在Model1体系中,如图1-6所示,JSP页面独自响应请求并将处理结果返回客户。Model1体系十分适合简单应用的需要,它却不能满足复杂的大型应用程序的实现。不加选择地随意运用Model1,会导致JSP页内被嵌入大量的脚本片段或Java代码,特别是当需要处理的请求量很大时,情况更为严重。尽管这对于Java程序员来说可能不是什么大问题,但如果JSP页面是由网页设计人员开发并维护的这就确实是个问题了。从根本上讲,将导致角色定义不清和职责分配不明,给项目管理带来不必要的麻烦。82Model1模型结构图BROWERJSPJavaBean13RequestResponse4ApplicationServerEnterpriseServers/DataSources283Model2Model2体系结构是一种把JSP与servlet联合使用来实现动态内容服务的方法。它吸取了两种技术各自的突出优点,用JSP生成表达层的内容,让servlet完成深层次的处理任务。在这里,servlet充当控制者的角色,负责管理对请求的处理,创建JSP页需要使用的Bean和对象,同时根据用户的动作决定把哪个JSP页传给请求者。在JSP页内没有处理逻辑;它仅负责检索原先由servlet创建的对象或Bean,从servlet中提取动态内容插入静态模板。分离了表示和内容,明确了角色的定义以及开发者与网页设计者的分工。项目越复杂,使用Model2体系结构的优势就越突出。84Model2模型结构图4BROWER(Controller)Servlet12RequestResponse3ApplicationServer(Model)JavaBean(View)JSP5EnterpriseServers/DataSources85第1章Web技术简介1.1Web基础知识1.2JSP技术1.3JSP开发Web的

温馨提示

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

评论

0/150

提交评论