Java Web程序开发与分析课件:JSP编程(一)_第1页
Java Web程序开发与分析课件:JSP编程(一)_第2页
Java Web程序开发与分析课件:JSP编程(一)_第3页
Java Web程序开发与分析课件:JSP编程(一)_第4页
Java Web程序开发与分析课件:JSP编程(一)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

JavaWeb程序设计

——JSP编程(1)2主要内容JSP简要概述JSP基本语法3JSP介绍:

JSP(JavaServerPage)是由SunMicrosystems公司倡导、其他一些公司参与一起建立的一种动态网页技术。

JSP技术是用Java语言作为脚本语言(服务器),在传统的HTML网页文件中,加入Java程序片断和JSP标记,而构成了JSP页面。

4JSP介绍:Web服务器在得到访问JSP网页的请求时,首先执行其中的程序片断,然后将执行结果以HTML页面的方式返回给客户端。

实现动态部分的JSP脚本代码和普通程序设计的逻辑是一样的,但是它们会以标签的方式被嵌入在网页中,形式和HTML文档很类似。5什么是JSP?JSP是基于Java的技术,用于创建支持跨平台及Web服务器的动态网页。JSP页面是普通的HTML语句和特殊的基于Java语言的嵌入标记所组成,因此,它具有Web和Java功能的双重特性。

JSP1.0规范是在1999年推出,此后经历了好几个版本的发展,到2.0版本(2003年),JSP2.3规范在2013年发布。6

下面分析一下JSP页面及其运行过程:<%@pagelanguage="java"%><html><head><title>HelloWorld</title></head><body><%out.print("HelloWorld!!");%></body></html>Page指令,说明使用的语言为JavaJSP代码7运行结果:8

在JSP页面中,采用标记<%...%>将JSP代码与HTML语句相分离,该标记所包含的内容为网页中的动态部分;可以看出,JSP是基于Java语言和HTML元素的一种动态网页技术,是一种简便、有效的动态网页编写方式;

JSP的执行效率比较高,它是运行在Java虚拟机之上的,因此,可以在任何支持Java的平台和操作系统上运行。9JSP的运行过程:JSP文件的执行方式是“编译式”,而不是“解释式”,即在执行JSP页面时,是把该文件先被编译为Servlet(Java中的一个类)形式的Java类型的字节码文件,然后通过Java虚拟机来运行;每个基于JSP的页面都被服务器事先解析成一个Servlet对象,服务器通过网络接收来自客户端HTTP的请求后,Servlet将开启一个“线程”来提供服务。10

通过前面对JSP程序的解析,JSP页面的执行可分成两个阶段,一个是转换阶段,一个是请求阶段。(1)转换阶段:JSP页面转换成Servlet类对象。在该阶段JSP文件将被转译到Java类文件,同时由服务器自动将Java类编译为Class文件,并载入内存。(2)请求阶段:Servlet执行,将响应结果发送至客户端。在该阶段Class文件将被执行并生成HTML代码,并将代码发送给客户端浏览器。 下面为JSP的执行流程示意图:1112

因此,如果一个JSP页面是第一次执行,那么会经历两个阶段;而如果不是第一次执行,那么将只会执行第二阶段。这也是为什么第二次执行JSP页面时明显比第一次要快。如果修改了JSP页面,服务器发现该JSP页面被修改,并重新执行转换阶段和请求阶段。13主要内容JSP简要概述JSP基本语法14JSP语法分为脚本元素(ScriptingElements)、指令元素(DirectiveElements)和动作元素(ActionElements)。

JSP页面是由JSP元素(Elements)和模板数据(TemplateData)组成。其中,JSP元素是由JSP应用服务器(JSP引擎)直接进行处理,而模板数据是直接发送给客户端,为静态的HTML语句内容。15分析JSP文件的组成元素:<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>//指令<html><head><title>HelloWorld</title></head><body><%!intnumber=2;%>//声明一个变量(全局)16<%!publicintcount(){returnnumber++;}%>//声明一个方法<%out.print(“HelloWorld!!”);%>//输出<br><%="Youarethe"+count()+"people!!"%><br></body></html>17运行结果:18运行结果(IE浏览器):19该JSP页面所包含的元素有:(1)page指令<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

这行代码为page指令,是JSP指令元素的一种。

20

(2)声明

<%!intnumber=2;%><%!publicintcount(){returnnumber++;}%>

声明是脚本元素的一部分,这里声明了一个变量和方法。21

(3)输出

<%out.print(“HelloWorld!!”);%>

out是JSP中的默认对象,主要用来输出数据到客户端网页中,print()则是out对象提供将字符串数据输出的方法。

<%="Youarethe"+count()+"people!!"%>

这行代码使用了表达式,且调用了count()方法。22(1)隐藏注释为了使程序具有较好的可读性,用户可以在JSP代码中加入隐藏注释。其语法格式为:

<%--comment--%>

隐藏注释的字符在JSP编译时会被忽略,其不会发送给客户端的浏览器。23(2)HTML注释

HTML注释也称为显示注释,即用户能在客户端看到注释内容。其语法格式为:

<!–comment[<%=表达式%>]-->

可以通过浏览器中的查看源文件命令来看其代码。24例:两种注释方式的比较

<html><head><title>comparison</title></head><body><%--Hiddencomment--%><!--Thispagewasloadedon<%=(newjava.util.Date()).toLocaleString()%>-->Thetimeis:<%=(newjava.util.Date()).toLocaleString()%></body></html>隐藏注释HTML注释25运行结果:26查看源文件:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><html><head><title>comparison</title></head><body>//HTML注释:<!--Thispagewasloadedon2012-3-169:40:15-->Thetimeis:2012-3-169:40:15</body></html>27(3)JSP脚本元素

JSP脚本元素包括三种形式:脚本段scriptlet声明declaration表达式expression28脚本段scriptlet

形如:<%statements%>,将代码包围在JSP标签中。

它在请求时,将执行若干个Java语句。这些语句会被转换到_jspService()方法中,成为方法体的一部分。29表达式expression

格式如:<%=expression%>。它将计算表达式的值,并将结果作为文本插入到HTML输出中。声明declaration

如<%!fielddefinition%>和<%!methoddefinition%>。

该变量或方法在JSP页面被编译成Java类时,成为该Java类的成员变量或成员方法。30JSP中的变量可以分为局部变量和全局变量,在JSP中声明变量时,要注意变量的定义域:1)在程序片断中,即在<%%>中声明的变量是局部变量,它们对外部的函数是不可见的;2)在<%!%>中声明的变量是全局变量,这种变量在整个JSP页面内都有效。因为,在将JSP页面编译成Java文件时,是将这些变量作为类的成员变量;3)在<%!%>中声明的方法,该方法在整个JSP页面中有效,但在该方法中定义的变量只在该方法中有效。31例:局部变量与全局变量

<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""/TR/html4/loose.dtd"><%!intNum=0;%><%intcount=0;%>全局变量局部变量32<html><head><title>Welcome</title></head><body><h1><%="Welcome!"%></h1><br><%Num++;count++;%><%="Num="+Num%><br><%="count="+count%></body></html>输出33运行结果(第一次运行):34运行结果(第二次运行):35例:方法的声明<html><body><p>Inputradius:</p><form

action="Method.jsp"

method="get"name="form"><inputtype="text"name="radius"><inputtype="submit"name="submit"value="Calculate"></form><%!doublearea(doubler){returnMath.PI*r*r;}%>Form表单声明方法36<%Str

温馨提示

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

评论

0/150

提交评论