栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

第六章 JSP技术

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第六章 JSP技术

JSP技术

6.1JSP概述
6.1.1什么是jsp
JSP全名是Java Server Pages,它是建立在Servlet 规范之上的动态网页开发技术。在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。为了与传统HTIML有所区别,JSP文件的扩展名为:jsp。

JSP技术所开发的Web应用程序是基于Java的,它可以用一种简捷而快速 的方法从Java程序生成Web页面,其使用上具有如下几点特征。

跨平台:由于JSP是基于Java语言的,它可以使用Java API,所以它也是跨平台的,可以应用于不同的系统中,如Windows、Linux等。 当从一个平台移植到另一个平台时,JSP和JavaBean的代码并不需要重新编译,这是因为Java的字节码是与平台无关的,这也应验了Java语言“一次编译,到处运行”的特点。

业务代码相分离:在使用JSP技术开发Web应用时,可以将界面的开发与应用程序的

开发分离开。开发人员使用HTML来设计界面,使用JSP标签和脚本来动态生成页面上的内容。在服务器端,JSP引擎(或容器,本书中指Tomcat )负责解析JSP标签和脚本程序,生成所请求的内容,并将执行结果以HTML页面的形式返回到浏览器。

组件重用: JSP中可以使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者作为一一个数据存储模型,在JSP页面中,甚至在整个项目中,都可以重复
6.1.2编写一个JSP文件
在Eclipse中,创建一个名称为chapter07的Web项目,然后右键单击WebContent一[new]→[Other],在弹出的窗口中找到JSP文件
选择JSP File后, 点击[Next ]按钮,在新窗口的File name文本框中填与JSP文件名称"HelloWorld"。


6.2JSP基本语法
在JSP文件中可以去套很多内容,例如,JSP的脚本元素和注释等,这些内容的编写都需要遵循一定的语法规范。接下来,本节将针对这些语法进行详细的讲解。

6.2.1 JSP 脚本元素

JSP脚本元素是指嵌套在<%和%>之中的一条或多条Java程序代码。通过JSP脚本元素可以将Java代码嵌入HTML页面中,所有可执行的Java代码,都可以通过JSP脚本来执行。JSP脚本元素主要包含如下3种类型。

JSP scriptlets

. JSP声明语句

●JSP表达式
2.JSP声明语句
下所示。JSP的声明语句用于声明变量和方法,它以“<%“开始,以“%>” 结束,其语法格式如

<%!

定义的变量或方法等

%>

