jsp培训 24页

上传人:小** 文档编号:44715397 上传时间:2018-06-14 格式:PPT 页数:24 大小:173.02KB
返回 下载 相关 举报
jsp培训 24页_第1页
第1页 / 共24页
jsp培训 24页_第2页
第2页 / 共24页
jsp培训 24页_第3页
第3页 / 共24页
jsp培训 24页_第4页
第4页 / 共24页
jsp培训 24页_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《jsp培训 24页》由会员分享,可在线阅读,更多相关《jsp培训 24页(24页珍藏版)》请在金锄头文库上搜索。

1、JSP培训一、JSP是什么pJSP继承了Java的面向对象的程序语言能力与跨平台的优 势,而且同传统的CGI程序比较,JSP不仅编写容易,而且 大幅提升了系统的执行效率。 p JSP是一种脚本语言,它包装了Java Servlet系统的界 面,简化Java和Servlet的使用难度,同时通过扩展的 JSP标签(Tag)提供了网页动态执行的能力。尽管如此 ,JSP仍然没有超出Java和Servlet的范围,不仅JSP 页面上可以直接书写Java代码,而且JSP是先被编译成 Servlet之后才实际运行的。JSP与Servlet的关系qJSP与Servlet之间的主要差异在于,JSP提供了一套简单

2、的 标签,使不了解Servlet的人可以做出动态网页来。如果对于 Java语言不是很熟悉的人,会觉得JSP开发比较方便。JSP修 改后立即可以看到结果,不需要手工编译,JSP引擎会自动来 做这些工作;而Servlet却需要编译,重新启动Servlet引擎 等一系列动作。q当Web服务器(或Servlet引擎,应用服务器)支持JSP引擎 时,JSP引擎就会依照JSP的语法,将JSP文件转换成 Servlet源代码文件,接着Servlet会被编译成Java的可执行 字节码,并以一般的Servlet方式载入,执行。JSP与Servlet的关系qJSP语法简单,可以方便地嵌入HTML之中,很容易加入动

3、态 的部分,方便地输出HTML。而Servlet中输出HTML却需要 调用特定的方法,对于引号之类的字符也要做特殊的处理, 如果在复杂的HTML页面中加入动态的部分,更是令人难以忍 受。如果除去转换和编译阶段,JSP和Servlet之间的区别实 在是不大。qJSP引擎通常架构在Servlet引擎之上,其本身就是一个 Servlet,把JSP文件转译成Servlet源代码,在调用Java编 译器,编译成Servlet。这也是JSP在第一次调用时速度较慢 的原因,在第一次编译之后,JSP与Servlet速度相同。在整 个运行过程中,JSP引擎会检查编译好的JSP(以Servlet形 式存在)是否比

4、原始的JSP文件还新,如果是,JSP引擎不会 编译;如果不是,表示JSP文件比较新,就会重新执行一遍上 面所讲的转译与编译的过程。JSP运行和开发环境q一般JSP引擎都以Servlet引擎为基础,并以Servlet的形式出现。同 时,在各种免费和商业引擎的实现当中,Servlet引擎和JSP引擎通常 也是一起出现,所以我们一般称之为Servlet/JSP引擎,甚至从JSP 的角度统称为JSP引擎。p1、 java环境安装: 这里使用的是jdk1.62、 tomcat环境安装:tomcat的版本是5.5的,安装版或是解压版都是可以 的。3、 myeclipse安装:myeclipse版本是mye

5、clipse 6.0的。JSP运行和开发环境q开发JSP程序会用到很多开发工具。基本上分为页面设计工具,文本 编辑工具和Java程序开发三类。p页面设计工具如FrontPage,DreamWaver等可以方便 地完成基本页面的设计,然后再手工加入JSP标签就成为 了JSP文件。p编辑工具如UltraEdit,EditPlus等编辑工具,都提供有 JSP模板,可以按照JSP的关键字做分色显示,是编辑JSP 文件时的好帮手。p还有就是集成度很高的Java集成开发环境,如Sun公司的 Forte,IBM公司的WebSphere Studio和VisualAge for Java以及Inprise公司

6、的JBuilder等。JSP基本语法原理qJSP是一种很容易学习和使用的在服务器端编译执行的Web设计语言,其脚 本语言采用Java,完全继承了Java的所有优点。通过JSP能使网页的动态部 分与静态部分有效分开,只要用增加熟悉的DreamWaver之类网页制作 工具,编写普通的HTML,然后通过专门的标签将动态部分包含进来 就可以了。绝大部分标签是以“”结束的,而被标 签包围的部分则成为JSP元素内容。开始标签,结束标签和元素内容 三部分统称为JSP元素,JSP元素由JSP引擎解读和处理。在很多情况 下,JSP网页的大部分内容是由静态HTML组成的,这些JSP引擎不能 读懂的部分称为模板文本

7、。pJSP元素可分成脚本元素,指令元素与动作元素三种类型。脚本元素 规范JSP网页所使用的Java代码,指令元素针对JSP引擎控制转译后 的Servlet的整个结构,而动作元素主要连接要用到的组件,如: JavaBean和Plugin,另外还能控制JSP引擎的行为。JSP基本语法原理JSP基本语法原理p1.表达式JSP里有表达式,评估表达式的结果可以转换成字符串并且直接使用在输出网页上。 JSP表达式是属于标签里不包含分号的部分。p2.程序码片段JSP程序码片段包含在标签里。当Web服务器接受这段请求时,这段 Java程序码会执行。使用程序码片段可以在原始的HTML或XML内部建立有条件的执

8、行程序码,或者方便使用另一块程序码的内容。p3.声明JSP声明可以定义网页层的变量,来存储信息或定义支持的函数,让JSP网页的其余部 分能够使用。可以在标签里找到宣告。记住要在变量声明的后面加上分号 ,就跟任何有效的Java语句的形式一样。p4.注释最后一个主要JSP脚本元素是注释。虽然可以在JSP网页中包含HTML注释,如果浏 览者查看网页的源代码,他们也会看到这些HTML注释。如果不想让浏览者看到注释, 可以将它放在标签里。p5.指令JSP的指令是针对JSP引擎而设的,他们并不会直接产生任何看得见的输出;相反的 ,它们是在告诉JSP引擎如何处理其他的JSP网页。它们永远包含在标签里。两个主

9、要的指令是page与include。JSP内建对象p在JSP中,可以建立Java的对象,比如建立在程序码片段中的对象,其仅在该次的客户端请求时有效。为了简化表达式和程序码片段中的代码,在JSP规 范中还规定了一类隐含的对象,也就是不用建立而已经存在的对象,被称为内建对象或预定义变量。这些对象其实在Servlet中都有相应的类型。JSP规范 中共定义了九种内建对象,它们分别是:request,response,out,session,application,config,pageContext,page和exception。p1.request这是一个javax.servlet.HttpServ

10、letRequest对象,作用范围为页面内。通过get Parameter()能够得到请求的参数,请求类型(GET,POST,HEAD等)及 HTTP headers(cookies,Referer等)。严格说来,request是ServletRequest而不是HttpServleRequest的子类,但request还没有http协议之外的实 际应用协议。p2.response这是一个javax.servlet.HttpServletResponse对象,作用范围为页面内。它的作用是向客户端返回请求。注意,输出流首先要进行缓存。虽然在 Servlet中,一旦将结果输出到客户端就不再允许设置

11、HTTP状态码及response头部文件,但在JSP中进行这些设置是合法的。p3.out这是一个javax.servlet.jsp.JspWriter对象,作用范围为:页面内。它的作用是将结果输出到客户端。为了使response对象更有用,JspWriter是具有 缓存的PrintWriter。注意,可以通过指令元素page属性调整缓存的大小,甚至关掉缓存。也要注意,out在程序码片段中几乎不用,因为JSP表达式自动 地放入输出流中,而无需再明确指向out输出。p4.session这是与request相关的一个javax.servlet.http.HttpSession对象,作用范围为会话期内

