web框架学习前复习——JSP

                            JSP

Java Server Pages简称JSP(实际上就是Servlet)

JSP可以理解为HTML+java
HTML:静态页面,不能包含java代码,只能有HTML有关的标记
Servlet:写java代码,做页面的输出,不是很方便(开发效率很低)

JSP脚本表达式(expression)

用于将程序数据输出到客户端
语法:<%= 变量或表达式 %>
举例:当前时间:<%= new java.util.Date() %> JSP引擎在翻译脚本表达式时,会将程序数据转成字符串,然后在相应位置用out.print(…) 将数据输给客户端。注意:JSP脚本表达式中的变量或表达式后面不能有分号(;)。
JSP脚本片断(scriptlet)用于在JSP页面中编写多行Java代码。语法:
    <% 
        多行java代码 
    %> 

JSP声明

语法:<%!
%>作用:定义JSP对应Serlvet的成员(变量和方法、静态方法

JSP注释

语法:<%--这是注释--%>作用:注释掉的代码,JSP引擎不会翻译到Servlet源码中。要注意和HTML注释的区别。

JSP指令

指令是为JSP引擎设计的。而只是告诉引擎如何处理JSP页面中的其余部分(非指令部分)。
基本语法格式:<%@指令 属性1=”值1” ....%>
    或<%@指令 属性1=”值1” 属性2=”值2”%>

page指令

属性:
language:告知引擎,脚本用的是java。默认java,支持java。不写也行。
extends:告知引擎,JSP对应的Servlet的父类是哪个。不需要写,也不要改。
import:告知引擎,导入哪些包。
    注意:引擎自动导入:java.lang.*;javax.servlet.*;javax.servlet.http.*;javax.servlet.jsp.*;
    导入的形式:
    <%@page import=”java.util.Date,java.util.UUID”%>
    或者:<%@page import=”java.util.Date”%>

session:告知引擎是否产生HttpSession对象,即是否在代码中调用request.getSession()。默认值true。
buffer:JspWriter用于输出JSP的内容到页面上。告知引擎,设定他的缓存大小。默认8Kb。
errorPage:告知引擎,当前页面出现了异常,应该转发到哪个页面上(路径写法:/代表着当前应用)
isErrorPage:告知引擎,是否抓住异常。如果该属性为true,页面中就可以使用exception隐含对象,打印异常的详细信息。
contentType:告知引擎,响应正文的MIME类型。
contentType=”text/html;charset=UTF-8” 
    相当于response.setContentType(“<%=exception.getMessage() %>”);
pageEncoding:告知引擎,翻译JSP时(要从磁盘上读JSP文件)所用的码表。
isELIgnored:告知引擎,是否忽略EL表达式。默认值是false,不忽略。

include指令

包含
属性:file,以”/”开头,就代表着当前应用。

taglib指令

引入外部的标签。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
uri:外部的标签的uri地址,好比名称空间
prefix:前缀。

JSP的九个隐含对象

request      ——>>javax.servlet.http.HttpServletRequest
response     ——>>javax.servlet.http.HttpServletResponse
session      ——>>javax.servlet.http.HttpSession
application  ——>>javax.servlet.ServletContext
config       ——>>javax.servlet.ServletConfig
page         ——>>javax.servlet.ServletConfig
exception    ——>>java.lang.Throwable
out          ——>>javax.servlet.jsp.JspWriter
pageContext  ——>>javax.servlet.jsp.PageContext

PageContext抽象类

本身是一个域(范围)对象,还能操作其他3个域对象中的属性
操作其他域对象中的属性:
    void setAttribute(String name,Object value,int scope);
    void removeAttribute(String name,int scope);
    Object getAttribute(String name,int scope);
    int scope:常量:PageContext   PAGE_SCOPE(页面) REQUEST_SCOPE(请求)
              SESSION_SCOPE(会话)APPLICATION_SCOPE(应用)
在四个范围中依次查找指定名称对象的方法(顺序)
    PAGE(页面) REQUEST(请求)SESSION(会话)APPLICATION(应用)
获取其他八个JSP隐含对象(自定义标签时用)
    PageContext.getRequest();
    getServletContext();
    getServletConfig();
    getException();
提供转发和包含的简易方法
    pageContext.forward(String url);
    pageContext.include(String url);

猜你喜欢

转载自blog.csdn.net/u011456867/article/details/52072459
今日推荐