1. 指示元素,<%@指示元素 [属性=值]* %>
其中指示元素包括page, include, 和tablib三个。
其中  属性=值 可以有多对。
其中page用来告知容器如何转译目前的jsp页面,下面这三个是最常用到的page属性:
 
include用来将其他的jsp页面包含进来,比如可以把html的头和尾独立出来,然后在各种页面中都通过include指示元素把他包含进来。
jsp是静态的,是编译期间的指示符。例子如下:
    后续还有<jsp:include xxx> 标签,这个是动态的,是运行时的。
    默认情况下,容器会使用一个servlet对象来处理不同用户的请求,所以在jsp中编写的代码一定要注意线程安全问题。
 
2. 申明元素的语法:
    <%!   类成员申明或者方法申明 %>
    顾名思义,所谓申明元素就是用来在jsp文件中定义类成员变量或者方法的,在申明元素内的代码一般会被转译成servlet类的成员变量或者方法。例子如下:
 
3. ScriptLet元素,其语法如下,
    <% java语句 %>
    可以在其中写多个语句,所有在<% xxx %>内的语句都会被转译到_jspService()方法内部去了。
    Scriptlet是可以被禁用掉的,可以在web.xml中配置, <scripting-invalid>true</scripting-invalid>
    在网页上包含大量的scriptlet是不好的习惯,好的习惯是尽量el或者jstl标签来消除scriptlet;
     示例代码如下:
 
4. 表达式元素
    <%= xxxx %>
    表达式运算的结果会直接作为网页的一部分,
    比如 <%= new Date() %>
      
 
5. 三种不同类型的注释
        #,java本身的注释, 
        #,html的注释, <!-- xxxx -->
        #,jsp的注释, <%-- xxxxx --%>
    #,有多种不同类型的隐式对象,他们只能在<% xxx %>, <%= xxxx %> 之间使用,不能再 <%! xxx  %>内部使用,因为隐式对象其实就是_jspService方法内部的局部变量。
 
      #,由于<%  %>在jsp中有特殊的意义,所以如果想要在html界面上输出这两个符号,就需要使用转译字符
      #,<% = &lt;%
      #,%>= %&gt;

从0开始学Java——从jsp到servlet转换的各种辅助元素介绍的更多相关文章

  1. 从0开始学Java——eclipse下运行servlet程序警告:Setting property 'source' to 'org.eclipse.jst.jee.server:类名' did not find a matching property.

    在使用Eclipse 创建第一个 Servlet之后,并且配置好了tomcat,然后Run on server的之后,提示标题所示错误: 警告: [SetContextPropertiesRule]{ ...

  2. 从0开始学Java——JSP和Servlet——jsp转servlet出错的三个典型场景

    由于jsp终究是要转换为servlet的java文件,然后再编译为.class文件,最后才执行,那么在这过程的任何一个步骤都可能有问题,主要包括三个方面,下面逐一分析: 一.JSP转换为Servlet ...

  3. 从0开始学Java——JSP&Servlet——Tomcat和Apache的区别

    从<JSP & Servlet 学习笔记>的第一章,了解到web容器:“Web容器是Servlet/jsp唯一认得的http服务器”. 在Java中,容器的类型有多种,这里要说的是 ...

  4. 0基础学Java快速扫盲指南,月入2W的基础

    学Java,掌握一些基本的概念是第一步,本文简单为大家介绍一些扫盲级别的内容,希望帮助小白快速入门. 一.基本概念 JVM:java虚拟机,负责将编译产生的字节码转换为特定机器代码,实现一次编译多处执 ...

  5. Java之JSP和Servlet基础知识

    JSP基础 JSP起源 JSP,JavaServer Pager的简称.由SUN倡导并联合其它公司创建. JSP是一门脚本语言 JSP可以嵌入到HTML中 JSP拥有Java语言的所有特性 面向对象. ...

  6. java Web jsp和servlet的关系

    JSP在本质上就是SERVLET,但是两者的创建方式不一样Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观JSP由HTML代码和JSP标签构 ...

  7. Java中jsp和Servlet的区别

    1 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务 ...

  8. 从0开始学java——JSP&Servlet——web容器搜索class的路径顺序

    在web应用程序如果要用到某个类,会按照如下的顺序来搜索: 1)在WEB-INF/classes目录下搜索: 2)如果该目录下没有,则会到WEB-INF/lib目录下的jar文件中搜索: 3)如果还没 ...

  9. 从0开始学Java——JSP&Servlet——HttpServletRequest相关的几个路径信息

    在HttpServletRequest中有几个获取路径的接口:getRequestURI/getContextPath/getServletPath/getPathInfo 这些接口互相之间有什么区别 ...

随机推荐

  1. Linux磁盘、目录、文件操作命令

    0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...

  2. BIEE从底层表结构向上更新

    影响BIEE查询结果的几个因素: 1.数据库表结构变化后,RPD如何处理? 更新物理层 增加.删除.修改表名. 添加字段:右键点击连接池,点击导入元数据.勾掉关键字,重新导入那张表. 删除字段:直接右 ...

  3. Effective Java 78 Consider serialization proxies instead of serialized instances

    Serialization proxy pattern private static nested class (has a single constructor whose parameter ty ...

  4. 将Session写入数据库

    使用session_set_save_handler()函数,将Session的内容写入数据库 <?php /* *@author Fahy *@link http://home.cnblogs ...

  5. hdu 4832 Chess(dp)

    Chess Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  6. Uva-11374-Airport Express

    A - Airport Express Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Appoi ...

  7. web.xml文件报错:The processing instruction target matching "[xX][mM][lL]" is not allowed.

    昨晚把我的项目上传到了gitlab,然后今天在公司从gitlab下载下来, 发现web.xml报错.

  8. WCF宿主端检验队列

    ServiceHost host = new ServiceHost(typeof(Service1)); if (MessageQueue.Exists(@".\private\MyMes ...

  9. ssis trainning

    1. 防止包打开后hang住,可以使用delay validation=false. 2.2008R2 configuration 起作用的优先级? 一是des ign time. 二是运行的时候指定 ...

  10. 数据库配置文件 conf.properties

    #数据库配置 #mysql hibernate.dialect =org.hibernate.dialect.MySQLDialect jdbc.driverClassName =com.mysql. ...