----------------siwuxie095

 
 

 
 

 
 

 
 

 
 

 
 

 
 

编译指令是通知 JSP 引擎的消息,其作用是设置 JSP 程序的属性,

以及由
JSP 生成的 Servlet 的属性,并不直接生成输出

 
 

如:指定
JSP 程序所使用的脚本语言、文件编码等

 
 

 
 

编译指令都有默认值,如果没有设置,则采用默认值,开发人员无需为每个指令设置值

 
 

 
 

JSP 常用的编译指令有 3 个:page、include、taglib

 
 

 
 

 
 

page 编译指令

 
 

page 编译指令主要用于定义当前 JSP 程序的全局属性

 
 

如:JSP 程序所使用的脚本语言类型,需要导入的 Java 包的列表

 
 

 
 

page 编译指令的格式:<%@ page %>

 
 

 
 

一般情况下,page 编译指令位于页面的最上方,同一页面可以有多个 page 编译指令

 
 

 
 

Eclipse 默认给 JSP 文件添加的 page 编译指令

 
 

 
 

 
 

language 属性

 
 

用于声明当前 JSP 程序的所使用的脚本语言的种类,默认是 java

 
 

 
 

 
 

contentType 属性

 
 

(1)设置 MIME 的类型

 
 

MIME 即 Multipurpose Internet Mail Extensions,多用途互联网邮件扩展

 
 

MIME 最早应用于电子邮件系统,后来也应用于浏览器,服务器会将其发送的

多媒体数据类型告诉浏览器,而通知的手段即
MIME

 
 

这里
JSP 程序的 MIME 类型是 text/html,说明发送给浏览器的是网页数据

 
 

 
 

(2)设置生成网页的编码

 
 

charset 指定服务器生成网页的编码,这里是 UTF-8

 
 

如果该属性没有指定,默认是 ISO8859-1

 
 

 
 

 
 

pageEncoding 属性

 
 

用于设置 JSP 程序本身的编码

 
 

 
 

 
 

page 编译指令的其他常用属性:

 
 

import 属性

 
 

该属性用来导入 Java 类,如果没有通过 import 属性导入 Java 类,

那么在
JSP 中使用这些类时必须使用完全限定名,即包名

 
 

如:

 
 

 
 

 
 

 
 

可通过一个
import 属性导入多个 Java 类,中间使用逗号隔开

 
 

如:

 
 

 
 

 
 


全部放在一起

 
 

 
 

 
 


分开

 
 

 
 

 
 

导入相应的
Java 类后,可以在
JSP 程序段中使用

 
 

 
 

 
 

errorPage 属性 和 isErrorPage 属性

 
 

errorPage,用于指定错误处理页面,如果当前的 JSP 程序产生了

异常

错误,而该
JSP 程序没有对应的处理代码,则 JSP 引擎会

自动调用
errorPage 所指定的 JSP 程序(错误处理程序)

 
 

isErrorPage 用于设置当前 JSP 程序是否为错误处理程序

 
 

如:

 
 

设定
get_error.jsp 的 errorPage 属性,在 JSP 程序段中人为制造一个错误

 
 

 
 

 
 

 
 

设定
handle_error.jsp 的 isErrorPage 属性,在 JSP 程序段中对错误进行处理

 
 

 
 

 
 

 
 

 
 

 
 

include 编译指令

 
 

include 是 JSP 的静态包含指令,使用它可以将一个 外部文件 包含到当前的 JSP 程序中

 
 

外部文件
可以是
HTML 文件,也可以是 JSP 文件,也能包含其他类型的文件 如:txt

 
 

如果是
JSP 文件,那么会在包含进来的同时,解析其中的 JSP 语句

 
 

include 编译指令的格式:<%@ include %>

 
 

如:

 
 

创建三个文件:header.html、body.txt、footer.jsp

 
 

header.html:

 
 

 
 

 
 

body.txt:

 
 

 
 

 
 

footer.jsp:

 
 

 
 

 
 


include.jsp 的 body 内将三者都包含进来

 
 

 
 

 
 

在浏览器中访问 include.jsp,运行一览:

 
 

 
 

 
 

 
 

JSP 会被转换成 Servlet,而通过 include 编译指令包含进来的所有文件,

最终会被转换成一个 Servlet(整体)

 
 

注意:在包含页面和被包含页面,JSP 声明 <%! %> 中同一类型的同名参数不能定义两次

 
 

 
 

 
 

 
 

taglib 编译指令

 
 

taglib 用于允许用户使用标签库自定义标签

 
 

taglib 编译指令的格式:<%@ taglib %>

 
 

 
 

 
 

 
 

参考:

参考链接1参考链接2参考链接3参考链接4参考链接5

 
 

 
 

 
 

 
 

 
 

 
 

