您的位置:首页 > Web前端 > JavaScript

JSP三大指令 九大内置对象

2016-01-03 15:04 633 查看

一、三大指令:
page 页面中的一些信息(最复杂)
language: 描述当前页面使用的语言. 目前取值只有java.
buffer="8kb" (不常用) : 决定缓存的大小.
autoFlush="true"(不常用) : 如果缓存写满了.如果该属性为true,会将缓存中的自动输出到浏览器. 设置为false,将会报错.
**import="java.io.FileOutputStream" 该属性用来导包. 唯一一个可以出现多次的.
extends=""(不用) 绝对 jsp生成的java文件 继承哪个类.默认继承:org.apache.jasper.runtime.HttpJspBase.通过该属性可以改变.也必须是HTTPServlet的子类.
**pageEncoding="UTF-8"  决定服务器读取jsp时 采用什么编码读
**contentType="text/html; charset=UTF-8" 响应浏览器时 告诉浏览器用什么码表解码. 
以上两个属性,只需要指定一个,另外一个会自动指定.
errorPage=""(不常用)  当前jsp中出现了异常. 那么跳转到哪个页面.
isErrorPage="false"(不常用) 标识当前页面是否是处理错误的页面.
拓展: 错误页面可以使用如下统一配置
<error-page>
<error-code>500</error-code>
<location>/zhiling/Demo2.jsp</location>
</error-page>
session="true"(不要修改) 页面中是否 需要使用session对象.如果为false,那么session内置对象会消失. 默认为true.

include 页面包含指令(静态包含)

taglib 引入标签指令

二、九大内置对象.
public void _jspService(HttpServletRequest 1>request, HttpServletResponse 2>response)
        throws java.io.IOException, ServletException {


PageContext 3>pageContext = null;
HttpSession 4>session = null;
Throwable 5>exception = org.apache.jasper.runtime.JspRuntimeLibrary.getThrowable(request);
if (exception != null) {
 response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
}
ServletContext 6>application = null;
ServletConfig 7>config = null;
JspWriter 8>out = null;
Object 9>page = this;
类型 变量名称
-----------------------------------------
HttpServletRequest  request 
HttpServletResponse response
HttpSession session
Throwable exception
ServletContext  application
ServletConfig config
没学过
Object page
JspWriter out
PageContext         pageContext


1>page对象指向了当前servlet的实例.(一般没用)


2>JspWriter jsp中都是使用JspWriter再向外输出内容.
response.getWriter 和 JspWriter 有什么区别?
response.getWriter的输出会出现在JspWriter输出的前面.
JspWriter缓存会附加到response.getWriter缓存后.最终输出response.getWriter缓存.
注意:JSP中不要直接使用response.getWriter.
3>PageContext 对象
1.page域. 范围只在当前页面当中.(4个域中最小一个域).
//存值
    pageContext.setAttribute("", "");
    //取值
    pageContext.getAttribute("");
    //删除一个值
    pageContext.removeAttribute("");
2.还可以操作其他3个域.
如何获得其他3个域代表的int值.PageContext中的常量.
    //存值
    pageContext.setAttribute("name", "tom",PageContext.REQUEST_SCOPE );
    //取值
    pageContext.getAttribute("name", PageContext.REQUEST_SCOPE);
    //删除一个值
    pageContext.removeAttribute("name", PageContext.REQUEST_SCOPE);
    //遍历所有键
    pageContext.getAttributeNamesInScope(PageContext.REQUEST_SCOPE);
3.还能获得其他8个内置对象. 
pageContext.getRequest();
   
    pageContext.getResponse();
   
    pageContext.getSession();
   
    pageContext.getServletContext();
   
    pageContext.getServletConfig();
   
    pageContext.getOut();
   
    pageContext.getException();
   
    pageContext.getPage(); 阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: