版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 JSP基本介绍,杨广超 TELEMAIL:gchao_,目标,理解JSP 理解JSP页面的各种构成元素 了解JSP页面的执行过程 了解JSP的优点,JSP概念,JSP(Java Server Pages)是由sun公司为创建动态Web内容而定义的一种技术。 JSP页面看起来象普通的HTML页面,但它允许嵌入执行代码,这一点和ASP技术非常相似。JSP使得我们能够分离页面的静态HTML和动态部分。JSP可用任何文本编辑器(如记事本等)编写,只要以“jsp”为扩展名保存即可。在编写JSP文件时,可以先编写HTML文档,然后在其中嵌入Java代码创建动态内容。,JS
2、P概念,JSP页面 一个JSP页面就是指的包含Java代码和HTML标签的web页面 同时它也是一个服务器包含的技术,单纯的HTML页面只是把标签静态的渲染到浏览器,而JSP中的Java代码由服务器处理产生单纯的HTML文本数据而发送到客户端 JSP规范列出了JSP页面中使用到语法及各种语义元素,这些元素就是JSP标签 一个JSP页面就是一个混合了动态JSP标签和静态HTML标签的HTML模板。在运行时,模板被用来生成单纯的HTML页面,发送到客户端,JSP概念,HTML,SERVLET,JSP的用例对比 使用HTML,SERVLET,JSP三种技术来比较用Hello来向访问者打招呼的例子He
3、llo User,什么是JSP?,JSP的运行方式,JSP的运行方式如下:在服务器启动后,当Web浏览器端发送过来一个页面请求时,Web服务器先判断是否是JSP页面请求。如果该页面只是一般的HTML/XML页面请求,则直接将HTML/XML页面代码传给Web浏览器端。如果请求的页面是JSP页面,则由JSP引擎检查该JSP页面,如果该页面是第一次被请求、或不是第一次被请求但已被修改,则JSP引擎将此JSP页面代码转换成Servlet代码,然后JSP引擎调用服务器端的Java编译器javac.exe对Servlet代码进行编译,把它变成字节码(.class)文件,然后再调用Java虚拟机执行该字节
4、码文件,将执行结果传给Web浏览器端。如果该JSP页面不是第一次被请求,且没有被修改过,则直接由JSP引擎调用JAVA虚拟机执行已编译过的字节码.class文件,然后将结果传送Web浏览器端。 从上面的叙述中我们不难看出JSP和Servlet的关系。JSP引擎负责把JSP页面翻译成Servlet,因此JSP在底层完全就是Servlet(指原始概念上的Servlet,而不是HttpServlet)。,JSP概念,JSP还是Servlet ? Q1:JSP在第一次运行时,会被容器翻译成相应的servlet,这会不会造成JSP速度比servlet 运行慢? Q2:而在编写页面时,JSP却比 serv
5、let省事的多,是不是 servlet 就不适合WEB编程呢? 首先,JSP是存在第一次执行速度慢的问题,但是执行完第一次后,跟servlet 就没有不同 其次,servlet 编写一个简单的页面就得 out.print N次,的确繁琐,但不代表不适合WEB编程,它可以很方便的处理业务逻辑,比如,addUser到数据库,标准的java代码 结论,在一个WEB系统中,通常是servlet 和JSP的结合使用 结合要点: JSP页面是用来可视化展现的,比如,操纵页面 业务逻辑处理却是servlet的强项,JSP概念,JSP技术是将特定的Java代码嵌入到HTML网页代码中,再由JSP引擎将这些代码
6、转换成Servlet代码,从而解决了Servlet输出网页需要大量的println代码的不足。,JSP概念,Java 服务器页面 (Java Server Page ,JSP) 以扩展名 .jsp 保存 有效地控制动态内容生成 在Java Server Page里面使用 Java 编程语言和类库 HTML 用于表示页面,而 Java 代码用于访问动态内容,JSP概念, JSP test 你好,这就是一个JSP页面, , JSP test 当前时间是:Wed Oct 27 17:14:43 CST 2010 你好,这就是一个JSP页面, ,Model 1,JSP 1层架构,Model 2,JSP
7、 2层架构,JSP的架构模型,JSP 页面的元素,静态内容,指 令,表达式,Scriptlet,JSP 页面,HTML静态文本,以 结束。比如: ,声 明,动作,以 结束 比如:,注释, ,JSP组成,JSP脚本元素 java代码,注释,声明,表达式 JSP指令元素 page,include,taglib JSP动作组件 usebean,setproperty,getproperty,include,forward, plugin,param,fallback等 JSP内置对象out,request,response,session,application,pagecontext, confi
8、g,page,exception等 HTML代码,JSP 页面元素, ,JSP声明,JSP Scriptlet,JSP 指令,JSP 页面元素, JSP 页面构成 JSP页面构成 早上好! 下午好! ,静态内容,JSP 表达式,JSP 注释,JSP动作,JSP 执行过程,客户端,JSP 页面,JSP 执行过程,JSP 执行过程,转换和编译,编译,Servlet,JSP,确定 JSP 中的错误,从 JSP 元素中 提取数据,为 JSP 生成 一个 Servlet,转译,*.jsp,*.java,*.class,servlet,servlet 分析器,JSP的执行过程:,JSP的执行流程:,示例分
9、析, . 其他 HTML 语言 其他 HTML 语言 ,JSP示例(Hello.jsp), 你好 , 你好 你好 ,JSP示例(Hello_Date.jsp), 你好,今天是 号, 星期 ,import java.util.*; response.setContentType(text/html; charset=gb2312); out = pageContext.getOut(); out.write(rnrnrn rn你好,今天是rn); Date today=new Date(); out.print(today.getDate(); out.write(号,星期); out.prin
10、t(today.getDay(); out.write( rn rnrn );,JSP文件,servlet文件,JSP的优点,将内容与表示分离,客户端,服务器,一 注释,HTML注释 JSP注释 语法格式如下: 或 - 这种注释发送到客户端,不直接显示; 但在源代码中可以查看到。,HTML注释举例:, HTML注释 未显示上一行的注释。 ,JSP注释举例:, HTML注释 未显示上一行的注释;而且你在源代码中也查看不到! ,JSP程序自身注释,JSP语法元素及标签类型,JSP语法,JSP语法元素及标签类型案例,二 JSP 脚本元素,JSP 脚本元素,表达式,Scriptlet,声明,JSP 脚
11、本元素包括:,1 声明,变量的声明 方法的声明 类 的声明 在中声明的变量、方法、类,在整个jsp文件内都有效,是全局的。 JSP 语法格式如下: 或 ,声明就是在JSP页面中声明和定义变量和方法。声明总是以结尾。,声明, ,定义一个count变量,并赋初值0。,声明:变量仅在JSP引擎第一次装载页面的时候初始化一次(仅一次),而在接下来的客户端请求中使用该变量的值。,两种使用方式等价,声明 page1.jsp, test , 您是第 个访问本站的客户。 ,计数器程序:,JAVA程序段,一个JSP页面可以有多个JAVA程序段。 语法格式如下: ,JAVA程序段 page2.jsp, 1到100
12、的连续和: ,JAVA程序段中定义的变量是局部变量, 变量sum在page2.jsp的程序段和表达式中有效。 一个客户对page2.jsp的局部变量sum的操作结果,不会影响其它客户的对该page2.jsp的局部变量sum。, 您是第 个访问本站的客户。 ,!注意观察与前面计数器程序的异同,JAVA表达式,用于在页面上输出信息,语法格式如下: 或 例如 : a= b= c=,例:表达式, Sin(0.9)除以3等于 3的平方是: 12345679乘72等于 5的平方根等于 99大于100吗?回答:100% ,JSP 指令,JSP 指令,page,include,taglib,JSP 指令的语法
13、为: ,JSP 指令包括:,page 指令,page 指令属性,language,page 指令用于设置 JSP 页面的属性,import,buffer,errorPage,contentType,language 定义要使用的脚本语言,import 将包和方法导入 Scriptlet,isErrorPage 表示当前页面能否作为错误页面,errorPage 定义处理异常的 JSP 页面,buffer 设置用来存储客户端请求的缓冲区的大小,page 指令, 测试 page 指令 这是一个测试页面 ,page 指令属性,page 指令,JSP指令-directives page 指令:page指
14、令通知JSP引擎证实关于JSP页面的所有属性。这个指令并不仅仅应用在声明它的页面,而是作用于整个翻译单元。 include 指令:include指令告诉JSP引擎在当前页面包含其它web组件(HTML,JSP等)。 taglib 指令用来关联一个已知的taglib配置文件的前缀。 ,JSP页面之page指令,JSP页面之page指令 import 属性 书写格式(2种) 隐含导入的包,也就是不必再显式导入的包 注意点 可以出现多次import属性,这个是page指令中的唯一特例 重复导入的包会被忽略,page 指令, ,java.lang.*, javax.servlet.*, javax.s
15、ervlet.jsp.*, javax.servlet.http.*,1,2,page 指令,JSP页面之page指令 errorPage和isErrorPage属性 JSP页面处理异常的机制 普通的try-catch块 使用errorPage和isErrorPage属性,errorPage也可以是error.htm,但是无法处理出错信息而已,page 指令,JSP页面之page指令 language、extends和info属性 说明页面上的声明,脚本和表达式用的语言,只有java可用 extends属性指定页面生成的servlet的父类 用来定制容器生成的JSP对应的servlet类的特性
16、 该属性基本上用不到 info属性,info属性允许我们为生成的servlet的getServletInfo()方法返回的字符串。 ,page 指令,JSP页面之page指令 buffer和autoFlush属性 buffer属性,buffer属性指明在生成的内容发送到客户端前的输出缓冲区的最小值,JSP规范指定最小为8kb(只能是kb后缀),如果不用缓冲而直接发送数据到客户端,可设置为 none。 autoFlush属性,autoFlush属性指明一旦缓冲区满缓冲区的数据是否自动发送到客户端。默认值是true。如果设为false,一时缓冲区满,再向缓冲区输出数据就会报出异常。 下列组合就是非
17、法的: 翻译成servlet时出错 运行时出错,page指令 contentType和pageEncoding属性 contentType属性指明输出的MIME类型和字符编码MIME的默认值为text/html;字符编码的默认值为ISO-8859-1。MIME和字符编码之间用分号;隔开 等价于在servlet中写: response.setContentType(text/html;charset=ISO-8859-1); pageEncoding属性指明JSP页面所使用的编码。默认值为ISO-8859-1。 ,include 指令3-1,include 指令用于在运行时将 HTML文件或 JSP页面嵌入到另一个 JSP页面 include 指令语法 ,include 指令3-2, include 指令测试页面 ,in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届辽宁省营口市大石桥市水源镇九上物理期末调研模拟试题含解析
- 惠安广海中学2027届九年级化学第一学期期中达标检测模拟试题含解析
- 2027届山东省莱州市九年级物理第一学期期末学业质量监测试题含解析
- 2026广东肇庆学院教学科研人员招聘笔试题库【夺冠系列】附答案详解
- 2026西藏自治区第二人民医院招聘7人考前冲刺密卷及参考答案详解(基础题)
- 2026湖南邵阳邵阳县第二中学(县城校区)选调工作人员14人考前冲刺密卷必考题附答案详解
- 永嘉教师招聘笔试试题及答案分享
- 关于组织活动的考试题目及答案
- 小儿肺炎单项选择题及答案呈现
- 2026年黑龙江省人教版高二英语必修一第四章写作技能测试卷
- 2025年海南三沙市事业单位公开招聘笔试试卷(含完整答案解析)
- 江苏盐城东台市2026年专职网格员招聘考试试卷-含答案解析
- 浙江省杭州市富阳区共同体学校2026-2027学年六上数学期末调研模拟试题含解析
- 2026年公务员遴选本土实务笔试习题及答案
- 2026年1月浙江省选考物理试题(纯答案版)
- 译林版三年级英语下册Unit2 Clean our classroom作业单
- 东方枢纽集团笔试题答案
- k近邻算法课件
- 中国平安IQ测评题库
- 食物与能量的转换
- 中级护士聘任申请书范文
评论
0/150
提交评论