【made by siwuxie095】

JSP编译指令的更多相关文章

  1. JSP编译指令、JSP动作指令

    JSP编译指令:通过指令中的属性配置来向JSP容器发出指令,用来控制JSP页面的某些特征 JSP指令格式:<%@ 指令名   [一个或多个指令属性]%> 1.page:用于对JSP页面中的 ...

  2. JSP编译指令与动作指令

    下面这个面试经常问到,要理解. 上面这个效果一样,重点.   <jsp:include>动作在请求期间被执行,而include指令在编译期页面间被执行.

  3. JavaWeb从0开始学(二)-----JSP基本语法与编译指令

    在上一节中我们学习了如何搭建一个简单的Web应用,并且已经知晓了一个JSP页面主要由静态的HTML内容和动态的Java脚本共同组成.JSP的基本语法共有JSP注释.JSP声明.输出JSP表达式与JSP ...

  4. JSP学习(2)---四种基本语法与三种编译指令

    JSP的异常可以不处理,即使是checked异常. 四种基本语法: jsp声明,jsp注释,jsp表达式,jsp脚本 三种编译指令: page,include,taglib 下面是具体的练习. sho ...

  5. JSP基本的语法、3个编译指令、7个动作指令、9个内置对象

    一.jsp概述 JSP是java server page的缩写,其本质是一个简化的servlet,是一种动态网页技术标准.jsp页面是在HTML页面中嵌入java程序段.使用jsp开发的应用程序能够跨 ...

  6. 【JSP】JSP基础学习记录(一)—— 基础介绍以及3个编译指令

    序: 从实现到现在一直是以.net为主,但偶尔也会参与一些其他语言的项目.最近需要对一个Java Web项目进行二次开发,一直没学习过JSP所以买了几本书自学试试.参考资料为<轻量级Java E ...

  7. JSP的编译指令

    JSP有3个编译指令,是通知JSP引擎的消息,它不直接生成输出.编译指令都有默认值,无须为每个指令设置值. 常见的编译指令有如下三个: page:针对当前页面的指令. include:指定包含另一个页 ...

  8. 02.JSP的3个编译指令

    本章介绍JSP的3个编译指令,在JSP中常见的编译指令有如下3个:         1.page:用于针对当前页面的指令.         2.include:用于指定包含另一个页面.         ...

  9. jsp的常用指令有哪些(编译指令/动作指令整理)

    jsp的常用指令有哪些(编译指令/动作指令整理) JSP动作指令 JSP - JSP中的脚本.指令.动作和注释

随机推荐

  1. 3.06课·········C#语言基础

    Main函数: static void Main(string [] args){ }程序代码需要写在Main函数的花括号内. 一.输出:Console.WriteLine("这是我的第一个 ...

  2. STL中流相关的输入输出符和get函数彻底总结:cin、cin.get()、cin.getline()、getline()、gets()等函数的用法

    我的总结: [首先:对于流来说,就把流看成一个中转的仓库,对流进行<<运算或>>运算或者get函数的运算都是指,把“流”中的数据“运送”到“内存变量”中去,还是把内存变量中的数 ...

  3. 重置 oschina 的CSS

    嗯, 目前只是改了一下OSChina的几个主要DIV宽度而以,还是很粗糙, 以后会慢慢改进的. ---------------------------------------------------- ...

  4. Hibernate错误及解决办法

    1.Hibernate 报错:this project is not a myeclipse hibernate project . assuming hibernate 3 cap res:项目名上 ...

  5. PHP基于单例模式编写PDO类的方法

    一.单例模式简介 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务: 二.为什么要使用PHP单例模式? 1.php的应用主要在于数据库应用, 所以一个应用中会存在 ...

  6. GeoServer基础教程(四):空间数据互操作的接口规范WMS、WFS和WCS

    转载:https://ethanblog.com/tech/all-about-wms-wfs-and-wcs.html 前面几节介绍了GeoServer基础教程的一些基本操作,相信大家对GeoSer ...

  7. 【leetcode刷题笔记】Pascal's Triangle II

    Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...

  8. BZOJ3812 清华集训2014 主旋律

    直接求出强联通生成子图的数量较难,不妨用所有生成子图的数量减去非强联通的. 非强联通生成子图在所点后满足编号最小的点所在的强联通分量不是全集. 由于$n$很小,我们可以考虑状态压缩. 对于点集$S$, ...

  9. ACM学习历程——ZOJ 3822 Domination (2014牡丹江区域赛 D题)(概率,数学递推)

    Description Edward is the headmaster of Marjar University. He is enthusiastic about chess and often ...

  10. windows下python使用虚拟环境

    官方文档: http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html virtualenv 是一个创建隔绝的Python环境 ...