1.JSP 的运行原理
 当服务器上的一个JSP 页面被第一次请求执行时,服务器上的JSP引擎首先将JSP 页面文件转译成一个java 文件,再将这个java 文件
编译生成字节码文件,然后通过执行字节码文件响应客户的请求,而当这个JSP 页面再次被请求执行时,JSP 引擎将直接执行这个字节码文件来响应客户。
 字节码文件的主要工作是:
 (1) 把 JSP 页面中普通的HTML 标记符号(页面的静态部分)交给客户的浏览器负责显示。
 (2) 执行“<%”和“%>”之间的java 程序片(JSP 页面中的动态部分),并把执行结果交给客户的浏览器显示。
 (3) 当多个客户请求一个 JSP 页面时,JSP 引擎为每个客户启动一个线程而不是启动一个进程,
2.一个JSP 页面可由5种元素组合而成:
 (1)普通的 HTML 标记符。
 (2)JSP 标签:如,指令标签、动作标签。
 (3)变量和方法的声明。
 在“<%!”和“%>”标记符号之间声明变量和方法
 在“<%!”和“%>”之间声明的变量在整个JSP 页面内都有效。“<%!”和“%>”之间声明的变量在整个JSP 页面内都有效,因
 为JSP 引擎将JSP 页面转译成Java 文件时,将这些变量作为类的成员变量。
 在“<%!”和“%>”之间声明方法,该方法在整个JSP 页面有效
 (4)Java 程序片。
 在“<%”和“%>”之间插入Java 程序片。JSP 引擎将JSP 页面转译成Java 文件时,将各个程序片的这些变量作为类中某个方法的
 变量,即局部变量。
 (5)Java 表达式。
 在“<%=”和“%>”之间插入一个表达式(注意:不可插入语句,“<%=”是一个完整的符号,“<%”和“=”之间不要有空格)
3.JSP 中的注释
 (1) HTML 注释:在标记符号“<!--”和“-->”之间加入注释内容
 (2) JSP 注释:在标记符号“<%--”和“--%>”之间加入注释内容
4.JSP 指令标签
 1.page 指令用来定义整个JSP 页面的一些属性和这些属性的值。
 page 指令的格式:
  <%@ page 属性1= “属性1的值” 属性2=“属性2的值” ……%>
  属性值总是用单引号或引号双号括起来
  <%@ page contentType="text/html;charset=GB2312" %>
  1.language 属性
   定义 JSP 页面使用的脚本语言,该属性的值目前只能取"java"
   <%@ page language="java" %>
   language 属性的默认值是"java",即使你在JSP 页面中没有使用page 指令指定该属性的值的话
  2.import 属性
   该属性的作用是为 JSP 页面引入Java 核心包中的类,这样就可以在JSP 页面的程序片部分、变量及函数声明部分、表达式部分使用包
  中的类。可以为该属性指定多个值,该属性的值可以是Java 某包中的所有类或一个具体的类
  3.contentType 属性
   定义 JSP 页面响应的MIME(Multipurpose Internet Mail Extention)类型和JSP 页面字符的编码
   <%@ page contentType="text/html;charset=GB2312" %>
  4.session 属性
   用于设置是否需要使用内置的 session 对象。
   session 的属性值可以是true 或false,session 属性默认的属性值是true。
  5.buffer 属性
   内置输出流对象 out 负责将服务器的某些信息或运行结果发送到客户端显示,buffer 属性用来指定out 设置的缓冲区的大小或不使用缓冲区。
   buffer 属性可以取值 “none”,设置out 不使用缓冲区。Buffer 属性的默认值是8kb
   <%@ page buffer= “24kb” %>
  6.auotFlush 属性
   指定 out 的缓冲区被填满时,缓冲区是否自动刷新
   auotFlush 可以取值true 或false。auotFlush 属性的默认值是true。当auotFlush 属性取值false 时,如果out 的缓冲区填满时,就会出现
  缓存溢出异常。当buffer 的值是 “none”时,auotFlush 的值就不能设置成false。
  7.isThreadSafe 属性
   用来设置 JSP 页面是否可多线程访问。
   isThreadSafe 的属性值取true 或false。当isThreadSafe 属性值设置为true 时,JSP 页面能同时响应多个客户的请求;当isThreadSafe 属
  性值设置成false 时,JSP 页面同一时刻只能处理响应一个客户的请求,其他客户需排队等待。isThreadSafe 属性的默认值是true。
  8.info 属性
   该属性为 JSP 页面准备一个字符串,属性值是某个字符串
   <%@ page info= “we are students” %>
   可以在 JSP 页面中使用方法:getServletInfo();获取 info 属性的属性值。
 注意:page 指令只能给import 属性指定多个值;其它属性只能指定一个值。
 2.include 指令标签
 格式:
  <%@ include file= “文件的名字” %>
 作用:
  是在 JSP 页面出现该指令的位置处,静态插入一个文件。被插入的文件必须是可访问和可使用的,即该文件必须和
 当前JSP 页面在同一Web 服务目录中。所谓静态插入,就是当前JSP页面和插入的部分合并成一个新的JSP 页面,然后JSP 引擎再将这个
 新的JSP 页面转译成Java 类文件。因此,插入文件后,必须保证新合并成的JSP 页面符合JSP 语法规则,即能够成为一个JSP 页面文件。

