JSP开发应用概览.docx
- 文档编号:15338656
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:13
- 大小:111.16KB
JSP开发应用概览.docx
《JSP开发应用概览.docx》由会员分享,可在线阅读,更多相关《JSP开发应用概览.docx(13页珍藏版)》请在冰点文库上搜索。
JSP开发应用概览
第一章JSP开发应用概览
JSP(JavaServerPage)技术是由Sun公司倡导、由多家公司参入的一种用于建立动态网页的技术标准规范。
作为动态网页的一种主流开发技术,JSP基于Java,具有平台无关性、运行效率高、快速上手易于学习等优点。
随着Internet的飞速发展,JSP越来越广泛地应用于Web开发,许多知名网站,如新浪、网易、阿里巴巴等都采用了JSP技术,JSP已成为目前最为流行的网络编程语言。
本章主要内容如下:
✧JSP技术概述;
✧JSP运行机制;
✧JSP框架简介;
✧JSP开发应用方式;
✧JSP简单应用。
1.1JSP概述
1999年Sun公司推出了JSP动态网页技术。
JSP以Java语言作为脚本语言,Java语言是一种简单易学并且完全面向对象的编程语言,特别适合作为Internet的开发工具。
使用JSP能轻易地搭建网络平台,建立功能强大的Web网站。
JSP技术在国外应用非常广泛,目前在国内也日趋流行。
与目前较为流行的Web开发技术ASP、PHP相比,JSP是一种完全与平台无关的开发技术,它集极高的运行效率,较短的开发周期,超强的扩展能力,完全开放的技术标准,自由的开发方式等众多的完美特性于一身,使构造基于Web的应用程序更加容易和快捷。
JSP实现了Web业务逻辑和页面显示的分离,脱离了硬件平台的束缚,并且编译后大大提高了运行速度,降低了系统各个模块之间的耦合性,增强了代码的可重用性和可维护性,符合软件工程的设计思想。
目前,JSP正逐渐成为Web应用的主流开发工具。
目前,JSP正广泛地应用于电子商务、电子政务和各个行业的管理应用软件中,世界上一些大的电子商务解决方案都采用了JSP技术,所以JSP动态网页技术有着广阔的发展前景。
1.2JSP特点
JSP技术可以让Web开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统。
作为Java技术的一部分,JSP能够快速开发出基于Web、独立于平台的应用程序。
JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。
JSP是一种用于动态网页的表现层技术,它使Html变得更简单,允许将静态Html内容与服务器端脚本混合起来生成动态输出。
JSP技术以Java语言为基础,也允许使用诸如JavaScript和VBScript等其他脚本语言。
JSP提供了大量的服务器端标签,可以在不写Java代码的情况下完成大多数动态内容操作。
那些只熟悉编写脚本的开发人员,甚至仅仅是Html编写者,就可以使用JSP标签生成简单的输出。
JSP是一种以组件为中心的开发技术,它以JavaBeans和EnterpriseJavaBeans(EJB)组件模型来包含商务和数据逻辑。
由于JSP以组件模型为中心这一特点,可以被Java和非Java开发者同样使用。
非Java开发者可以通过JSP标签来使用Java开发者创建的JavaBean。
Java开发者不仅可以创建和使用JavaBean,还能在JSP页面使用Java语言来更精密地控制基于底层JavaBean的表达逻辑。
从形式上来看,JSP网页和Html或XML网页非常相似,即都包含用标签封装的文本。
它们的不同之处是,Html与XML网页标签被用户浏览器显示的是静态内容,而JSP标签能够通过Web服务器的处理来生成动态内容;JSP是编译式的,而Html与XML是解释式的。
1.1.4JSP运行机制
简单的说,一个JSP网页就是在Html网页中包含了能够生成动态内容的可执行Java应用程序代码,网页应用程序可能包含JavaBean、JDBC对象、EJB(EnterpriseJavaBeans)和RMI(RemoteMethodInvocation)对象等,所有这些对象都可以非常容易的从JSP网页上访问到。
例如,一个JSP网页可以包含Html代码所显示的静态信息,也可以调用一个JDBC对象来访问数据库的动态信息。
JSP所有的程序都是在服务器端运行的,服务器端接收到用户通过浏览器提交的请求,服务器端的JSP程序负责处理客户端的请求,客户请求信息被存储在Request对象中并发送给Web服务器,JSP引擎根据JSP文件的指示处理Request对象,处理结果以Response对象的方式返回给JSP引擎,JSP引擎Web服务器根据Response对象最终生成JSP页面,返回给客户端浏览器。
在这个处理执行过程中,JSP程序在首次载入时都通过JSP引擎被翻译成Servlet文件,JSP对Request对象和Response对象的处理最终都是通过Servlet来完成的。
JSP以JavaServlet为基础,JSP运行时,JSP引擎只需将JSP编译一次使之成为Servlet文件,由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到的响应多需要的时间比较长,当这个JSP页面再次被访问时,则不需要再翻译和编译,JSP引擎可以直接来执行没有变动的JSP页面,因此JSP页面的访问速度会大有提高,这样就大大提高了服务器的响应速度。
当一个JSP页面被请求时,JSP引擎首先将其和他对应的Servlet文件相比较,如果此时的JSP页面文件最新,说明原来的JSP页面已经被更新了,需要重新编译。
如果JSP页面文件没有变化,则直接执行原来的JSP页面。
1.1.5JSP与ASP、PHP的比较
目前,建立Web站点的语言主要有ASP、PHP和JSP三种,前两者的领地正在不断地被后者抢占。
随着Internet的飞速发展和技术的不断进步,开发语言、IDE和数据库,都在不断地变革发展。
在Web应用领域的ASP、PHP和JSP三种开发语言中,我们尽管可以说哪一种技术是最为流行的,但是很难说哪一种技术是组好的。
每一种技术都在它最对口的应用上,可以最大限度地发挥它的作用,可以把我们想要的功能实现的最为完美。
1.ASP
ASP(ActiveServerPages)是微软的WindowsIIS系统自带的脚本语言,利用它可以执行动态的Web服务应用程序。
ASP的语法非常类似VisualBasic,学过VB的人可以很快上手,ASP也是这几种脚本语言中最简单易学的开发语言。
ASP脚本简单、代码易懂,可快速地开发网站应用程序,是小型网站应用的最佳选择,但ASP也是这几种语言中唯一的不能支持跨平台的语言。
2、PHP
PHP(HypertextPreprocessor)是一种嵌入Html页面中的脚本语言。
它大量地借用C和Perl语言的语法,并结合PHP自己的特性,使Web开发者能够快速地开发动态网页。
PHP是完全免费的开源产品,但PHP因为结构上的缺陷,使其只适合编写小型的网站系统。
3、JSP
JSP(JavaServerPages)是Sun公司推出的一种动态网页技术。
JSP技术是以Java语言为基础,熟悉Java语言的人可以快速上手。
JSP本身虽然也是脚本语言,却和PHP、ASP有着本质的区别。
PHP和ASP都是由语言引擎解释执行程序代码,而JSP代码却被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。
因此,普遍认为JSP的执行效率比PHP和ASP都高。
JSP在技术结构上有着其他脚本语言所没有的优势:
JSP可以通过JavaBean等技术实现内容的产生和显示相分离,并且JSP可以使用JavaBean或者EJB(EnterpriseJavaBean)来执行应用程序所要求的更为复杂的处理,进而完成企业级的分布式的大型应用。
虽然JSP配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型网站系统来讲,JSP技术(结合JavaBean和EJB)几乎成为唯一的选择,不少国外的大型企业系统和商务系统都使用JSP技术。
作为Java技术家族的一部分,JSP技术能够支持高度复杂的基于Web的应用。
简而言之,JSP相比较而言,没有最好,只有更好。
1.1.6JSP技术优势
作为一种流行的Web开发工具,JSP与其他动态网站开发技术比较,具有以下特点和优势。
1、平台和服务器的无关性
JSP应用程序可以跨平台执行,具有平台无关性,能够运行于Windows、LinuxUNIX、Solaris和AIX等操作系统。
具有“一次编写,到处运行”
的技术优势。
现在已经有许多Web服务器支持JSP,JSP具有良好的可移植性。
2.执行效率高
JSP是以JavaServlet为基础,JSP运行时,JSP引擎只需将JSP编译一次使之成为Servlet文件,当有相同的客户请求时,JSP服务器将产生一个该Servlet文件的一个线程来响应,而不是重新编译执行JSP文件,这样就大大提高了服务器的响应速度。
3.代码可重用性
JSP可以将商业逻辑封装在组件中,用来执行一些复杂的处理,这样有助于实现JSP页面的模块化,便于开发人员的分工协作,如组件开发人员可以专注于组件开发,JSP页面编写人员可以专注于页面开发,在需要处理逻辑的地方使用组件,而不必要关心其实现细节,并且当应用逻辑发生变动时,只须改动组件而不必更改JSP代码。
这样,就极大地提高了代码的可重用性,增强了系统的可伸缩性,符合软件工程的设计思想。
4.易于维护性
使用JSP技术构建的应用程序更加易于维护和管理。
JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得很容易实现。
由于JSP的开放性和跨平台性,能够适用现实世界的各种Web应用程序不断的变化和发展。
5.开发工具全面强大
目前市面上有很多优秀的Java开发工具,Eclipse、NetBeans和JBuilder等,借助这些开发工具进行JSP开发,可以高效地编写JSP代码。
6.快速上手,学习容易
JSP是以Java语言为基础的,而Java语言语法简单,可以快速上手。
JSP程序设计员在网页制作人员设计的Html页面的基础上,找到需要插入JSP代码的地方编写JSP程序,就成为了JSP页面。
1.4JSP开发Web网页的主要方式
根据开发规模的不同,JSP开发Web站点主要有以下几种方式。
(1)直接使用JSP
这种方法最为简单,适合于一些小型的Web站点。
在这种模式中,JSP页面可以利用JavaScript进行简单的业务逻辑处理。
(2)JSP+JavaBean
这种方法适合中小规模的Web站点。
由于此类站点具有一定规模的商业逻辑,可以采用商业逻辑和界面显示分开处理,利用JavaBean技术,对商业逻辑进行封装。
商业逻辑可由专门的Java程序设计人员进行编写,而界面则有另外的人员设计。
(3)JSP+JavaBean+Servlet
在逻辑关系异常复杂的网站中,借助于Servlet与JSP良好的交互关系以及JavaBean技术,利用JavaBean技术对商业逻辑进行封装,利用Servlet技术对逻辑结构进行封装,利用JSP页面输出动态页面。
在JavaEE模型中,Servlet的这项功能可以被EJB代替。
(4)JavaEE
JavaEE平台规范是一个用于简化分布式应用开发与部署的基于组件的模式。
这种设计模式采用框架技术,用于快速实现客户解决方案,建立企业应用程序。
JSP作为JavaEE的一个组成部分,可用于开发各种规模的Web站点。
对于大型复杂的Web应用可以采用JavaEE模型。
JavaEE可以广泛地采用框架技术和EJB技术。
EJB可用于开发和部署多层结构的、分布式的、面向对象的Java应用跨平台构件体系结构。
采用EJB可以使得开发商业应用系统变得容易,增强了应用程序的可靠性、灵活性、可移植性和可扩展性。
1.5JSP框架简介
随着软件功能的要求越来越高,Web应用系统的开发也变得越来越复杂。
在软件开发过程中,应最大限度地实现资源重用,快速高质量地开发出符合用户需要的产品,于是作为设计模式的框架技术应运而生。
框架是建立在成功的解决方案基础之上的可以重复利用的架构模式,有利于软件开发技术和经验的重复利用,最大限度地降低软件开发风险,提高软件开发效率。
JSP作为主流JavaEE应用开发技术,可以单独设计Web应用系统,也可以用于各种JavaEE的视图层设计。
随着JSP技术的发展和大型Web应用的需要,JSP框架技术已经受到了前所未有的重视。
目前广为流行的JSP框架技术主要有以下几个。
(1)Struts框架
Struts是一种开放源代码的Web应用开发框架,是Apache基金会的一个开源项目。
它很好地融合了JavaBean、Servlet、JSP和Taglib,为JavaEE开发提供了一个高效率的MVC框架。
在MVC的众多框架中,由于Struts出现的的较早,而且有丰富的文档,所市场占有率较高。
Struts基于MVC(Model-View-Controller,模型-视图-控制器)设计模式。
其中,模型Model是指业务逻辑,视图View是指表示层,即应用程序与用户的交互界面,控制器Controller用于处理用户请求并做出响应,在模型和施与中起到一个桥梁的作用,它根据用户的请求选择响应的模型并返回指定的视图。
Struts将Web应用的业务逻辑、控制逻辑和视图逻辑相分离,让开发人员可以把主要精力放在如何解决实际业务处理的问题上。
同时,Struts框架也允许开发人员根据实际需要进行扩展和定制,从而更好地适应用户的实际需求。
作为一个比较成熟的框架,Struts框架可以很好地实现代码的重新利用,快速开发具有强大可扩展性的Web应用。
Apache基金会的Struts框架项目提供了Struts框架的两个主要版本,即Struts1和Struts2。
Struts1是目前应用最广泛的Web应用开发,也是解决很多软件设计问题的最佳选择,也是目前MVC设计模式的的一种最为成熟的、稳定的的经典的Struts框架。
Struts2是整合Struts2和WebWork两个框架而来的,是一个可扩展的企业级的JavaEEWeb应用框架。
Struts框架为开发者提供可重用的基础构架,从而减少开发Web应用开发时间,提高工作效率。
框架设计简化了整个开发周期,它正方兴未艾,被认为是一种解决复杂应用的最佳方案。
本书将在第十五章介绍Struts框架技术与应用。
(2)Hibernate框架
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,更为重要的是,Hibernate可以在应用EJB的JavaEE架构中取代CMP,完成数据持久化的任务。
Hibernate的工作方式为,通过创建一个XML的映射文档,告诉Hibernate希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。
运行时,Hibernate读取映射文档,然后动态构建Java类,以便管理数据库与Java之间的转换。
本书将在第十六章介绍Hibernate框架技术与应用。
(3)Spring框架
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。
框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为JavaEE应用程序开发提供集成的框架。
Spring框架的功能可以用在任何JavaEE服务器中,大多数功能也适用于不受管理的环境。
Spring的核心要点是,支持不绑定到特定JavaEE服务的可重用业务和数据访问对象。
毫无疑问,这样的对象可以在不同JavaEE环境(Web或EJB)、独立应用程序和测试环境之间重用。
1.6JSP简单应用
使用文本编辑编写以下两个JSP页面,在后面的章节将介绍使用Eclipse开发工具进行JSP应用开发。
第一个页面中输出一行文本信息,具体代码如例程1-2所示。
【例程1-1】firstJSP.jsp
<%@pagecontentType="text/html;charset=gb2312"%>
<%
out.print("
%>
本例运行效果如图1-1所示。
图1-1第一个JSP页面
2.第二个JSP页面输出图书表信息,具体代码如例程1-2所示。
【例程1-2】secondJSP.jsp:
<%@pagecontentType="text/html;charset=gb2312"import="java.sql.*"%>
.style1{
font-size:
12px;
color:
#666666;
}
.style2{
font-size:
12px;
color:
#ff6600;
}
cellspacing="1">书名
<%
Stringdriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//驱动程序
Stringurl="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=data";//数据库连接字符串(data为数据库名)
Stringusername="sa";//用户名
Stringpassword="bb";//用户密码
try{
Class.forName(driver).newInstance();//加载驱动
Connectioncon=DriverManager.getConnection(url,username,
password);//获取连接
Statementstmt=con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
Stringsql="select*frombook";//构造SQL语句
ResultSetrs=stmt.executeQuery(sql);//获取查询结果集
while(rs.next()){
%>
<%
}
}catch(Exceptione){
System.out.println("获取数据出错!
"+e.getMessage());
e.getStackTrace();
}
%>
这段代码以表格的形式展示了图书表信息。
其中,有基本的Html脚本、JSP代码和数据库JDBC技术,这些内容将在后面的章节中介绍,其中涉及的知识在通读完本书后就会迎刃而解。
本例运行效果如图1-2所示。
图1-2图书信息一览表
1.7总结
JSP是一种用于建立动态网页的技术标准,具有跨平台性和运行效率高的特点,作为目前最为流行的Web开发语言之一,已被越来越多的程序员喜欢和使用。
基于Java的JSP动态网页开发技术,简单易学,能够快速上手。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 开发 应用 概览