在上述语法格式中,被声明的Java代码将被编译到Serlet的jsService(方法之外,即在JSP声明语句中定义的都是成员方法、成员变量、静态方法、静态变量、静态代码块等。在JSP

声明语句中声明的方法在整个JSP页面内有效,但是在方法内定义的变量只在该方法内有效。当声明的方法被调用时,会为方法内定的变量分配内存,而调用结束后立刻会释放所占的内存。

在一个JSP页面中可以有多个JSP声明语句,单个声明中的Java语句可以是不完整的,但

是多个声明组合后的结果必须是完整的Java语句。接下来,通过一个案例来演示JSP scriptlets

和声明语句的使用。

在chapter07项目的WebContent目录下创建一个名称为example01jsp的文件,在该文件
中编写声明语句。
6-1 example01.jsp


3.JSP表达式
JSP表达式( expression )用于将程序数据输出到客户端,它将要输出的变量或者表达式直接封装在以“<%=”开头和以“%>”结尾的标记中,其基本的语法格式如下所示。
<%= expression %
在上述语法格式中,JSP表达式中的变量或表达式的计算结果将被转换成一个字符串,然后插入到JSP页面输出结果的相应位置处。例如,对example01.jsp文件进行修改,将内的脚本元素修改为表达式,具体如下。
<%=a+b %>

<%=print()%>
在浏览器中再次访问example01.jsp页面,同样可以正确输出图6-8所示的显示结果。需要注意的是,“<%=”和“%>”标记之间插入的是表达式,不能插入语句。“<%=”是一个完整的符号,“<%”和“=”之间不能有空格,且JSP表达式中的变量或表达式后面不能有分号(。
6.2.2 JSP注释
在chapter07项目目的WebContent目录下创建一一个名称为example02的JSP页面
example02 jsp


6.3JSP指令
6.3.1 include 指令
在实际开发时,有时需要在JSP页面静态包含-一个文件, 例如HTML文件、文本文件等,这时,可以通过include指令来实现。include 指令的具体语法格式如下所示。

<%@include file=“被包含的文件地址”%>中日

include指令只有一个file 属性,该属性用来指定插入到JSP页面目标位置的文件资源。需

要注意的是,插入文件的路径一般不以 “/” 开头,而是使用相对路径。

为了使读者更好地理解include指令的使用,接下来,通过一个案例来学习include指令的具体用法。

在chapter06项目的WebContent目录下创建两个JSP页面date.jsp和include.jsp,在

include.jsp文件中使用include指令将date.jsp文件包含其中,具体如下所示。
date.jsp

启动tomcat服务器,在浏览器访问其地址:


6.4JSP隐式对象
6.4.2 out对象

在JSP页面中,经常需要向客户端发送文本内容,这时,可以使用out对象来实现。out对象是javax servlet.jsp.JspWriter类的实例对象,它的作用与ServletResponse.getWriter()方法返回的PrintWriter对象非常相似,都是用来向客户端发送文本形式的实体内容。不同的足,out对象的类型为JSpWriter, 它相当于一种带缓存 功能的PintWriteror接下来,通过一张图来描述JSP页面的out对象与Servlet引擎提供的缓冲区之间的工作关系,具体如图6-11所示。

从图6-11可以看出,在JSP页面中,通过out隐式对象写入数据相当于将数据插入到JspWriter对象的缓冲区中,只有调用了ServletResponse getWriter()方法,缓冲区中的数据才能真正写入到Servlet引擎所提供的缓冲区中。为了验证上述说法是否正确,接下来,通过一个具体的案例来演示out对象的使用。

在chapter07项目的WebContent目录下创建一个 名称为out的JSP页面.
out.jsp

启动Tomcat服务器,在浏览器地址栏中访问"tp:/ocalhost:8080/chapter07/out.jsp",浏览器的显示结果如图6- 12所示。

6.4.3 pageContext 对象

在JSP页面中,使用pageContext对象可以获取JSP的其他8个隐式对象。pageContext对象是javax. servlet.jsp PageContext类的实例对象,它代表当前JSP页面的运行环境,并提供了一系列用 于获取其他隐式对象的方法。pageContext 对象获取隐式对象的方法如表6- -3所示。

表6-3 pageContext 获取隐式对象的方法

表6-3中列举了pageContext获取其他隐式对象的方法,这样,当传递一个pageContext对象后,就可以通过这些方法轻松地获取到其他8个隐式对象了。

pageContext对象不仅提供了获取隐式对象的方法,还提供了存储数据的功能。pageContext对象存储数据是通过操作属性来实现的,表6-4列举了pageContext操作属性的一系列方法,具体如下。

称参数scope指定的是属性的作用范围。pageContext 对象的作用范围有4个值,具体如下。pageContext.PAGE SCOPE:表示页面范围

pageContext.REQUEST_ SCOPE:表示请求范围

. pageContext. SESSION SCOPE:表示会话范围

. pageContext.APPLICATION SCOPE:表示Web应用程序范围
需要注意的是,当使用findttribute()方法查找名称为name 的属性时,会按照page、request、session 和application的顺序依次进行查找,如果找到,则返回属性的名称,否则返回null。接下来,通过一个案例来演示pageContext对象的使用。

在chapter07项目的WebContent目录下创建-一个 名称为pageContext.jsp 的页面。
pageContext.jsp

启动Tomcat服务器,在浏览器的地址栏中输入地址“http /ocalhos:9999/chapter06/pageContext.jsp**


6.4.4 exception 对象

在JSP页面中,经常需要处理一 些异常信息,这时,可以通过exception 对象来实现。exception对象是java.lang .Exception类的实例对象,它用于封装JSP中抛出的异常信息。需要注意的是,exception对象只有在错误处理页面才可以使用,即page指令中指定了属性<%@page isErrorPage=“true”%>的页面。接下来,通过一个案例来学习exception 对象的使用。

在chapter06项目的WebContent目录下创建一个 名称为exception.jsp的页面,在其中编写发生异常的代码。
exception.jsp

在WebContent目彖下創建一个名称カ error.iso的頁面.在其中茯取从exception.jsp頁面中侍速辻来的exception対象。需要注意的是.在其paae指令中要將isErrorPage属性没置カtrue.
error.jsp

启动Tomcat服务器,在浏览器的地址栏中输入地址“http /ocalhos:9999/chapter06/error.jsp

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510149.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号