Java Web应用开发技术实用教程.ppt

上传人:1595****071 文档编号:78706837 上传时间:2023-03-19 格式:PPT 页数:455 大小:3.50MB
返回 下载 相关 举报
Java Web应用开发技术实用教程.ppt_第1页
第1页 / 共455页
Java Web应用开发技术实用教程.ppt_第2页
第2页 / 共455页
点击查看更多>>
资源描述

《Java Web应用开发技术实用教程.ppt》由会员分享,可在线阅读,更多相关《Java Web应用开发技术实用教程.ppt(455页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Java Web开发技术开发技术第第1章章 JSP概述概述3/19/20231第第1章章 JSP概述概述1.1JSP技术1.2JSP执行原理1.3配置JSP运行环境1.4本章小结3/19/20232Java Web开发技术开发技术1.1 JSP技术技术lJSP是由Sun公司倡导、许多别的公司参与一起建立的一种动态网页技术标准,类似其他技术标准,如ASP、PHP或是ColdFusion,等等。l在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,构成了JSP网页(*.jsp)3/19/20233Java Web开发技术开发技术JSP特点特

2、点1.WriteOnce,RunAnywhere特性。作为Java平台的一部分,JSP技术拥有Java语言“一次编写,各处执行”的特点,这意味着,一个JSP程序可以运行于支持JSP的任何应用服务器,而不需要对代码做任何修改。3/19/20234Java Web开发技术开发技术JSP特点(续)特点(续)2.搭配可重复使用的组件。JSP技术可依赖于重复使用跨平台的组件(如:JavaBean或EnterpriseJavaBean组件)来执行更复杂的运算、数据处理。开发人员能够共享开发完成的组件,或者能够加强这些组件的功能,让更多用户或是客户团体使用。3/19/20235Java Web开发技术开发技

3、术JSP特点(续)特点(续)3.采用标签化页面开发。JSP技术能够将许多功能封装起来,成为一个自定义的标签,这些功能是完全根据XML的标准来制订的,即JSP技术中的标签库(TagLibrary)。3/19/20236Java Web开发技术开发技术JSP特点(续)特点(续)4.实现了角色的分离。JSP规范允许将工作分为两类:页面的图形内容和页面的动态内容。不具备Java编程语言知识的人员可以创建页面的图形内容,然后由Java程序员向此文档插入Java代码,实现动态内容。3/19/20237Java Web开发技术开发技术JSP特点(续)特点(续)5.N层企业应用架构的支持。JSP技术是Java

4、2PlatformEnterpriseEdition(J2EE)(相关信息请参阅 Web开发技术开发技术1.2 JSP执行原理执行原理1.2.1第一个JSP页面1.2.2JSP运行原理1.2.3JSP与Servlet的关系3/19/20239Java Web开发技术开发技术1.2.1 第一个第一个JSP页面页面一个简单的JSP页面exa1_1.jsp我的第一个jsp页面。你好么?朋友3/19/202310Java Web开发技术开发技术1.2.2 JSP运行原理运行原理lJSP的执行过程主要包括以下步骤:1客户端发出Request请求;2JSP容器将JSP转译成Servlet的源代码;3将产生

5、的Servlet的源代码经过编译后,并加载到内存执行;4把结果Response响应至客户端。l课本例HelloWorld.jsp3/19/202311Java Web开发技术开发技术JSP运行原理图运行原理图3/19/202312Java Web开发技术开发技术1.2.3 JSP与与Servlet关系关系lJSP的实现是基于Servlet的,JSP页面在运行之前要被解释成JavaServletl当JSP容器接到对一个JSP页面的请求后,首先判断与JSP文件对应的Servlet类的名字,如果该类不存在或比JSP文件老,容器就会重新创建一个等价的Servlet类并编译它。l课本例exa1_2.js

6、p3/19/202313Java Web开发技术开发技术JSP与与Servlet关系图关系图3/19/202314Java Web开发技术开发技术1.3 配置配置JSP运行环境运行环境1.3.1安装J2SDK1.3.2安装Tomcat1.3.3JSP页面测试3/19/202315Java Web开发技术开发技术1.3.1 安装安装J2SDK第一步:执行jdk-6u1-windows-i586-p.exe3/19/202316Java Web开发技术开发技术安装安装J2SDK(续)(续)第二步:选择安装路径及安装内容3/19/202317Java Web开发技术开发技术安装安装J2SDK(续)(

7、续)3/19/202318Java Web开发技术开发技术安装安装J2SDK(续)(续)第三步:设置环境变量path和classpath3/19/202319Java Web开发技术开发技术1.3.2 安装安装Tomcat 第一步:执行jakarta-tomcat-5.0.28.exe3/19/202320Java Web开发技术开发技术安装安装Tomcat(续)(续)第二步:选择安装内容及安装路径。3/19/202321Java Web开发技术开发技术安装安装Tomcat(续)(续)3/19/202322Java Web开发技术开发技术安装安装Tomcat(续)(续)第三步:设定Tomcat

8、Port和AdministratorLogin3/19/202323Java Web开发技术开发技术安装安装Tomcat(续)(续)第四步:选择使用的JVM,点击【install】按钮3/19/202324Java Web开发技术开发技术安装安装Tomcat(续)(续)3/19/202325Java Web开发技术开发技术安装安装Tomcat(续)(续)第五步:测试Tomcat。在浏览器中输入http:/localhost:8080的主页,如果显示Tomcat主页则说明Tomcat运行正常。3/19/202326Java Web开发技术开发技术1.3.3 JSP页面测试页面测试 第一步:用一种

9、文本编辑器编辑JSP源文件,如用记事本编辑exa1_3.jsp。第二步:将JSP文件保存到C:ProgramFilesApacheSoftwareFoundationTomcat5.0webappsroot目录下。在IE地址栏中键入http:/localhost:8080/exa1_3.jsp,对页面进行测试。3/19/202327Java Web开发技术开发技术1.4 本章小结本章小结JSP是SUN公司推出的使用Java代码动态生成HTML文档的技术。JSP位于Web服务器中,是服务器端组件,可以访问其他服务器端资源,诸如Servlet、EJB和数据库。JSP页面生活在JSP容器中,容器将J

10、SP转换成等价的JavaServlet。3/19/202328Java Web开发技术开发技术本章结束,谢谢大家!本章结束,谢谢大家!休息一会儿。休息一会儿。3/19/202329Java Web开发技术开发技术Java Web开发技术开发技术第第2章章 JSP基础基础3/19/202330第第2章章 JSP基础基础2.1 JSP页面的基本组成2.2JSP页面中的注释2.3声明2.4代码段2.5表达式2.6JSP指令2.7JSP动作2.8本章小结3/19/202331Java Web开发技术开发技术2.1 JSP页面的基本组成页面的基本组成l一个JSP页面是由传统的HTML页面标记加上JSP标

11、记和嵌入的Java代码组成,由以下4种元素组成:HTML标记、JSP标记、JSP脚本和注释。lJSP标记包括指令标记和动作标记。指令标记是为JSP引擎而设计的,它向JSP引擎发送消息,告诉引擎如何处理其余JSP页面。动作标记是JSP页面特有的标记,它告诉Web容器去执行某个“动作”。3/19/202332Java Web开发技术开发技术JSP页面的基本组成(续)页面的基本组成(续)lJSP脚本是JSP页面中插入的Java代码,它又可以细分为声明、代码段和表达式。l声明用于定义特定于JSP页面(Servlet类)的变量、方法和类;l代码段是嵌入的Java语句;l表达式是Java脚本中输出语句的简

12、化表示形式。l课本例exa2_1.jsp、exa2_2.jsp3/19/202333Java Web开发技术开发技术JSP页面的执行过程页面的执行过程当服务器上的一个JSP页面第一次被请求时,Web服务器上的JSP引擎首先将JSP页面编译成Servlet,然后执行该Servlet。该Servlet主要完成以下2项任务:(1)把JSP页面中的HTML标记交给客户端的浏览器去解释执行。(2)把JSP页面中的JSP指令标记、动作标记、JSP声明、代码段和表达式交给服务器去执行,然后将结果送给浏览器。3/19/202334Java Web开发技术开发技术JSP页面的通用书写规则页面的通用书写规则 1.

13、JSP页面中HTML标记不区分大小写,JSP标记和页面中嵌入的Java代码区分大小写。2.在JSP页面中,虽然指令和脚本元素所拥有的语法不是基于XML的,但可以获得一种可以替代的基于XML的语法。3.在标记中出现的属性值总是用引号括起来的:使用单引号或双引号。3/19/202335Java Web开发技术开发技术JSP页面的通用书写规则页面的通用书写规则(续)(续)4.JSP使用的URL地址要遵循Servlet的惯例5.在JSP文档体中的文本中的空白符无关紧要,空白包括空格和空行。6.在标记中可以使用字符”(反斜杠)来作为换码字符3/19/202336Java Web开发技术开发技术2.2JS

14、P页面中的注释页面中的注释 2.2.1HTML注释2.2.2隐藏注释2.2.3脚本注释3/19/202337Java Web开发技术开发技术2.2.1 HTML注释注释lHTML注释是使用标签“”创建的l语法形式:l课本例exa2_3.jsp、exa2_4.jsp3/19/202338Java Web开发技术开发技术2.2.2 隐藏注释隐藏注释l隐藏注释也称为JSP注释,只能在原始JSP文件中看到。l语法形式:l课本例exa2_5.jsp3/19/202339Java Web开发技术开发技术2.2.3 脚本注释脚本注释 l在JSP页面的java脚本中使用的注释。其语法形式为:/单行注释/*注释

15、*/l脚本注释不仅能在原始JSP文件中看到,而且能在JSP编译成的Servlet中看到。l课本例exa2_6.jsp3/19/202340Java Web开发技术开发技术2.3 声明声明2.3.1变量声明2.3.2方法声明2.3.3声明类3/19/202341Java Web开发技术开发技术声明概述声明概述lJSP声明定义网页范围的变量、函数或类,让页面的其余部分能够使用。l声明的变量和方法是该页面所对应的Servlet类的成员变量和成员方法,声明的类是Servlet类的内部类。l声明块包含在中。l包括变量声明、方法声明和声明类三种。3/19/202342Java Web开发技术开发技术2.3

16、.1 变量声明变量声明l用于定义特定于JSP页面的变量,声明的变量成了JSP页面转换到的Servlet类的成员变量,可以被该JSP页面中其他任何部分使用。l其语法形式为:l声明的变量类型可以是Java语言中允许的任何数据类型。3/19/202343Java Web开发技术开发技术2.3.2 方法声明方法声明l声明的方法在JSP页面有效,它编译成Servlet类的成员方法。可以由页面上所有脚本元素访问。l其语法形式为:l方法声明方式跟Java中方法定义的形式一样,要给出方法返回类型、方法名、方法形参和方法体。l课本例exa2_7.jsp、exa2_8.jsp、exa2_9.jsp3/19/202

17、344Java Web开发技术开发技术2.3.3 声明类声明类l声明类是JSP页面对应的Servlet类的内部类,页面上所有脚本元素都可以创建该类的对象。l其语法形式为:l课本例exa2_10.jsp3/19/202345Java Web开发技术开发技术2.4 代码段代码段l代码段是包含在之间的Java程序片段,包含一个或多个有效而完整的语句。当Web服务器接受客户端请求时,这段Java程序代码会被执行并向客户产生输出。l其语法形式为:l课本例exa2_11.jsp、exa2_12.jsp3/19/202346Java Web开发技术开发技术代码段的注意事项代码段的注意事项1.一个JSP页面可

18、以有多个代码段,它们被JSP引擎按顺序执行。2.在代码段中也可以声明变量,但这些变量是_jspService()中的局部变量,它们在JSP页面内所有代码段部分和表达式部分有效。3/19/202347Java Web开发技术开发技术代码段的注意事项(续)代码段的注意事项(续)3.当JSP页面包含多个Java代码段时,这些代码段之间可以插入一些标记元素。4.当客户请求一个JSP页面时,JSP引擎为每个客户产生一个线程,每个线程分别执行各自的_jspService()方法,因此一个客户对局部变量的操作不会影响其它客户。3/19/202348Java Web开发技术开发技术2.5 表达式表达式lJSP

19、页面中可以在之间插入表达式,用于输出表达式计算的结果。在请求处理阶段JSP引擎将计算表达式的值,结果最终转换成一个相应的字符串。l表达式的语法形式为:l课本例exa2_13.jsp3/19/202349Java Web开发技术开发技术表达式的组成表达式的组成表达式可以由以下组成部分构成:l数字和字符串的字母值,比如2和“hello”l数学运算符,如+、-、*和l基本数据类型的变量l声明类的对象实例l在JSP中声明方法的调用l声明类所创建的对象的方法调用3/19/202350Java Web开发技术开发技术表达式的注意事项表达式的注意事项(1)“%=”是一个完整的符号,“%”和“=”不能插入空格

20、。(2)表达式可以包含任何Java表达式,只要表达式可以求值。(3)表达式中不能插入语句,也不能以分号结束。3/19/202351Java Web开发技术开发技术表达式的注意事项(续)表达式的注意事项(续)(4)表达式是Java代码段的一种简单书写方式,其功能和代码段等效。3/19/202352Java Web开发技术开发技术2.6 JSP指令指令2.6.1page指令2.6.2include指令2.6.3taglib指令3/19/202353Java Web开发技术开发技术JSP指令概述指令概述lJSP指令是针对JSP容器的,它将有关页面的特殊处理信息传送到JSP容器,告诉容器如何处理JSP

21、网页,它并不会直接产生任何看得见的输出。l指令的语法形式为:l指令主要包括:page指令、include指令和taglib指令。3/19/202354Java Web开发技术开发技术2.6.1 page指令指令lpage指令用来定义和操作许多重要的依赖于页面的属性,这些属性影响整个JSP文件。lpage指令可以在JSP页面的任何地方、以任何顺序出现,而且一个页面可以包含任意数量的page指令。为了程序的可读性以及好的编程习惯,最好还是把它放在JSP页面的顶部。3/19/202355Java Web开发技术开发技术page指令的语法指令的语法lpage指令的语法为:l课本例exa2_14.jsp

22、3/19/202356Java Web开发技术开发技术属性属性描述描述缺省缺省值值language定义要使用的脚本语言,将来 JSP包容器支持多种语言时可使用它Javaimport定义以逗号分隔的类或包的列表,就像在通常的 Java代码中所使用的import语句那样缺省情况下忽略buffer定义输出流的缓冲区大小。如果值为none,则没有缓冲与实现有关;至少为 8KBautoFlush定义是否自动清除输出流缓冲区。如果为true,当缓冲区满时,自动把缓冲区内容输出给客户;如果为false,当缓冲区满时,会有一个运行时异常trueisThreadSafe定义页面是否支持多个用户的并发访问。如果为

23、true,则JSP引擎会同时处理多个客户请求;如果为false,则JSP引擎会对客户请求进行排队,某个时刻只处理一个请求truecontentType定义JSP页面的字符编码方式和MIME类型。它的形式可以为MIMETYPE或MIMETYPE;charset=CHARSETMIMETYPE的缺省值为text/html;CHARSET的缺省值为ISO-8859-1info页面中可取到的字符串无缺省extends定义页面转换成的Servlet类继承的父类无缺省session定义本页是否使用session对象trueerrorPage定义页面异常时转向的页面的URL地址无isErrorPage定义页

24、面是否为其它页面的异常处理页面。值为true的页面会自动获取Exception对象falsepageEncoding定义JSP页面的字符编码方式ISO-8859-1isElIgnored定义页面是否忽略EL表达式的计算与服务器种类有关3/19/202357Java Web开发技术开发技术page指令的注意事项指令的注意事项(1)import属性:如果不写该属性,JSP页面自动引入以下4个包:java.servlet.*;java.lang.*;java.servlet.http.*;;java.servlet.jsp.*。(2)contentType属性:MIMETYPE的缺省值为”text/

25、html”;CHARSET的缺省值为”ISO-8859-1”。经常如下写法,以支持页面中的中文显示:3/19/202358Java Web开发技术开发技术2.6.2 include指令指令l如果需要在一个JSP页面中包括另一个文件,可以使用include指令。l指令的语法形式为:l该指令的作用是在JSP页面中该指令出现的位置静态插入一个文件。include指令能让页面内容分成几个组成部分分别管理。l课本例exa2_15.jsp、exa2_16.jsp3/19/202359Java Web开发技术开发技术include指令的注意事项指令的注意事项(1)出现在一个JSP页面中的include指令的

26、数量不受限制。(2)被包含文件的URL路径一定是和发出指令的JSP页面相对的路径。(3)该指令采取的是静态插入方式,所谓静态插入,是指当前的JSP页面和被嵌入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新页面转换成Servlet。3/19/202360Java Web开发技术开发技术include指令的注意事项(续)指令的注意事项(续)(4)所包含的文件可以是HTML网页、文本文件或者是JSP网页,并且这些文件应该和当前JSP页面在同一个Web应用中。(5)必须保证合并后的JSP页面符合JSP语法规则。3/19/202361Java Web开发技术开发技术2.6.3 taglib指令

27、指令l除了标准的JSP标记以外,JSP标准还允许普通用户定义自己的标记。通过自定义标记的调用来完成用户的自定义动作。所有JSP自定义标记按组存放在标记库中。l要使用一个标记库中的标记,就要将标记库导入到JSP页面中,这需要使用taglib指令。3/19/202362Java Web开发技术开发技术taglib指令的语法指令的语法ltaglib指令的语法形式为:其中uri是用户自定义标记所在的标记库描述文件的url地址,prefix是标记库描述文件的前缀。l课本例hello.jsp3/19/202363Java Web开发技术开发技术使用用户自定义标记的条件使用用户自定义标记的条件(1)标记处理

28、器:描述了使用自定义标记时所发生的动作,它是实现了javax.servlet.jsp.tagext包中Tag接口或BodyTag接口的类。(2)标记库描述文件(TLD):是一个XML文档,它包含着标记库及库内每一个自定义标记的信息。3/19/202364Java Web开发技术开发技术使用用户自定义标记的条件(续)使用用户自定义标记的条件(续)(3)web.xml文件中标签库的描述:根据J2EE规范,每一个Web应用都有一个web.xml文件。JSP应用程序可以使用这个文件来定位标记库描述文件。(4)在JSP页面中使用用户自定义标记。3/19/202365Java Web开发技术开发技术2.7

29、 JSP动作动作2.7.1动作标记2.7.2动作标记2.7.3动作标记2.7.4动作标记2.7.5动作标记3/19/202366Java Web开发技术开发技术JSP动作标记概述动作标记概述lJSP动作标记是JSP页面中使用的一种特殊的标记,它利用XML语法格式的标记来控制JSP引擎完成某种功能。lJSP动作标记可以完成很多功能,如实例化对象、与服务器端资源进行通信、提高组件的可重用性和可维护性、在JSP页面中包括一个外部的资源、把用户重定向到另外的页面等。3/19/202367Java Web开发技术开发技术常用的常用的JSP动作标记动作标记常用的JSP动作标记包括:1.:在页面被请求的时候

30、引入一个文件2.:把请求转到一个新的页3.:根据浏览器类型为Java插件生成OBJECT或EMBED标记4.:寻找或者实例化一个JavaBean5.:设置JavaBean的属性6.:输出某个JavaBean的属性3/19/202368Java Web开发技术开发技术2.7.1 动作标记动作标记 l用来在JSP页面中动态包含一个文件,包含页面与被包含文件是彼此独立的,互不影响。l动作可包含一个动态文件也可包含一个静态文件。如果包含的是一个静态文件就直接输出给客户端,由客户端的浏览器负责显示;如果包含的是一个动态文件则由服务器的JSP引擎负责执行,把运行结果返回给客户端显示出来。3/19/2023

31、69Java Web开发技术开发技术动作语法一动作语法一l动作语法一:jsp:includepage=relativeURL|flush=true|false/l其中,page属性表示要包含的文件的相对地址,它可以是一个字符串,也可以是一个JSP表达式。flush属性默认为false,若为true则表示当缓冲区满时,缓冲区将被清空。3/19/202370Java Web开发技术开发技术动作语法二动作语法二l动作语法二:jsp:includepage=relativeURL|flush=true|falsejsp:paramname=paramNamevalue=paramValue|/l课本例

32、exa2_17.jsp3/19/202371Java Web开发技术开发技术include指令和指令和include 动作区别动作区别(1)嵌入的内容。include指令嵌入的是静态的文本或页面,而include动作包含的可以是静态或动态内容。(2)嵌入被包含页面的时间。include动作在处理请求时才将被包含页面嵌入进来,而include指令是在JSP文件被转换成Servlet的时候引入文件。(3)共享局部变量。用include动作时,在页面中声明的变量不可用于另一文件;而在用include指令时,当前页面和被包含页面可以共享变量。3/19/202372Java Web开发技术开发技术inc

33、lude指令和指令和include 动作区别(续)动作区别(续)(4)修改的生效时间。用include指令时,修改的生效需刷新页面或去掉已经编译成的Servlet;而用include动作时,被包含页面的修改会随时生效。(5)变量名冲突。用include指令时注意新生成的JSP页面要符合JSP语法要求,应该避免变量名的冲突。而用include动作不存在变量名冲突问题。3/19/202373Java Web开发技术开发技术2.7.2 动作标记动作标记 l标记提供了“名称值”信息,用于将附加在request中的参数发送至转发的页面,可与、和标记一起使用。3/19/202374Java Web开发技术

34、开发技术动作的语法动作的语法 l动作标记的语法形式为:jsp:paramname=parameterNamevalue=parameterValue|/name属性指定参数的名称,value属性指定参数的值。l课本例exa2_18.jsp3/19/202375Java Web开发技术开发技术2.7.3 动作标记动作标记 l动作将当前页面的执行过程终止忽略它的输出并且把请求转向一个新的页。l语法格式一:jsp:forwardpage=relativeURL|/3/19/202376Java Web开发技术开发技术动作标记语法二动作标记语法二l语法格式二:jsp:forwardpage=relat

35、iveURL|jsp:paramname=paraNamevalue=paraValue|/l课本例exa2_19.jsp、exa2_20.jsp3/19/202377Java Web开发技术开发技术forword动作标记注意事项动作标记注意事项l使用标记时,JSP页面必须使用缓冲机制,不能将page指令中的buffer属性设为none。否则它将清空缓存里的内容,浏览器里将得不到任何输出。l一旦JSP页面中加入,则它之后的程序将无法执行,标记将停止当前页面的处理而转向目标页面。3/19/202378Java Web开发技术开发技术2.7.4 动作标记动作标记 l动作将导致在客户端浏览器中运行一

36、个指定的applet或者JavaBean。并且如果还需要下载一个Java插件,JSP容器一般会提供一个缺省的下载URL,但是你也可以通过指定属性ieplugurl提供一个下载插件的URL。3/19/202379Java Web开发技术开发技术 动作标记语法动作标记语法 l动作的语法格式为:提示信息:提示用户浏览器是否下载插件l课本例exa2_21.jsp3/19/202380Java Web开发技术开发技术2.7.5 动作标记动作标记 l动作用来装载一个在JSP页面中使用的JavaBean。l这个动作标记功能非常有用,因为它使得我们可以发挥Java组件重用的优势。它使得JSP页面中的HTML代

37、码与Java代码分开,用HTML完成页面的静态部分,用动作标记完成页面的动态部分。3/19/202381Java Web开发技术开发技术2.8 本章小结本章小结lJSP开发环境提供了使用服务器端Java编写动态HTML页面的一种方式。其语法允许大部分HTML被直接编入,并由Java代码段作为控制代码。它同时支持静态和动态地包含其他资源。JavaBean被完全整合到JSP页面中,用户自定义标记允许功能被封装,可用于非专业编程人员方便地编写JSP页面。3/19/202382Java Web开发技术开发技术本章结束,谢谢大家!本章结束,谢谢大家!休息一会儿。休息一会儿。3/19/202383Java

38、 Web开发技术开发技术Java Web开发技术开发技术第第3章章 JSP隐含对象隐含对象3/19/202384第3章JSP隐含对象l为简化为简化Web页面的开发过程,页面的开发过程,JSP提供了一些提供了一些由容器实现和管理的隐含对象,这些对象在由容器实现和管理的隐含对象,这些对象在JSP页面中可以直接使用,不需要页面中可以直接使用,不需要JSP页面编页面编写者实例化。在写者实例化。在JSP页面中,可以通过存取这页面中,可以通过存取这些隐含对象实现与些隐含对象实现与JSP页面和页面和Servlet环境的环境的相互访问。相互访问。l本章主要内容包括:本章主要内容包括:JSP隐含对象概述和各类隐

39、含对象概述和各类隐含对象的具体说明。隐含对象的具体说明。3/19/202385Java Web开发技术开发技术3.1JSP隐含对象概述lJSP页面的隐含对象就是在JSP页面中不用声明就可以使用的对象。隐含对象是JSP引擎自动创建的Java类实例,它们能与Servlet环境交互。隐含对象可以实现很多功能,如从客户端获得数据、向客户端发回数据、控制传输数据的有效域和异常处理等。如:3/19/202386Java Web开发技术开发技术隐含对象功能l不必使用表达式,直接存取out对象来打印一些东西到客户端:l不必直接传送参数,可以借助请求对象来取得客户端输入的参数值:l完成页面的重定向:l在错误页面

40、中显示出错信息:l等等3/19/202387Java Web开发技术开发技术JSP中的中的9种隐含对象种隐含对象与输入/输出有关与属性作用域有关与Servlet相关与错误处理有关3/19/202388Java Web开发技术开发技术3.2与输入/输出有关的隐含对象l3.2.1request对象l 3.2.2response对象l3.2.3out对象3/19/202389Java Web开发技术开发技术3.2.1request对象l在JSP页面中,隐含对象request代表的是来自客户端的请求,通过它可以查看请求参数、请求类型(GET,POST,HEAD等)以及请求的HTTP头(Cookie,R

41、eferer等)客户端信息,它是实现javax.servlet.HttpServletRequest接口的类的一个实例。lrequest对象的方法有很多,从功能角度可以将这些方法分为4类:3/19/202390Java Web开发技术开发技术1取得请求参数的方法取得请求参数的方法 3/19/202391Java Web开发技术开发技术2.取得请求取得请求HTTP 头的方法头的方法 3/19/202392Java Web开发技术开发技术3储存和取得属性方法储存和取得属性方法 3/19/202393Java Web开发技术开发技术4其他的方法其他的方法 3/19/202394Java Web开发技

42、术开发技术4其他的方法(续)其他的方法(续)3/19/202395Java Web开发技术开发技术request比较重要的方法比较重要的方法 lgetParameter()lgetParameterNames()lgetParameterValues()lgetHeader()记住噢3/19/202396Java Web开发技术开发技术3.2.1.1.获得客户端提交的信息获得客户端提交的信息l例exa3_1.jsp:一个html文档exa3_1.jsp提交一个表单给tree.jsp页面,tree.jsp通过request.getParameter()接收表单中的客户输入,并将有关信息送回客户端

43、。3/19/202397Java Web开发技术开发技术获得客户端提交的信息(续)获得客户端提交的信息(续)文本框提交的用户名为:客户端提交的按钮的名字为:exa3_1.jsptree.jsp1.运行2.调用3.结果3/19/202398Java Web开发技术开发技术3.2.1.2.处理中文信息l在例exa3_1.jsp中输入中文时将不能正确显示,如图所示:这就引发如何处理客户端提交的中文问题。JSP页面的汉字问题主要指两方面:JSP页面中的汉字问题和表单提交的汉字问题。3/19/202399Java Web开发技术开发技术(1)JSP页面的汉字问题页面的汉字问题l对于JSP页面的汉字问题,

44、需要在JSP中使用page指令告诉客户端汉字的编码方式:。在没有特别指示下,浏览器无法正确显示汉字,每个要显示汉字的JSP页面都应该包含该语句。3/19/2023100Java Web开发技术开发技术(2)表单提交的汉字问题)表单提交的汉字问题l客户端和服务器交互过程中,在客户端和服务器用的是GB2312对汉字编码,而HTTP传输用ISO_8859_1编码,因此,不仅服务器端必须用指令指示客户端汉字的显示编码,同时在服务器端接收到客户端数据时需要将编码转换为GB2312后进行处理,方法是:或其中tt为表单提交的含有中文的变量3/19/2023101Java Web开发技术开发技术改进后的改进后

45、的tree.jsp l我们只须在tree.jsp中加入中文处理的相关语句,中文就能正确显示了,代码如下:文本框提交的用户名为:%StringextContent=request.getParameter(boy);3/19/2023102Java Web开发技术开发技术3.2.1.3.避免空指针异常l例如一表单向JSP页面提交一个正数,然后计算这个正数的平方根,JSP中有这么一个语句:StringtextContent=request.getParameter(“num”),其中num代表表单提交的正数,要注意由于JSP引擎在运行这个JSP页面时,客户端还没有提交数据,textContent也

46、还没有创建,而JSP页面中的number=Double.parseDouble(textContent)语句需要使用textContent,此时textContent对象为null,Java解释器会提示出现空指针异常NullPointerException。为了避免使用空对象,在JSP页面中使用了如下代码:if(textContent=null)textContent=100;3/19/2023103Java Web开发技术开发技术3.2.1.4.其它常用方法lgetServletPath()lgetContentLength()lgetMethod()lgetHeader()lgetProt

47、ocol()3/19/2023104Java Web开发技术开发技术3.2.1.5.获取HTML表单中的各种数据l由于客户端经常使用表单提交数据,本节通过例子来说明表单中各种提交手段的用法。l表单的一般格式为:表单中的标记(数据提交的手段)3/19/2023105Java Web开发技术开发技术表单中各种提交手段表单中各种提交手段(1)l下面例text.jsp表单的输入方式是文本框和口令,,运行结果如图3-8所示。text.jsp关键代码:表单用户登录用户名:图3-8密码:3/19/2023106Java Web开发技术开发技术表单中各种提交手段表单中各种提交手段(2)l下面例子用单选按钮实现

48、网上测试radio.jsp关键代码:answer.jsp关键代码:p诗人李清照是中国历史上哪个朝代的人?宋朝唐朝明朝清朝史记的作者是谁?曹雪芹罗贯中李白司马迁您的了分图3-9radio.jsp的输出结果3/19/2023107Java Web开发技术开发技术表单中各种提交手段表单中各种提交手段(3)l下面例子说明滚动列表使用方式:select.jsp关键代码:选择计算和的方式计算1到n的和计算1到n的平方和计算1到n的立方和请选择n的值n=10n=20n=30n=40n=50n=100sum.jsp关键代码:%intsum=0;Strings1=request.getParameter(gir

49、l);Strings2=request.getParameter(boy);intn=Integer.parseInt(s2);if(s1.equals(1)for(inti=1;i=n;i+)sum+=i;elseif(s1.equals(2)for(inti=1;i=n;i+)sum+=i*i;elsefor(inti=1;i您的求和结果是3/19/2023108Java Web开发技术开发技术3.2.1.6.表格l表格由和标记定义。一般格式为:单元格中的数据单元格中的数据3/19/2023109Java Web开发技术开发技术表格应用举例l下面例tableform.jsp是表单使用,运行

50、结果如图所示。tableform.jsp关键代码:杜甫是哪个朝代的人?:宋朝唐朝请在右边表格中输入数据:3/19/2023110Java Web开发技术开发技术3.2.2response对象l当客户访问一个服务器的页面时,会提交一个HTTP请求,服务器接到请求时会返回HTTP响应。响应是实现javax.servlet.HttpServletResponse接口的类的一个实例。response对象代表的是对客户端的响应,可以通过response对象来组织发送到客户端的数据。response对象的方法也有很多,下面的几个表列出了response对象的主要方法:3/19/2023111Java We

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com