JSP声明和JSP指令
JSP声明
JSP 声明用来定义程序中使用的实体,如变量、方法和类。
语法格式:<%! 变量/方法/类的声明 %>
例如:
<%! String str="欢迎"; %> <%!
public int add(int x,int y){
return x+y;
}
%> <%!
public class Student{
String name;
Student(String name){
this.name=name;
}
}
%>
注意1:JSP 声明中定义的变量、方法和类是全局 性的,在 JSP 页面中的任何地方都能够使用。
注意2:JSP 声明中不能使用out.print()系列方法做 输出操作。 (下面这样就不行)
<%@ page language="java" contentType="text/html; charset=gb2312"%> <html>
<body>
<%!
out.println("欢迎来到本系统"); <%-- 这样会报错 --%>
%>
</body>
</html>
JSP指令
JSP指令元素是指在JSP文件中包含在<%@与 %> 之间的部分,用来设置页面的相关信息,在服务器 端执行,不产生输出,在整个页面范围内有效。
格式:<%@ 指令 属性1=" 值 " ……属性n =" 值 " %>
√ page指令:用于设定JSP页面的全局属性和相关功能
√ include指令:用于将特定位置上的资源包含到当前的JSP文件中
√ taglib指令:用于定义一个标签库及标签库的前缀
1、page指令常用属性

1-1、page指令——import属性
功能:用于设置导入本页Jsp脚本会用到的包和类。
语法格式:
导入指定类:<%@ page import=" 包 . 类 " %>
导入指定包中所有类:<%@ page import=" 包 .*" %>
例如:
<%@ page import="java.util.Date" %>
<%@ page import="java.util.*" %>
说明:import属性是page指令中唯一可以多次出现的属性,其他属性若多次出现则会导致编译错误。
1-2、page指令——errorPage属性
功能:当JSP页面运行异常时,用于指定处理错误 的另一个JSP页面,其值为URL字符串。
语法格式:<%@ page errorPage =" 值 " %>
例如:
<%@ page errorPage = "anErrorPage.jsp" %>
1-3、page指令——isErrorPage属性
功能:设置当前JSP页面为另一个JSP页面的错误处理页面,其值为布尔类型,默认值为false。
语法格式:<%@ page isErrorPage =" 值 " %>
例如:
<%@ page isErrorPage = "true" %>
注意1:该属性是否设置为true不影响当前错误处理页面的执行,但设置为true后,服务器会根据原页面错误类型将相应http状态码返回到客户端,否则将返回执行正常的状态码。
举个栗子:pageTest2.jsp
<%@ page contentType="text/html; charset=gb2312" errorPage="pageTest2_error.jsp"%>
<html>
<body>
<%//此页面会向pageTest_error抛出异常,让其来处理
int num1=10;
int num2=0;
int num3=num1/num2;
%>
</body>
</html>
pageTest2_error.jsp
<%@ page contentType="text/html; charset=gb2312" isErrorPage="true"%> <html>
<body>
<% //此页面会会处理pageTest2.jsp抛出的异常
//友好地显示错误信息
out.println("网页出现数学运算异常!");
%>
</body>
</html>
运行结果:

地址栏仍显示原页面地址而非错 误处理页面地址
1-3、include指令
功能:向当前页面指定位置插入一个静态文件。

语法格式: <%@ include file=" 被包含文件的 URL" %>
例如:
<%@ include file=" logo.jsp" %>
说明:include指令在编译时将对于文件包含到本页面,等价于代码复制。所以会影响主页

1-4、taglib指令
功能:在JSP页面中标识并引用指定标签库,同时指定标签的前缀(为方便使用给标签库起的别名)。 这样,就可以通过前缀来引用标签库中的标签。
语法格式: <%@ taglib uri=" 标签库的 URI " prefix=" 标签前缀 " %>
例如:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jst1/core"%>
举个栗子:
<%@ page language="java" contentType="text/html; charset=UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html>
<head>
<title>taglib指令示例</title>
</head>
<body>
<c:out value="taglib 指令示例 " />
</body>
</html>
运行结果:

