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之小功能模块--彩虹动画进度条学习和自主封装改进

    前言: 首先展示一下这个iOS小示例的彩色进度条动画效果: 阅读本文先说说好处:对于基础不好的读者,可以直接阅读文末尾的"如何使用彩虹动画进度条"章节,然后将我封装好的这个功能模块 ...

  2. java注解框架

    我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里面它们是“注解”. 下面是百度百科的解释:java.lang.annotation ...

  3. 解决easy ui两次请求服务器的问题

    目前该问题已经在1.4.1版本中解决了 本文引用自:http://www.cnblogs.com/Reaver/p/4056770.html,原文博主:flyreaver 我在使用过程中遇到了easy ...

  4. 用java程序输出自己的姓名

    代码部分: public class Hello { public static void main(String[] args) { System.out.println("$$$$$$$ ...

  5. 如何正大光明的使用 google 进行搜索

    对于程序猿来说,不能使用google,是一大痛所在,今天在使用 百度网盘 搜索时,突然发现 ,他能同时使用 baidu和 google进行搜索,于是想到了这个正大光明的使用google 的方法,不需要 ...

  6. C#拖放实现餐饮系统转台操作

    转台是餐饮系统中常用的操作,一般系统都是右键选择弹出目标台界面,然后选择目标台确定,现在我们把需要转的台通过拖动到目标台图标上面就可以实现前面的操作,简单快捷. 转台操作时: 转台成功后: /// & ...

  7. 使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法

            Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...

  8. cordova Process finished with exit code -1

    安装完cordova之后,创建一个测试项目后,运行报Process finished with exit code -1,经过查找原因,是因为gradle没有安装,在http://www.androi ...

  9. CentOS下SSH无密码登录的配置

    1.确认本机sshd的配置文件(需要root权限) $ gedit /etc/ssh/sshd_config 找到以下内容,并去掉注释符"#" RSAAuthentication ...

  10. sql 查询基本语法

    1.计算列        select * from emp           --*表示所有的           --from emp 表示从emp表查询   select empno,enam ...