《JSP教程JSP语法》PPT课件.ppt_第1页
《JSP教程JSP语法》PPT课件.ppt_第2页
《JSP教程JSP语法》PPT课件.ppt_第3页
《JSP教程JSP语法》PPT课件.ppt_第4页
《JSP教程JSP语法》PPT课件.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章JSP基本语法 一 JSP基本元素 一个完整的JSP程序一般包含JSP代码和HTML代码两部分 JSP代码嵌入在HTML代码中间 JSP代码一般指Java程序片和JSP标签 一个JSP页面可由以下四种元素构成 模板元素脚本元素指令元素动作元素 二 模板元素 模板元素主要指普通HTML标签 HTML注释等基本标签 字符格式化 常用表单元素单行文件本框 text 密码框 password 单选按钮 radio 复选按钮 checkbox 重置按钮 reset 提交按钮 submit 文本域 表格 详见 HTML主要标签及含义 三 脚本元素 JSP脚本元素是用来嵌入Java代码的主要包括声明 表达式 Scriptlet三种 声明 声明是指在JSP程序中定义变量和方法 声明后的变量和方法可以在JSP页面的任意地方使用 声明放在 标记符号间 使用格式如下 如 说明 之间定义的变量和方法是全局 静态 的 多个用户请求同一个JSP页面时 各用户共享成员变量 的值 表达式 表达式是获取变量的值或方法的返回值 并把结果在JPS页面上输 表达式在页面的位置即是结果输出位置 在 之间插入表达式 使用格式如下 如 获得变量i的值 获得方法的返回值说明 在之间不可插入语句 表达式后没有 表达式必须能求值 其值由服务器负责计算 将计算结果以字符串的形式返回并插入到JSP页面的相应位置 表达式示例 Sin 0 9 除以3等于3的平方是 12345679乘72等于5的平方根等于99大于100吗 回答 100 程序段 Scriptlet Scriptlet即是Java程序片段 它可以包含任意的Java代码 实现复杂的操作和控制 在 之间插入Java程序片段 使用格式如下 如 说明 1 一个JSP页面可以有许多Java程序片 JSP引擎顺序执行这些程序片 可以把一个程序片拆分成几个更小的程序片 然后在这些小的程序片之间插入JSP页面的一些其他标记元素 2 之间定义的变量和方法是局部 动态 的 多个用户请求同一个JSP页面时 各用户间没联系 分别拥有各自的局部变量 程序段Scriptlet示例 你好 你好你好 声明中定义的变量是全局变量 运行程序 i的值不断增加您是第个访问本站的客户 程序片中定义的变量是局部变量 每次运行 i总是1您是第个访问本站的客户 全局变量与局部变量的对比 计数器程序 课堂练习 求1 10的平方及平方根 求平方根的方法 Math里的sqrt 方法 并在浏览器中以表格的形式输出 简单表格示例 这是一行一列这是一行二列这是二行一列这是二行二列 四 指令元素 JSP指令的主要作用是和JSP引擎之间进行沟通 JSP指令发送消息到服务器端 并不向客户端产生任何输出 所有的指令都在JSP整个文件范围内有效 在 之间插入JSP指令 使用格式为 说明 属性值总是用双引号或单引号括起来 属性之间用空格分隔 不需要任何标点 JSP中主要有以下3种指令标签 page指令 include指令 taglib指令 Page指令 在JSP页面中 可以通过页面指令page来定义整个JSP页面的属性 通过这个指令定义的属性会对该JSP文件以及静态包含进来的页面起作用 使用格式为 page指令可以设置的属性有 import contentType isThreadSafe session buffer autoflush extends info errorpage isErrorpage language pageEncoding 各属性含义见书p87 page指令 说明 page指令可放在JSP的文件的任何地方 但为了增加程序的可读性 习惯上放置在页面的前面 page指令作用于整个JSP页面 包括静态的包含文件 但是指令不能作用于动态的包含文件可以在一个页面中用上多个page指令 但其中的属性只能用一次 有个例外是import属性 可以出现多次 用于导入多个Java类 page指令属性值 import属性import属性导入JSP页面中使用的Java类 一个import属性可以导入多个Java类 中间用逗号隔开 例如 上述代码也可以写成 下面的包在JSP编译时已经导入了 所以就不需要再指明了 java lang javax servlet javax servlet jsp javax servlet http page指令属性值 contentType属性contentType属性指定返回浏览器的内容类型属性值可以是text plain 纯文本文件 text html 纯文本的HTML页面 application x msexcel Excel文件 application x msword Word文件 contentType属性还可以指定返回浏览器的内容的字符编码格式 可以是ISO8859 1 英文 默认 或GB2321 中文 例如 如果需要在返回浏览器的HTML页面中使用中文字符 可以使用下列page指令 page指令属性值 errorPage属性errorPage属性指定错误或异常处理页面 当页面执行出现异常或错误时 浏览器显示该属性指定的页面 例如 isErrorPage属性指定当前页面是否是异常处理页面 值为true或false page指令属性值 pageEncoding属性指定JSP页面的字符编码 默认是ISO 8859 1 若要正常显示汉字 通常指定为 GB2312或GBKpageEncoding和contentType的区别与联系 pageEncoding是jsp文件本身的编码 contentType的charset是指服务器发送给客户端时的内容编码 它们的预设都是ISO8859 1 而随便设定了其中一个 一般另一个就跟着一样了 若都设置了 在设置JSP源文件字符集时 优先级为pageEncoding contentType 设置响应输出的字符集时 优先级为contentType pageEncoding 示例 info属性 此页面信息如下 s info属性 一个字符串 常用于显示JSP页面的版本作者等信息 可使用getServletInfo 方法获得 课堂练习 在程序片中设置数组越界异常 在页面出现异常或错误时 跳转到errorPage指定的错误页面 errorPage页面的输出内容为 数组下标越界了 请检查 并显示当前的日期 include指令 include指令允许在JSP页面内某处静态嵌入一个文件 包含是在JSP页面被转译成Servlet时进行的 文件合并后被编译成一个 class文件 静态嵌入后包含与被包含文件视为一体 如主体文件的page指令对被包含文件的约束也是有效的 主体文件也可使用被包含文件中的变量 格式为 如 一般将一个网站各个页面相同的部分 如导航条 页眉页脚等 写成单独的文件 然后静态include进各个页面 以减少重复代码 include指令 说明 一定要先写好被嵌入的文件 否则主体程序的编译不能被通过 所要嵌入的文件可以是文本 HTML JSP等 relativeURL这个路径名一般来说是指相对路径 不要端口 协议 域名 如 error jsp files header html test data jsp 包含文件中不再使用 标记 这些标记可能会影响在原JSP文件中同样的标记 这样做有时会导致错误 课堂练习 创建一个html文件 内容及输出如下图 另创建多个JSP页面 分别包含该html文件 使得html文件的内容出现在每个JSP页面的顶部 欢迎来到信息职业技术学院 用户名 密码 taglib指令 taglib指令用于引入JSP页面中需要使用的标签库的定义 以便在页面中使用标签库中定义的标签使用格式 uri用来表示标签描述符 也就是告诉容器怎么找到标签描述文件和标签库 prefix定义了在jsp页面里面要引用这个标签时的前缀 例如 五 动作元素 JSP动作元素在用户请求阶段执行 利用JSP动作元素可以动态地插入文件 重用JavaBean组件 进行页面转向 为Java插件生成HTML代码等 JSP动作元素是完全基于XML语法的 它采用严格的XML标签语法来表示 格式为 或 JSP动作元素 JSP规范中定义了一系列的动作元素 常用的动作元素有 静态或动态包含一个外部文件 请求转到一个新的页面 在浏览器中播放或显示一个对象实例 如Applet或JavaBean 为其他标签提供附加信息 实例化或查找一个JavaBean 设置JavaBean的属性 输出某个JavaBean的属性 元素 该标签告诉JSP页面动态包含一个文件 该文件可以是一个静态的或者动态的文件 若被包含文件是静态的 那么会把被包含文件的内容加到JSP文件中去 若文件是动态的 那么被包含文件会先被执行 然后把结果加入到JSP文件中去 还可以用向被包含的动态文件传递参数名和参数值 的使用格式为 不带参数格式 flush true false 带参数格式 元素 说明 page的属性值fileName为一相对路径 或者是代表相对路径的表达式 flush的属性值为 true 表示缓冲区满时会被清空 它默认值是false 一般使用flush为true 是以 名 值 对的形式为其他标签提供附加信息 它不能单独使用 一般和 一起使用 子句能传递一个或多个参数值给动态文件 其中 name指定参数名 value指定参数值 若要传递多个参数 则可以使用多个 示例 我是主文件 这里是主文件的其他内容 我是子文件这里是子文件 我得到的参数值为 主文件 子文件 运行结果 静态加载和动态加载区别 指令标签include是静态包含 被包含文件是在编译时插入JSP页面 然后一起被JSP容器编译生成一个Servlet 动作标签是动态包含 是在JSP页面被请求时 主文件和被包含文件分别被JSP容器编译 生成两个Servlet 然后将被包含文件的Servlet调入到主文件的Servlet中 指令标签在编译时就将子文件载入 动作标签在运行时才将子文件载入 课堂练习 a jsp中使用include动作标签加载b jsp 加载时向b jsp传送某学生的姓名 学号 年龄 b jsp获取并显示这些数据 元素 从该指令处停止当前页面的执行 而转向另一个JSP页面 该元素将客户端发出的请求 request 从一个JSP页面转交给另一个页面 可以是一个HTML文件 JSP文件 PHP文件 甚至可以是一个Java程序段 注意 标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象 与的区别 forward标签之后的代码 将不能执行 而include在执行完被包含文件后 还会回主文件继续执行 元素 使用格式为 不带参数格式 带参数格式 其中 page的属性值fileName为一相对路径 或者是代表相对路径的表达式 参数被发送到跳转后的动态文件 课堂练习 理解教材p95页 例4 11 例4 12练一练c jsp使用forward动作标签转向d jsp 转向时向d jsp传送两个整数 在d jsp中获取这两个整数 并计算其加 减 乘 除 元素 插入一个applet或Bean 必要的话还要下载一个Java插件用于执行它 一般 元素会指定对象是Applet还是Bean 也会指定class的名字 还有位置 另外还会指定将从哪里下载这个Java插件 使用格式为 textmessageforuser 元素 说明 属性type描述插件将执行的对象的类型 可以为bean或applet 必须指定 属性code描述插件将执行的java类文件的名称 在名称中必须包含扩展名 且此文件必须

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论