JSP声明和JSP指令的更多相关文章
- JSP基础:JSP指令、JSP注释、JSP脚本、JSP声明、JSP表达式
JSP指令分为:page指令.include指令.taglib指令. page指令:通常位于JSP页面的顶端,同一个页面可以有多个页面指令. 语法:<%@ page language=" ...
- 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)
JSP原理: 1. 对于每个请求.jsp容器都会创建一个新的线程来处理它: 2. Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...
- Java遇见HTML——JSP篇之JSP基础语法
一.JSP简介 JSP全名为Java Server Pages,Java服务器端页面,其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.Jsp是一种动态网页技术标准,是在服务 ...
- JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象
1 什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的 ...
- JavaWeb学习----JSP脚本元素、指令元素、动作元素
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- JSP脚本元素、指令元素、动作元素
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- JSP基本语法--Page指令 <%@page 属性=”内容“%>
page指令语法:<%@page 属性=”内容“%> 常用:contentType,import,pageEncoding 例子,设置MIME属性,如果使用一些高版本的tomcat,可能自 ...
- JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域
前言 前面大概介绍了什么是JSP,今天我给大家介绍一下JSP的三个指令.6个动作以及它的9大内置对象.接下来我们就直接进入正题 一.JSP的3个指令 JSP指令(directive)是为JSP引擎而设 ...
- JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象
Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...
随机推荐
- Oracle spool 小结
关于SPOOL(SPOOL是SQLPLUS的命令,不是SQL语法里面的东西.) 对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如: select taskindex|| ...
- 一、C#简单读写
using System.IO; static string configFileName = "config.json"; //不存在就直接新建文件夹 public static ...
- C++ Primer(6) 模板和泛型编程(上)
问题聚焦: 泛型编程是独立于变量类型的方式编写代码: 模板是泛型编程的基础. 本篇主要介绍模板的基础知识,包括:模板的定义和模板的实例化. 1 模版定义 必要性: Demo int compare(c ...
- Python实例---简单的选课系统
要求 思路: 构造方法传递过去学校名称,同时利用UUID创建一个随机字符串,用这个字符串来作为要写入的文件名 利用类的__str__方法来实现类对象接口返回学校名称的操作 利用pickle的dumps ...
- Hexo Next配置百度分享、加入动态背景、接入网页在线联系功能、页脚增加统计功能、添加gitment、添加热度、阅读量排行
Hexo Next配置百度分享.加入动态背景.接入网页在线联系功能.页脚增加统计功能.添加gitment.添加热度.阅读量排行: https://wangc1993.github.io/categor ...
- ZT android -- 蓝牙 bluetooth (四)OPP文件传输
android -- 蓝牙 bluetooth (四)OPP文件传输 分类: Android的原生应用分析 2013-06-22 21:51 2599人阅读 评论(19) 收藏 举报 4.2源码AND ...
- Foj 2299 Prefix(AC自动机、DP)
Foj 2299 Prefix 题意 给定串s.正整数n,问有多少长度为n的字符串t满足:s[0...i]是t的子串,s[0...i+1]不是. 题解 求有多少长度为n的字符串t满足:s[0...i] ...
- 内存池-转载自IBM
[转载自IBM]讲的很好~推荐看看 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别.而在编程实践中,不可避免地要大量用到堆上的 ...
- scala当中的文件操作和网络请求
1.读取文件当中每一行的数据 def main(args: Array[String]): Unit = { //注意文件的编码格式,如果编码格式不对,那么读取报错 val file: Buffere ...
- BT提权wind2008R2
昨天中午打开电脑,对着菜刀在那翻啊翻,找到一个64bit的os. 因为这个ip不在曾经提权过的主机列表里面,心想这应该是个低权限的网站,顺手打个whoami试试,结果给我返回了"nt aut ...