JSP声明和JSP指令

时间:2021-06-17 00:37:09

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指令常用属性

JSP声明和JSP指令

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>

运行结果:

JSP声明和JSP指令

地址栏仍显示原页面地址而非错 误处理页面地址

1-3、include指令 

功能:向当前页面指定位置插入一个静态文件。

JSP声明和JSP指令

语法格式: <%@ include file=" 被包含文件的 URL" %>

例如:

 <%@ include file=" logo.jsp" %> 

说明:include指令在编译时将对于文件包含到本页面,等价于代码复制。所以会影响主页

JSP声明和JSP指令

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指令的更多相关文章

  1. JSP基础:JSP指令、JSP注释、JSP脚本、JSP声明、JSP表达式

    JSP指令分为:page指令.include指令.taglib指令. page指令:通常位于JSP页面的顶端,同一个页面可以有多个页面指令. 语法:<%@ page language=&quot ...

  2. 复习:JSP基本的语法(JSP凝视 &plus; JSP指令 &plus; JSP脚本元素 &plus; JSP动作元素)

    JSP原理: 1.    对于每个请求.jsp容器都会创建一个新的线程来处理它: 2.    Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...

  3. Java遇见HTML——JSP篇之JSP基础语法

    一.JSP简介 JSP全名为Java Server Pages,Java服务器端页面,其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.Jsp是一种动态网页技术标准,是在服务 ...

  4. JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式&sol;内置对象

    1 什么是JSP   1)为什么说,Servlet是一个动态Web开发技术呢?     Servlet是基于服务端的一种动态交互技术,     HttpServletRequest表示客户端到服务端的 ...

  5. JavaWeb学习----JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. JSP脚本元素、指令元素、动作元素

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. JSP基本语法--Page指令 &lt&semi;&percnt;&commat;page 属性&equals;”内容&OpenCurlyDoubleQuote;&percnt;&gt&semi;

    page指令语法:<%@page 属性=”内容“%> 常用:contentType,import,pageEncoding 例子,设置MIME属性,如果使用一些高版本的tomcat,可能自 ...

  8. JavaWeb(三)JSP之3个指令、6个动作、9个内置对象和4大作用域

    前言 前面大概介绍了什么是JSP,今天我给大家介绍一下JSP的三个指令.6个动作以及它的9大内置对象.接下来我们就直接进入正题 一.JSP的3个指令 JSP指令(directive)是为JSP引擎而设 ...

  9. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

随机推荐

  1. linux kernel elv&lowbar;queue&lowbar;empty野指针访问内核故障定位与解决

    1. 故障描述 故障操作步骤: 单板上插了一个U盘,出问题前正在通过FTP往单板上拷贝文件,拷贝的过程中单板自动重启. 故障现象: Entering kdb (current=0xc000000594 ...

  2. Session原理浅析

    什么是Sesson? 简单说就是一个会话级的cookie,外加服务器端内存中一组散列表. 当你关闭浏览器的时候,这个cookie将消失. 这个cookie不写在磁盘上,而是存在于浏览器缓存. 关于Se ...

  3. 得到设备是何种iPhone设备 &plus; 怎么获得启动页面图片

    一.前言 今天做一个功能,需要动态的获得启动页,然后根据不同设备去使用不用的启动页图片. 二.正文 常规来说,我们直接判断是何种设备,然后通过name去获得图片选择性加载即可.但是实际上遇到的两个问题 ...

  4. Azure支持docker简介以及使用指南

    Docker 是一个开源的项目,主要的特点是能将应用程序包装在一个 LXC (Linux Container) 容器中,当这些应用被包装进容器后,部署.迁移都变得更为简单.与传统的虚拟化技术相比,虚拟 ...

  5. linux下修改环境变量

    把/etc/apache/bin目录添加到PATH中,方法有三: 1.#PATH=$PATH:/etc/apache/bin 使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH ...

  6. C&num; 利用键值对取代Switch&period;&period;&period;Case语句

    swich....case 条件分支多了之后,会严重的破坏程序的美观性. 比如这个 上述代码是用于两个进程之间通信的代码,由于通信的枚举特别的多,所以case的分支特别的多.导致了代码的可读性,可维护 ...

  7. OSGi类加载流程

    思路 OSGi每个模块都有自己独立的classpath.如何实现这一点呢?是因为OSGi采取了不同的类加载机制: OSGi为每个bundle提供一个类加载器,该加载器能够看到bundle Jar文件内 ...

  8. 洛谷 4115 Qtree4——链分治

    题目:https://www.luogu.org/problemnew/show/P4115 论文:https://wenku.baidu.com/view/1bc2e4ea172ded630b1cb ...

  9. BaseDao&period;util&lpar;虎大将军&rpar;

    package logistics.util; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  10. 设置防火强开机自启,以及没有成功的tomcat开机自启

    防火墙 如果你的系统上没有安装使用命令安装 #yum install firewalld //安装firewalld 防火墙 开启服务 # systemctl start firewalld.serv ...