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. iOS之UI--通讯录的实例关键知识技术点积累

    通讯录的实例关键知识技术点积累 效果展示: 作为博文笔记,既然是笔记,目的是为了能够以后做这个项目能够快速上手,如果这是我下一次阅览这个博文笔记,那么我应该先空手从零开始做,需求也就是这个项目的展示效 ...

  2. iOS开发中的一些定时器

    在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法.在这个时候,我们就需要用到定时器. 然而,在iOS中有很多方法完成以上的任务,到底有多少种方法呢?经过查阅资 ...

  3. android 进程间通信数据(二)------parcel的实现

    Serialize是java原生就自带的东西,我们可以看到android的源码 所以看看android是如何实现parcel的,这对我们自己代码设计有什么启发. Parcel: 在android中,p ...

  4. socket服务器开发中的SO_REUSEADDR选项与让人心烦的TIME_WAIT

    1 发现问题 我在开发一个socket服务器程序并反复调试的时候,发现了一个让人无比心烦的情况:每次kill掉该服务器进程并重新启动的时候,都会出现bind错误:error:98,Address al ...

  5. redis高可用之REDIS SENTINEL

    1. Redis主从配置 1.1. 设置主从复制 Master <= Salve 10.24.6.5:6379 <= 10.24.6.7:6379 1.2.   取消主从复制 1.3.   ...

  6. Effective Java 66 Synchronize access to shared mutable data

    synchronized - Only a single thread can execute a method or block at one time. Not only does synchro ...

  7. windows 搭建 solr 5.3.2

    1. Tamcat 的安装,此不介绍 路径:F:\SolrTest\apache-tomcat-8.0.18 2. 解压 solr 5.3.2 路径:F:\Tool\solr-5.3.2 3. 复制s ...

  8. 6天的巴厘岛旅行 I love Bali

    6天的巴厘岛旅游今天结束了,从第一天的踏进异国之域的新奇,到最后一天的将且回程的恋恋不舍,要记下的.不愿忘记的东西太多太多. 1.下午5点半抵达巴厘岛登巴萨国际机场,7点半才出机场,让Ricky导游和 ...

  9. linux移植问题汇总(一)

    linux移植问题汇总(一) 在此记录移植linux过程中出现的问题以及解决方法. 项目GitHub地址 linux3.0.80:https://github.com/numbqq/linux-3.0 ...

  10. 设置html的div中背景图片长宽

    使用以下可行 background-size:1040px 482px;