JSP基础(二)

来源:互联网 发布:网络吞吐量是什么意思 编辑:程序博客网 时间:2024/06/05 18:02

JSP基础(二)

1、 jsp的内置对象
在jsp的java代码块、表达式块等中可以直接使用的引用,称为jsp的内置对象。常用的内置对象有9个:pageContext、request、session、application、response、config、out、page、exception。
这9个对象在jsp的代码块、表达式块中可以直接使用,之所以可以直接使用,是因为java代码块和表达式块被jsp引擎翻译后均出现在servlet的_jspService()方法中。而这9个对象,就是_jspService()方法中的局部变量。

11、pageContext    页面上下文,其具有一个只在当前页面范围的域属性空间,即其具有setAttribute()方法和getAttribute()方法。但,由于在当前页面范围,数据不存放到域属性空间也可以直接使用,将数据存放到域属性空间反而多此一举,所以这些方法并不常用。    不过,在同一页面中,为了使用EL表达式来访问某变量的值,此时一般使用pageContext    pageContext具有一些get方法,可以获取到requestresponse、session、servletContext、servletConfig、page(当前servlet)、exception、out等另外八个内容对象12、application13、out14、page15、exception16、其他对象    还有requestresponse、session及config

2、 jsp指令
根据功能的不同,jsp中包含三类指令:page指令,即页面指令;include指令,即包含指令;taglib指令,即标签库指令。
无论哪一种指令,其使用的语法格式均为如下:

<%@ 指令名称 属性名=属性值 属性名=属性值... %>

21、 page指令
该指令用于设置当前jsp页面的相关信息。一个jsp文件可以包含多个page指令。常用的属性意义及用法如下

pageEncoding属性: 
用于设置当前jsp页面所使用的字符编码格式。即,用户在浏览器中通过右击查看编码所在到的编码格式    <%@ page pageEncoding="utf-8"%>    其被jsp翻译引擎翻译到Servlet中的语句是:    response.setContentType("text/html;charset=UTF-8");
contentType属性:
<%@ page contentType="text/html;charset=UTF-8"%>    与pageEncoding区别:如果响应的内容是text/html,则一样,如果不是,则通过contentType设置 如 text/xml
import属性:
用于完成在jsp页面中导入指定的类,其被翻译引擎翻译为servlet中的import语句:    <%@ page import="java.util.*,java.net.*"%>
errorPage属性:
<%@ page errorPage="/404.jsp"%> // 发生错误时,跳转到错误页面
isErrorPage属性:
在错误处理页面配置,错误处理页面才会有exception内置对象(区别)    <%@ page isErrorPage="true"%>    <%=exception.getMessge() %> // 调用exception对象信息
session属性:
使用request的getSeesion()的原则:    若向Session域中存放数据,则使用getSession(true),即getSession()  // 有session,存数据,没有session,创建session    若向Session域中读取数据,则使用getSession(false) // 不会创建session    <%@ page session="false"%> // 默认是true

22、 include指令:
include指令会将include所包含的网页内容解析后,嵌入到第一个网页中,属于静态联编。可以共享相同变量,变量不能同名

    <%@ include file="/next.jsp"%>
原创粉丝点击