JSP技术(三)
JSP指令
指令是JSP语法元素的第一种类型。它们指示JSP转换器如何翻译JSP页面为Servlet。JSP定义了多个指令,但只有page和include最重要。而taglib、tag、attribute以及variable暂时不讨论。
一.page指令
可以使用Page指令来控制JSP转换器转换当前JSP页面的某些方面。例如,可以告诉JSP用于转换隐式对象out的缓冲器的大小、内容类型,以及需要导入的Java类型,等。
page指令的语法如下:
<%@ page attribute1="value1" attribute2="value2" ...%>
attribute1、attribute2等是page指令的属性。如下是page指令属性的列表:
1.import:定义一个或多个本页面中将被导入和使用的Java类型。例如:import="java.util.List"将导入List接口。可以使用通配符“*”来引入整个包,类似import=“java.util.*”。可以通过在两个类型间加入“,”分隔符来导入多个类型。如:import=“java.util.ArrayList、java.io.PrintWriter”。此外,JSP默认导入如下包:java.lang、javax.servlet、javax.servlet.http、javax.servlet.jsp。
2.session:值为True,本页面加入会话管理;值为false则相反。默认值为True,访问该页面时,若当前不存在javax.servlet.http.HttpSession实例,则会创建一个。
3.buffer:以KB为单位,定义隐式对象out的缓冲大小。必须以KB后缀结尾。默认大小为8KB或更大(取决于JSP容器)。该值可以为none,这意味着没有缓冲,所有的、数据将直接写入PrintWriter。
4.autoFlush:默认为True。若值为True,则当输出缓冲满时会自动写入输出流。而值为False,则仅当调用隐式对象flush方法时,才会写入输出流。因此,若缓冲区溢出,则会抛出异常。
5.isThreadSafe:定义该页面的线程安全级别。不推荐使用JSP参数,因为使用该参数后,会生成一些Servlet容器已经过期的代码。
6.info:返回调用容器生成的Servlet类的getServletInfo方法的结果。
7.errorPage:定义出错时用来处理错误的页面。
8.isErrorPage:标识本页是一个错误处理页面。
9.contentType:定义本页面隐式对象response的内容类型,默认是text/html。
10.pageEncoding:定义本页面的字符编码,默认为ISO-8859-1。(需要改为UTF-8)
11.isELIgnored:配置知否忽略EL表达式。
12.language:定义本页面的脚本类型,默认为JAVA。
13.extends:定义JSP实现类要继承的父类。这个属性的使用场景罕见。
14.deferredSyntaxAllowedAsLiteral:定义是否解析字符串中出现的“#{”符号,默认为false。
15.trimDirectiveWhitespaces:定义是否不输出多余的空格/空行,默认为False。
例:
<%@page import="java.util.Date,java,util.ArrayList" %>
<%@page import="java.text.DateFormat" pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>
二.include指令
可以使用include指令将其他文件中的内容包含到当前JSP页面中。一个jsp页面可以有多个include指令。若存在一个内容会在多个不同的页面中使用或一个页面不同位置使用的场景,则该内容模块化到一个include文件非常有用。
include指令的语法如下:
<%@ include file="url"%>
url为包含文件的相对路径,若URL以一个斜杠(/)开始,则该URL为文件在服务器上的绝对路径,否则为当前JSP页面的相对路径。
例:
a.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'include1.jsp' starting page</title>
</head> <body>
aaaaaaa
<%--静态包含 --%>
<%-- @ include file="/b.jsp" --%>
<%--动态包含 --%>
<jsp:include page="/b.jsp"></jsp:include>
</body>
</html>
b.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'b.jsp' starting page</title>
</head> <body>
bbbbbbbbbbb
</body>
</html>
注意:a.jsp和b.jsp必须位于相同的目录下。
JSP技术(三)的更多相关文章
- java的JSP技术
java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...
- Servlet,jsp,JSP技术 ,JSP编程
一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...
- Java Web之JSP技术
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...
- Jsp技术总结
这节我们总结一下Jsp的相关技术. 1. 什么是JSP JSP即Java Server Pages,它和servlet技术一样,都是sun公司定义的一种用于开发动态web资源的技术.该技术的最大特点在 ...
- JavaWeb之JSP技术总结
刚接触JSP技术的时候让我想起了在大学学的Asp+VBScript,记得当时我还用aspstudy做了一个小的新闻发布系统作为期末作品,也正是在那时候在卢哥卢老师的指导下走向编程的道路,对编程越来越感 ...
- JSP第三篇【JavaBean的介绍、JSP的行为--JavaBean】
什么是javaBean JavaBean就是一个普通的java类,也称之为简单java对象–POJO(Plain Ordinary Java Object),是Java程序设计中一种设计模式,是一种基 ...
- Servlet组件之 jsp 技术
JSP 简称java服务器页面(java server page),jsp和servlet实现了我们的开发需求.对于jsp技术我们首先需要知道他的组成 HTML+java+jsp内置对象=jsp ...
- JavaWeb:JSP技术基础
JavaWeb:JSP技术 快速开始 介绍 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%> ...
- (八)JSP 技术知识点总结(来自那些年的笔记)
目录 什么是 jsp Jsp 调用和运行原理(简略版) Jsp语法 Jsp指令简介 Page指令 Include指令 taglib指令 Jsp乱码问题 jsp运行原理(详细版) JSP中的九大隐式对象 ...
随机推荐
- IDEA的Debug模式灰色无法运行
1. 检查本地环境是否配置得当,进入项目右键看项目是否可以正常debug运行 2. 如果不可运行,那么选择File--Project Structrue 3. 修改Src文件,如图然后就可以正常使用 ...
- 温故知新的错题训练:Coin game
传送门:http://192.168.173.163/JudgeOnline/problem.php?cid=1244&pid=1 输赢规则:无法再放下硬币的人就输. 博弈论的基本假定:他俩都 ...
- python3练习100题——034
题目:练习函数调用. 这个很容易了. def hello_world(): return "hello, world!" def fun(): print(hello_world( ...
- CTF——代码审计之变量覆盖漏洞writeup【2】
题目: 基础: 所需基础知识见变量覆盖漏洞[1] 分析: 现在的$a=’hi’,而下面的函数需满足$a=’jaivy’才可以输出flag,那么需要做的事就是想办法覆盖掉$a原来的值. 那么出现的提示 ...
- python vs java Threadpool
python 实现threadpool线程池管理: from concurrent.futures import ThreadPoolExecutor as te from concurrent.fu ...
- 使用ScrollRect制作翻页
1.标准的层级结构 ScrollRect->ViewPort->Content,Viewport负责显示区域的大小一般和Mask一起配合使用,Content使用Layout来布局,如果想使 ...
- QQ第三方登录(二)
首先我们先来看一下我的目录 Connect2.1 是我们从下载的SDK,内容包含 其他文件在配置之后全部删除了! index.html 是我们点击登陆的页面(以下为html中的代码) <cen ...
- Pytest学习6-跳过或xfail失败的用例
Skip跳过用例 跳过(Skip)指,你希望如果某些条件得到满足你的测试用例才执行,否则Pytest应该完全跳过运行该用例 1. 跳过测试用例的最简单方法是使用skip装饰器标记它,可以传递一个可选的 ...
- 第一篇 网站基础知识 第5章 自己动手实现HTTP协议
第5章 自己动手实现HTTP协议 我们知道HTTP协议是在应用层解析内容的,只需要按照它的报文的格式封装和解析数据就可以了,具体的传输还是使用的Socket,在第4章NioServer的基础上自己做一 ...
- C++——简单程序设计
1.一个简单的程序 #include <iostream> //iostream是头文件,用来说明要使用的对象的相关信息. using namespace std; //使用命名空间,解决 ...