12、。会话是自动建立的,因此,即使没有引入会话,这个变量也 是开启的,除非在指令元素page属性中将会话关闭,在这种情况下,如果要参照会话就会在JSP转译成Servlet时出错。p5.application这是一个javax.servlet.ServletContext对象,作用范围为整个应用内。可通过getServletConfig().getContext()获得。p6.config这是一个javax.servlet.ServletConfig对象,作用范围为页面内。p7.pageContext这是一个javax.servlet.jsp.PageConetext对象,作用范围为页面内。JSP引

13、入了PageContext这个新类,它封装了像高效执行的JspWriter等服务 器端的特征。这种思想核心就是,假如通过这个类,而非直接得到诸如JspWriter等特征,在规则的Servlet/JSP引擎下仍然可以运行。p8.page这是一个java.lang.Object对象,作用范围为页面内。这个变量在JSP中没有什么作用,只是意义相当于Java语言中的this。p9.exception这是一个java.lang.Object对象,作用范围为页面内。仅仅在处理错误页面有效,可以用来处理捕捉到的异常。JSP重定向页面q很多情况下,需要将浏览器传过来的地址重新指向另外一个新地址。 例如在执行完

14、一个JSP程序后,可能希望由这个程序直接调用另外的 JSP程序或页面,也可以设置多个地址,从中任选一个去连接这个网 址。在JSP程序中有两个方法可以做到这一点。q1.使用内建对象response内建对象response的方法sendRedirect()可以用来重定向页面, sendRedirect()方法仅需要传递一个重新指向的网址即可。q2.设置HTTP Header除了使用内建对象response的sendRedirect()方法重新定向页 面外,还可以使用response的setStatus()方法直接对HTTP协议头 进行设置。但是这种方式需要对HTTP协议有所了解,并且使用起来 并不

15、方便,在实际当中应用较少。JSPq在HTTP通信协议中,客户端传送数据给服务器端的方式最常用的有两种:第 一种是Post客户端,直接将数据传送到Web服务器,这种方法可以传送大量 的数据;第二种是Get,客户端将准备传送的数据加到URL后面,然后再送 至Web服务器端由Web应用程序从URL中取出q所谓Cookie其实是一个服务器通过浏览器保留下来的记录。Cookie可以被 看作由Web服务器产生后放置在浏览器内的少量信息,以提供浏览器在下次 登录同以网站时,让Web服务器的应用程序用来识别或其他应用处理。在 JSP程序中,如果要将封装好的Cookie对象传送到客户端,那么就要使用 JSP的内

16、建对象response。Response对象有一个addCookie方法,可将 Cookie对象的内容填放在HTTP协议的协议头中,然后随着网页内容传送到 客户端浏览器。一般说来,浏览器可接收大约20个来自同一网站的Cookie对 象,因此传送到客户端的Cookie可以是多个,此时只要连续执行 addCookie(c),把所有的Cookie都加入到response对象,最后一次性将它 们送到浏览器里。如果要接收客户端送来的Cookie,在JSP程序中要使用 request对象的getCookies()方法来取得。执行getCookies()会将所有客户 端传来的Cookie对象以数组的形式排列,如果仅仅想取得某一个指定的 Cookie对象,就需要循环比较数组内每个对象的关键字,以取出符合需要的 Cookie对象。此外,每个Cookie对象还可以通过setMaxAge()方法来设置 其有效时间。JSPqSession对象是JSP一个内建对象。这个对象在第一个 JSP页面被装载时自动创建,并被关联到request对象上 。JSP中的session对象对于那些希望通过多个页面完成 一个事

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

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号