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. CoreAnimation-01-CALayer核心要点及实例解析

    CALayer基础 CALayer是每一个UI控件的核心,一个UI控件之所以能显示可以说是CALayer的功劳 每一个UI控件默认都为自己创建一个CALayer对象,通过drawRect方法将内容绘制 ...

  2. SAM4E单片机之旅——15、触屏输入与SPI通信

    开发板上配了一个电阻触摸屏,它的控制器是ADS7843,使用SPI进行通信.这次实现的功能是通过SPI接口与该控制器交互,获取触摸屏点击的坐标,并显示在LCD上.略为难点的是SPI作为同步时钟的一种, ...

  3. 如何成功发布一个MSMQ的Windows服务

    因为MSMQ的使用需要不断的查看队列是否有新消息,所以一般是结合Windows的服务,当然也可以用一个不关闭的Winform程序,不过前者更好一些,不怕被人误关. 完成MSMQ的WindowsServ ...

  4. redis中set命令的源码分析

    首先在源码中的redis.c文件中有一个结构体:redisCommand redisCommandTable[],这个结构体中定义了每个命令对应的函数,源码中的set命令对应的函数是setComman ...

  5. 问题解决——warning C4503 超出修饰名的长度,名称被截断

    ========================声明============================ 本文原创,转载请注明作者和出处,并保证文章的完整性(包括本声明). 本文不定期修改完善,为 ...

  6. Docker CentOS 7.2镜像systemd问题解决办法

    docker的CentOS 7.2最新版官方镜像使用systemctl管理程序时会遇到如下错误: Failed to get D-Bus connection: Operation not permi ...

  7. Mongodb 字段类型转换

    db.diningmembers.find({modifedDate:{$type:9}}).forEach(function(x){x.tel = String(x.tel);db.diningme ...

  8. FZU 1608 Huge Mission(线段树)

    Problem 1608 Huge Mission Time Limit: 1000 mSec    Memory Limit : 32768 KB Problem Description Oaiei ...

  9. 17 网络客户端编程 - 《Python 核心编程》

  10. Windows路由表详解

    对于路由器的路由表,大部分网管朋友都很熟悉,但是对于windows的路由表,可能了解的人就相对少一些.今天我们就一起来看看windows路由表.   一. windows路由表条目解释 1. 使用ip ...