132-jsp三大指令

3 篇文章 0 订阅


jsp三大指令

1.page
2.include
3.taglib


先说一下jsp指令的格式
<%@指令名 attr1="" attr2="" %>
一般都会把jsp指令放在jsp文件的最上方
但是不是必须的

随便写一个
<%@abc name="Alice" age="10" %>



说一下page指令
page指令是最常用的指令
也是属性最多的指令
page指令中没有必须的属性,都是可选属性
如果没有任何属性,也是可以的
就像这样
<%@page %> 这样就是没有属性的page指令

还有就是
在jsp页面中,任何指令都可以重复出现
比如page指令就可以重复出现
比如这样
<%@page language="java" %>
<%@page pageEncoding="utf-8" %>


说一下page的重点属性
1.pageEncoding
	pageEncoding是指定当前jsp页面的编码
服务器需要知道当前jsp使用的编码,不然服务器无法正确
把jsp编译成java文件,所以这个编码只要和真实的页面编码
一致就可以了.

2.contentType
	contentType属性就和response.setContentType()
方法的作用是一样的,有2个作用,1个是设置响应字符流的
编码,1个是设置content-type响应头



JSP九个内置对象
1.out
	jsp输出流,向客户端响应
2.config
	jsp对象的ServletConfig对象
3.page
	当前jsp对象
4.pageContext
	提供对jsp页面命名空间的访问
5.exception
	Throwable
6.request
	HttpServletRequest
7.response
	HttpServletResponse
8.application
	ServletContext
9.session
	HttpSession

常用的有:
out,request,response,application,session



我们说的
servlet中有三大域
1.request
2.session
3.application-ServletContext

jsp中有四大域
除了上面三个
还有一个
pageContext


我们来说一下这4个域对象
1.ServletContext
	整个应用程序
2.session
	整个会话(一个会话只有一个用户)
3.request	
	一个请求链
4.pageContext
	一个jsp页面
	这个域是在当前jsp页面和当前jsp页面中使用
	的标签之间来共享数据

pageContext还可以代理其他的域



来看一下pageContext的设置属性方法

    public abstract void setAttribute(String var1, Object var2);

    public abstract void setAttribute(String var1, Object var2, int var3);

    public abstract Object getAttribute(String var1);

    public abstract Object getAttribute(String var1, int var2);

我们发现除了普通的set和get

还有指定int参数的get方法和set方法

这里的int参数其实指的就是域



我们看一下PageContext里面
是有常量代表其他三个域的,分别是
APPLICATION_SCOPE 
REQUEST_SCOPE
SESSION_SCOPE
所以pageContext.get("name",SESSION_SCOPE)
这样就可以代理session域
来操作session域中的属性


另外
pageContext还可以取得其他的
内置对象
1.pageContext.getException();
2.pageContext.getSession();
3.getOut();
4.getPage();
5.getServletConfig();
6.getResponse();
7.getRequest();
8.getServletContext();

所有的内置对象,都有相对应的方法可以获取




然后说一下include指令
include是指 静态包含
和requestDispatcher的include()方法的功能是相似的

区别在于静态包含和请求包含的时间点是不一样的
<%@include %>
这个include指令,
是在jsp编译成java文件的时候完成的


但是请求包含的include()是一个方法
包含和被包含是两个servlet
也就是两个.class文件
他们是在响应的内容
在运行的时候合并了





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值