您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第3章-JSP和Servlet
1南京理工大学计算机学院第3章JSP和Servlet第3章JSP和Servlet前一页休息南京理工大学计算机学院2本章主要内容JSP技术概述JSP技术特征JSP工作原理JSP的注释方式3.3JSP声明方式3.4JSP表达式3.5JSP脚本段3.6JSP编译指令3.7JSP动作指令3.8JSP内置对象3.9Servlet开发流程3.10HttpServlet的应用3.11Servlet生命周期3.13Servlet过滤器3.14Servlet监听器第3章JSP和Servlet前一页休息南京理工大学计算机学院33.1JSP技术概述第3章JSP和Servlet前一页休息南京理工大学计算机学院4JSP技术概述----软件的编程体系B/S结构(Browser/Server)浏览器端:HTML/CSS/JavaScript/VBScript服务器端:ASP/PHP/JSP/Asp.netC/S结构(Client/Server)VB/VC++/C#/Delphi/Java/.net系列两大语法体系:Basic系:VB/VBScript/ASP(VBScript)/VB.net、VBAC系:Java/JavaScript/C++/C#/PHP/JSP/ASP(JScript)数据库支持:SQLServer/Oracle/Sybase/MySQL第3章JSP和Servlet前一页休息南京理工大学计算机学院5JSP技术概述----软件的编程体系B/SC/S第3章JSP和Servlet前一页休息南京理工大学计算机学院6JSP技术概述----软件的编程体系Java应用开发体系JavaSE标准版JavaPlatformEnterpriseEdition用于创建典型的桌面与工作站应用的Java平台JavaME微型版JavaPlatform,MicroEdition用于创建嵌入式应用程序(如PDA、智能手机)JavaEE企业版JavaPlatform,EnterpriseEdition用于创建可扩展的企业应用第3章JSP和Servlet前一页休息南京理工大学计算机学院7JSP技术概述----JavaEE核心技术规范第3章JSP和Servlet前一页休息南京理工大学计算机学院8JSP技术概述----JavaEE核心技术规范JDBC(JavaDatabaseConnectivity,Java数据库连接)JNDI(JavaNamingandDirectoryInterface,Java命名和目录接口)EJB(EnterpriseJavaBean,企业级JavaBean)RMI(RemoteMethodInvocation,远程方法调用)JSP(JavaServerPages,Java服务器端页面)Servlet(服务器端小程序)XML(eXtensibleMarkupLanguage)JMS(JavaMessagingService,Java消息服务)IDL(InterfaceDescriptionLanguage,接口描述语言)JTA(JavaTransactionArchitecture,Java事务框架)JTS(JavaTransactionService,Java事务服务)JavaMail(Java邮件)JAF(JavaBeanActivationFramework,JavaBean活动框架)第3章JSP和Servlet前一页休息南京理工大学计算机学院9JSP技术概述----WEB的演变HTMLWEB服务器静态网页客户端客户端请求访问页面返回给客户端页面(所有用户都一样)第3章JSP和Servlet前一页休息南京理工大学计算机学院10JSP技术概述----WEB的演变动态页WEB服务器数据库服务器客户端A客户端A请求访问页面客户端B请求访问页面返回针对客户端A页面返回针对客户端B页面第3章JSP和Servlet前一页休息南京理工大学计算机学院11JSP技术概述----WEB的演变动态web特点交互性:网页根据用户的选择而动态改变和响应。自动更新:自动生成新的页面。因时因人而变:即不同的时间、不同的人访问同一网站时会产生不同的页面。第3章JSP和Servlet前一页休息南京理工大学计算机学院12JSP技术概述----Java语言简单-Java设计人员删除了C++中许多复杂的功能,如指针操纵和运算符重载等面向对象-在Java中任何东西都是对象。好处之一就是可以设计出可重复使用的组件健壮性-Java在编译和解释时都会检查代码安全性-自动垃圾回收机制、异常处理机制等分布式-Java可用于开发能够在多个平台、操作系统和图形用户界面之间移植的应用程序多线程-Java程序使用称为“多线程”的进程同时处理多项任务第3章JSP和Servlet前一页休息南京理工大学计算机学院13JSP技术概述----Servlet技术Servlet是在JSP之前就存在的运行在服务端的一种Java技术,它是用Java语言编写的服务器端程序,Java语言能够实现的功能,Servlet基本上都可以实现(除图形界面外)。Servlet主要用于处理Http请求,并将处理的结果传递给浏览器生成动态Web页面。Servlet具有可移植(可在多种系统平台和服务器平台下运行)、功能强大、安全、可扩展和灵活等优点。第3章JSP和Servlet前一页休息南京理工大学计算机学院14JSP技术概述----JavaBean技术JavaBean是根据特殊的规范编写的普通的Java类,可称它们为“独立的组件”。每一个JavaBean实现一个特定的功能,通过合理地组织具有不同功能的JavaBean,可以快速地生成一个全新的应用程序。对于程序开发人员来说,JavaBean的最大优点就是充分提高了代码的可重用性,并且对程序的后期维护和扩展起到了积极的作用。第3章JSP和Servlet前一页休息南京理工大学计算机学院15JSP技术概述----JavaBean技术假如一台汽车是一个应用程序不同零件就是有不同功能的JavaBean第3章JSP和Servlet前一页休息南京理工大学计算机学院16JSP技术概述----JSP技术JavaServerPages简称JSP,是由Sun公司倡导,与多个公司共同建立的一种技术标准。JSP是运行在服务器端的脚本语言之一,是用来开发动态网页的一种技术。JSP是在Servlet的基础上开发的技术,它继承了JavaServlet的各项优秀功能。第3章JSP和Servlet前一页休息南京理工大学计算机学院173.2JSP技术特征第3章JSP和Servlet前一页休息南京理工大学计算机学院18JSP技术特征----跨平台JSP是以Java为基础开发的,可以沿用Java强大的API功能,不管是在何种平台下,只要服务器支持Java,就可以运行使用JSP开发的Web应用程序,体现了它的跨平台、跨服务器的特点。JSP支持多种操作系统平台:第3章JSP和Servlet前一页休息南京理工大学计算机学院19JSP技术特征----分离静态内容和动态内容使用JSP,程序员可以使用HTML或XML标记来设计和格式化静态内容,并通过JSP标记及JavaBean组件来制作动态内容。服务器将执行JSP标记和小脚本程序,并将结果与页面中的静态部分结合后以HTML页面的形式发送给客户端浏览器。程序员可以将一些业务逻辑封装到JavaBean组件中,Web页面的设计人员可以利用程序员开发的JavaBean组件和JSP标记来制作出动态页面,而且不会影响到内容的生成。第3章JSP和Servlet前一页休息南京理工大学计算机学院20JSP技术特征----可重复使用的组件JSP程序通过JavaBean组件来执行所要求的更为复杂的运算。JavaBean组件不仅可以应用于JSP中,同样适用于其他的Java应用程序中。这种特性使得开发人员之间可以共享JavaBean组件,加快了应用程序的总体开发进程。同样,JSP的标准标签和自定义标签与JavaBean组件一样可以一次生成重复使用。这些标签都是通过编写的程序代码来实现特定功能的,可以将一个复杂而且需要出现多次的操作简单化,大大提高了工作效率。第3章JSP和Servlet前一页休息南京理工大学计算机学院21JSP技术特征----沿用了Servlet的所有功能相对于JavaServlet来说,使用从JavaServlet发展而来的JSP技术开发Web应用更加简单易学,并且JSP同样提供了JavaServlet所有的特性。实际上服务器在执行JSP文件时先将其转换为Servlet代码,然后再对其进行编译,可以说JSP就是Servlet,创建一个JSP文件其实就是创建一个Servlet文件的简化操作。理所当然,Servlet中的所有特性在JSP中同样可以使用。第3章JSP和Servlet前一页休息南京理工大学计算机学院22JSP技术特征----预编译预编译是JSP的另一个重要的特性。JSP页面在被服务器执行前,都是已经被编译好的,并且通常只进行一次编译,即在JSP页面被第一次请求时进行编译,在后续的请求中如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码,这大大提高了访问速度。第3章JSP和Servlet前一页休息南京理工大学计算机学院233.3JSP工作原理第3章JSP和Servlet前一页休息南京理工大学计算机学院24JSP的工作原理JSP的工作原理图如下图所示对该原理图进行说明如下:第3章JSP和Servlet前一页休息南京理工大学计算机学院25JSP的工作原理当一个JSP页面第一次被请求时,容器首先会把JSP页面转换成Servlet。在转换时,所有HTML标签将被包含在println()语句中,所有JSP元素将会被转换成Java代码。在转换的过程中,若JSP页面存在语法错误,转换会被终止,并向服务器和客户端输出错误信息。如果转换成功,转换后的Servlet会被编译成相应的class文件。在调用Servlet时,首先执行jspInit()方法,然后调用jspService()方法处理客户端的请求。对客户端发送的每一个请求,JSP容器都会创建一个新的线程来处理。如果有多个客户端同时请求该JSP文件,JSP容器会为每个客户端请求创建对应一个线程。如果jsp文件被修改,服务器将根据设置决定是否对该文件进行重新编译。如果重新编译,内存中的Servlet会被新的编译结果取代。Servlet被处理完毕以后,调用jspDestroy()方法结束它的生命周期,同时被JVM(Java虚拟机)的垃圾回收器回收。第3章JSP和Servlet前一页休息南京理工大学计算机学院26JSP处理过程带有JSP引擎的Web服务器客户端请求客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的资源JSP文件加载服务器根据接收到的客户端的请求来加载被请求的JSP文件Servlet代码转化Web服务器中的JSP引擎会将被加载的JSP文件转化为ServletClass文件编译JSP引擎将生成的Servlet代码编译成Class文件执行服务器执行这个class文件响应服务器将执行结果发送给浏览器进行显示注:虚线箭头代表服务器的操作第3章JSP和Servlet前一页休息南京理工大学计算机学院27JSP处理过程注意:以上流程仅适用于页面首次被访问时。当对该页面再次进行请求时,若页面没有进行任何改动,服务器直接调用class文件执行。所以当某个JSP页面第一次被请求时,会有一些延迟,而再次访问时会感觉快了很多。如果被请求的页面经过修改,服务器将会重新编译这个文件,然后执行。第3章JSP和Servlet前一页休息南京理工大学计算机学院28JSP处理过程%@pagecontentType=text/html;charset=gb2312%%@
本文标题:第3章-JSP和Servlet
链接地址:https://www.777doc.com/doc-4125371 .html