2.jsp基础和内置对象.ppt
《2.jsp基础和内置对象.ppt》由会员分享,可在线阅读,更多相关《2.jsp基础和内置对象.ppt(48页珍藏版)》请在三一办公上搜索。
1、JSP简介 JSP的优势 JSP页面构成 JSP的生命周期 JSP的处理过程 JSP异常处理机制,本章内容,1.JSP简介,以下的Servlet代码有何缺陷?,.out.print(部门信息管理);out.print();out.print();out.print(在线招聘系统注册);out.print(“”);.,所有的内容必须在Java代码中完成,包括HTML代码同样需要嵌入到程序代码中来生成静态内容,不利于分工,因HTML代码出现的小问题也需要由熟悉Java Servlet的程序员来解决,1.1 为什么需要JSP?,JSP(Java Server Pages)是指:在HTML中嵌入Jav
2、a脚本语言由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本语言命令将生成的整个页面信息返回给客户端,1.2 什么是JSP,JSP页面,数据库服务器,应用服务器,客户端,Java脚本语言,1,2,3,4,JSP技术解决界面显示问题 Servlet主要解决内部逻辑问题,1.3 JSP与Servlet的适用场合,商品显示列表功能,内容动态生成与静态表示分离可重复使用的组件简化页面开发跨平台,2.JSP的优势,JSP基础入门今天是:,3.JSP页面构成,静态内容,指 令,表达式,Scriptlet,HTML静态文本,以“”结束,例如:,声 明,标准动作,以“”结束,例如:,注释,JSP页面构成
3、,输出当前日期你好,jack!今天是,指令,静态内容,Scriptlet,表达式,注释,在浏览器中观看运行结果,JSP页面构成,查看网页源文件,可以通过源代码查看HTML注释的内容,所有注释内容都不可见,合理、详细的注释有利于代码后期的维护和阅读在JSP文件的编写过程中,共有3种注释方法HTML的注释方法:JSP注释标记:在JSP脚本中使用,JSP页面构成,缺点:不安全,加重了网络传输的负担,页面初始化处理客户端请求并做出应答 退出JSP,4.JSP的生命周期,该方法中可以进行一些资源的分配,或者初始化变量和属性,JSP处理客户请求并应答时会调用_jspService()方法,JSP在页面结束
4、之前(主要是关闭服务器)会调用_jspDestroy()方法,服务器根据接收到的客户请求来加载被请求的JSP文件Web服务器中的JSP引擎将被加载的JSP文件转化为Servlet代码JSP引擎将生成的Servlet代码编译成class文件服务器执行这个class文件服务器将执行结果发送到浏览器进行显示,5.JSP的处理过程,客户端,JSP文件,Servlet文件,class文件,Servlet实例,JSP容器,JSP执行过程,6.JSP异常处理机制,不捕获异常时的显示结果,软件用户感到突然,不知所措,改进之后显示友好的界面,6.1 在Java Web中的异常,出现错误页面的异常通常是同一种类型
5、,为每个页面书写相同的捕获异常代码,不利于代码重用有一些异常的处理无法通过页面设置完成,例如:用户输入网站中一个不存在的文件,这时应告诉用户文件不存在,6.2 Java Web处理异常步骤,在Web应用程序中trycatch捕获异常有什么缺陷?,如何解决这些问题?,Java Web处理异常步骤,java.lang.NullPointerException/nullPointer.jsp.500/500.jsp.,1.配置web.xml,为每个类型配置异常处理,为每个错误代码配置异常处理,400错误:错误请求401错误:访问被拒绝403错误:文件被禁止访问404错误:文件没有找到405错误:文件
6、在运行过程中发生末知错误,Java Web处理异常步骤,空指针错误 HIS系统 对象没有实例化,2.编写异常处理页面,加入isErrorPage page指令,3.编写测试页面,4.运行结果,JSP表达式表达式(Expression)用于向页面中输出信息 格式:JSP表达式普通变量含返回值的方法Java表达式,1.1 JSP表达式,普通变量可以返回值的方法Java表达式,JSP表达式,产生的随机变量值是:,/定义一个Test类public class Test/定义一个返回值的方法doWithpublic static String doWith(String people)return+pe
7、ople+;本次幸运之星是:,=家家乐超市收银系统=应付款:=家家乐超市收银系统=,表达式可以应用在JSP页面中的如下位置 生成动态的链接地址 使form表单提交到不同的页面为通过循环语句生成的元素命名,JSP表达式,链接到,链接到,”,file:”,file1:file2:,声明标识格式:注意几点在“%”与“!”之间无须加空格 声明的语法与在Java语言中声明变量和方法时一样 在页面中通过“声明标识”声明的变量和方法,在整个页面内都有效,它们将成为JSP页面被转换为类文件中的属性和方法,并且会被多个线程即多个用户共享 变量或方法的生命周期从创建到服务器关闭后结束,1.2 声明标识,实现一个简
8、单的网页计数器,1.2 声明标识,网页计数器 你是第位访客,关闭浏览器,关闭Tomcat,如果把代码修改如下:你是第位访客能实现网页计数器吗?,脚本程序(Scriptlet)格式:注意它在形式上与表达式的区别在于“”中没有“=”中间是一段Java代码,不是表达式,每条Java语句要以分号结尾位于Scriptlet中定义的变量和方法不会被其他线程共享,当前用户对该变量的操作不会影响到其它用户 当变量所在的页面关闭后就会被销毁,1.3 脚本程序(Scriptlet),通过“声明标识”声明的变量与位于Scriptlet中变量的区别,脚本程序(Scriptlet),num的值是:num1的值是:,第一
9、次运行结果,刷新3次运行结果,什么是指令标识通过指令标识可以使服务器按照指令的设置来执行动作通过指令可设置在整个JSP页面范围内有效的属性在一个指令中可以设置多个属性,这些属性的设置可以影响到整个页面 page指令page指令称为页面指令,利用页面指令可以定义在整个JSP页面范围内有效的属性 include指令include指令用于在运行时将HTML文件或JSP页面嵌入到另一个JSP页面 taglib指令taglib指令的作用是在JSP页面中,将标签库描述符文件(TLD)引到该页面中,并设置前缀,利用标签的前缀去使用标签库描述符文件中的标签,2.JSP指令标识,Page指令格式:page指令可
10、以放在JSP页面中的任意位置,但习惯上放在文件的开始部分,提高程序的可读性 page指令具有多种属性,通过这些属性的设置可以影响到当前的JSP页面,2.1 Page指令,2.2 include指令,include指令格式:include指令只支持file属性,该属性指定要在编译时嵌入的文件名 页面的名称应当在编译时已知,文件的内容将被嵌入include指令所在的 JSP页面为什么要使用include指令使用include指令引用外部文件,可减少代码冗余,遇到这样的页面模板怎么办?,在JSP中,因为对部分Java对象做了声明,因此即使不声明这些对象,也可以使用。这些内建对象在JSP页面初始化时生
11、成,由容器实现和管理,不需要由JSP开发人员进行实例化。在所有的JSP页面中都能使用这些内建对象,起到简化页面的作用。,1.JSP内建对象概述,out对象主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区。缓冲区默认值一般是8KB,可以通过页面指令page来改变默认值。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他输出让出缓冲空间。out对象被封装为javax.servlet.jsp.JspWriter类的对象,在实际应用中out对象会通过JSP容器变换为java.io.PrintWriter类的对象。out对象的常用方法:,2.
12、输入和输出对象,2.1 out输出对象,out对象的print()方法:out对象的print()方法是把数据输出到页面。输出的数据可以是整型、字符型、布尔型等。print()方法既可输出单纯的文字,例如:“你好”,也可以输出HTML标记。,out输出对象,out.print()方法示例);out.print(我是一只);out.print();out.print(小);out.print(小);out.print(小);out.print();out.print(鸟);out.print(想要飞也飞不高);out.print(=out.print()方法示例=);%,out对象的clearB
13、uffer()方法:out对象的clearBuffer()方法可清除缓冲区数据。,out输出对象,);out.print(hello!hello!hello!hello!);out.print();out.clearBuffer();%,没有任何输出结果,out对象的flush()方法:out对象的flush()方法可把缓冲区中的数据输出到网页上。数据送入缓冲区后,需要清除缓冲区中的数据,但在清除缓冲区前,还需将缓冲区数据送入页面中显示,此时可使用flush()方法。,out输出对象,);out.print(hello!hello!hello!hello!);out.print();out.f
14、lush();/在清除缓冲区之前,先输出缓冲区的数据 out.clearBuffer();/清空缓冲区%,out对象的close()方法:out对象的close()方法是关闭输出流。如果out对象的输出流已经关闭,则不能再向页面输出数据。,out输出对象,=1;j-)out.print();for(int j=1;j);out.print(ok);out.print(输出流已经关闭!);out.close();/关闭输出流 out.print(再次输入数据,该数据不会显示);%,2.2 request对象,request对象表示客户端的请求,包含了所有的请求信息。例如:请求的来源,Cookie
15、s和客户端请求相关的数据。可以在JSP页面中直接使用request对象,通过它的方法来获取请求相关数据。request对象常用方法:,request对象,request对象应用举例:,用 户 名:性别:男 女,学历:高中 大专 本科 研究生 认知途径:报纸 网络 媒体 其它,./获取提交过来的用户名 String uid=new String(request.getParameter(txtUid).getBytes(iso-8859-1);/获取性别 String sex=new String(request.getParameter(radSex).getBytes(iso-8859-1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 基础 内置 对象
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6132085.html