5.JSP 动作标签
 动作标签是一种特殊的标签,它影响JSP 运行时的功能。
 1.include 动作标签
 格式:
  <jsp:include page= “文件的名字”/>或<jsp:include page= “文件的名字”></jsp:include>
  该动作标签告诉 JSP 页面动态包含一个文件,即JSP 页面运行时才将文件加入。与静态插入文件的include 指令标签不同,当JSP 引
 擎把JSP 页面转译成Java 文件时,不把JSP 页面中动作指令include所包含的文件与原JSP 页面合并一个新的JSP 页面,而是告诉Java
 解释器,这个文件在JSP 运行时(Java 文件的字节码文件被加载执行)才包含进来。如果包含的文件是普通的文本文件,就将文件的内容发
 送到客户端,由客户端负责显示;如果包含的文件是jsp 文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。
 2.param 动作标签
  param 标签以“名字—值”对的形式为其它标签提供附加信息,这个标签与jsp:include、jsp:forward、jsp:plugin 标签一起使用。
 param 动作标签:
  <jsp:param name= “名字” value= “指定给param 的值”>
  当该标签与 jsp:include 标签一起使用时,可以将param 标签中的值传递到include 指令要加载的文件中去,因此include 动作标签如果
 结合param 标签,可以在加载文件的过程中向该文件提供信息
  <jsp:include page="tom.jsp">
   <jsp:param name="computer" value="300" />
  </jsp:include>
 3.forward 动作标签
 forwar 指令:
  <jsp:forward page="要转向的页面" ></jsp:forward>或<jsp:forward page="要转向的页面" />
 作用是:从该指令处停止当前页面的继续执行,而转向其它的一个JSP 页面
 该指令也可以结合param 指令,向要转到的页面传送信息。
 <jsp:forward page="come.jsp" >
  <jsp:param name="number" value="12345" />
 </jsp:forward>
 4.plugin 动作标签
  在页面中使用普通的HTML 标记<apple ….></apple>可以让客户下载运行一个java applet 小应用程序,但并不是所有的客户的浏览器
 都支持java apple 小程序。使用plugin 动作标签可以保证客户能执行你的小应用程序。
 该动作标签指示 JSP 页面加载java plugin,该插件由客户负责下载,并使用该插件来运行Java applet。
 Plugin 动作标签:
 <jsp:plugin type="applet" code="小应用程序的字节码文件" jreversion="java 虚拟机版本号" width=" 小程序宽度值" height="小程序高度值" >
  <jsp:fallback>
   提示信息:用来提示用户的浏览器是否支持插件下载
  </jsp:fallback>
 </jsp:plugin>
 5.useBean 动作标签
 该标签用来创建并使用一个java beans,是非常重要的一个动作标签

JSP元素和标签的更多相关文章

  1. JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构

    一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...

  2. JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构

    一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1.    JSP模板元素:JSP中HT ...

  3. 【JSP】自定义标签开发入门

    JSP 自定义标签 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时We ...

  4. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  5. 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

    学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签.  jsp标签的分 ...

  6. jsp语法与标签

    语法: <% 多行java代码 %> 在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本.HTML标记和其他JSP元素. 举例: <% int x = 10; ...

  7. [置顶] jsp中c标签的使用

    jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...

  8. [应用篇]第二篇 JSP自带标签介绍

    JSP 有以下三类标签: 指令:JSP Directive 指令标签用于设置与整个 JSP 页面相关的属性,非常常用. 下面的三种标签是我们使用频率最高的 标签 jsp标签 描述 <%@ pag ...

  9. 【jsp】JSTL标签大全详解

    一.JSTL标签介绍 1.什么是JSTL? JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是 ...

随机推荐

  1. WIN10FTP服务器搭建

    在WIN10上搭建FTP服务器 先建立两个文件夹,区分上传和下载,做测试 用 然后在管理--服务界面新建一个用户 用户目录下创建一个用户 因为服务应用程序里面没有IIS,所以我们打开控制面板里面的程序 ...

  2. 电脑安装win8.1后 前面板没有声音的解决办法

    解决部分朋友在给电脑新安装win8.1系统后出现耳机插入电脑前面板音频口没有声音的问题 百度经验:jingyan.baidu.com 方法/步骤 1 1.安装声卡驱动(必须安装,否则无法完成设置) 2 ...

  3. ASP.NET中 分析器错误:发现不明确的匹配

    这是一个不好的代码习惯引起的发布后运行时的问题.错误原因为.net2.0无法正确识别服务器控件和变量的大小写区别,但是这个错误只有在iis中体现,在文件系统的调试中没有发生. 错误信息 引发错误的参考 ...

  4. 【转】教你爱上Blocks(闭包)

    Block 与传统代码相比较更加轻量,调用简洁方便,而且可以返回多个参数,使用Block可以让代码更加具有易读性,而我们在写回调时,也可以直接写在函数内部,而不用再去写一个回调函数 Block 闭包 ...

  5. Swift - 22 - 循环结构

    //: Playground - noun: a place where people can play import UIKit // for-in for i in -99...99 { i * ...

  6. Solution(项目部署):The server does not support version 3.0 of the J2EE Web module specification

    1.错误: 在eclipse中使用run->run on server的时候,选择tomcat6会报错误:The server does not support version 3.0 of t ...

  7. Animator Override Controllers 学习及性能测试

    本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/Unity_AnimatorOverrideContorller.html  The ...

  8. 记录GDI 文本的设置

    需要说明的是,在GDI+中,我们可以通过SetTextRenderingHint来控制文本输出的质量.例如下面的代码,其结果如图7.15所示. Graphics graphics( pDC->m ...

  9. When Colon Scripting is comming (脚本最佳体验)

    当冒号脚本来临-- 脚本最佳体验 冒号指派 说明; 冒号替代等号指派赋值,当命名声明指派时指定.相当于声明当前作用域的一个名字指派. 当对指定对象的属性赋值时候,依旧请使用等号.即不废弃等号赋值功用, ...

  10. Google Calendar(日历)设置农历生日提醒

    Generate birthday dates base on lunar birthdays for google calendar import Can be used for notifying ...