初识JSP之JSP内置对象,JSP三大指令,EL内置对象

    xiaoxiao2021-03-25  117

    1、JSP基本介绍

    JSP:是开发动态资源的一种技术 Servlet:也是开发动态资源的一种技术

    JSP:不光可以写HTML代码,还可以写Java代码

    JSP执行:

    1.当我们通过浏览器来访问指定的JSP页面的时候,请求会发送到tomcat服务器,tomcat服务器会将JSP文件翻译成.java文件放到tomcat服务器的work目录下面

    2.tomcat服务器会将上面翻译成功的 .java源文件编译成.class结尾的字节码文件

    3.tomcat服务器会创建该字节码文件对应的对象

    4.tomcat服务器调用对象中的方法 JSP就是Servlet

    Servlet可以做的事情,JSP都可以做,但是JSP能做的事情,Servlet不一定能做 JSP的声明周期: 1.把jsp翻译成.java 2.把.java编译成.class 3.构造方法 4.init 5.Service 6.destory 关于上面的若干步骤:

    第一次访问JSP的时候会走1,2,3,4,5,6 第二次访问JSP文件的时候,如果JSP文件没有修改,直接走5 第二次访问JSP文件的时候,如果JSP文件修改了,走1,2,3,4,5

    2、JSP语法: JSP表达式: 基本语法:<%=变量%> 这个代码会翻译成out.print("变量");会向浏览器输出内容 JSP脚本:把我们的java代码原封不动的拷贝到jspService中执行

    <% java代码 %>

    JSP声明:JSP声明变量会变成类的属性,方法会变成类的方法

    <%! 变量 方法 %>

    脚本和声明的区别:

    1.脚本中的代码会原封不动的拷贝到JspService中执行,声明中代码会变成对应类的属性和方法 2.脚本中不可以写方法,JSP声明中才可以写方法

    HTML注释: 会翻译成对应的java代码 JSP注释:<%–JSP注释–%>不会翻译成对应的java代码

    3、JSP内置对象 JSP一共有九大内置对象:

    request:

    response:

    exception:

    session:

    config:就是ServletConfig

    application:就是ServletContext

    page:当前JSP对象

    out:

    pageContext

    Out内置对象:(掌握) response的getWriter方法得到的对象是printWriter对象 response.getWriter().write(“xxxx”); JSP中内置的out是JspWriter对象 JSPWriter其实内部任然使用printWriter来向客户端写数据 JSPWriter内部维护了一个缓冲区,缓冲区的默认大小是8kb,当缓冲区满了\手动巧用flush方法刷新缓冲区\关闭流等等情况出现的时候,才会调用printWriter的write来想客户端写数据

    pageContext:(掌握)

    PagesContext的作用:(掌握) 1.可以直接获取其他8个域对象

    pageContext.getOut(); pageContext.getSession(); pageContext.getRequest(); pageContext.getResponse(); pageContext.getServletContext(); pageContext.getServletConfig(); pageContext.getException(); pageContext.getPage();

    2.可以存储数据(了解即可)

    /* 存到request域对象中 */ key value 保存的域的信息 pageContext.setAttribute("age", "18",PageContext.REQUEST_SCOPE); /* 存到session域对象中 */ pageContext.setAttribute("aa", "aa1",PageContext.SESSION_SCOPE); /* 存到Application域对象中 */ pageContext.setAttribute("bb", "bb1",PageContext.APPLICATION_SCOPE); /* 存到page域对象中 */ pageContext.setAttribute("cc", "cc1",PageContext.PAGE_SCOPE);

    注:如果存储数据的时候没有指定所要存储的域的信息,则默认保存到page域

    4、JSP的三大指令 include指令 page指令 taglib指令

    1、include指令

    <%@ include file="/head.jsp" %>

    内部做了什么? 其实,include指令会将被包含的页面内容放到当期按的页面中,然后一起合并并翻译成一个.java文件 注:在被包含的页面中不建议有等标签,直接写内容就可以 2.Page指令

    <%@ page language="java" 含义是用什么语言来翻译当前jsp代码 import="java.util.*"导入当前的jsp文件需要的jar包,过个包用","隔开 contentType="text/html; charset=UTF-8" 服务器发送给浏览器的内容格式以及内容编码 pageEncoding="UTF-8" 告诉浏览器使用什么编码来翻译该jsp文件 errorPage="error2.jsp" 指定错误处理的页面 isErrorPage="true" 当前页面是否可以进行错误处理 %>

    5、EL表达式(重点) EL的作用:主要是为了替换jsp表达式,向浏览器输出域对象中的值或者表达式计算结果 EL的语法:${变量或者表达式}

    EL的作用:可以获取域对象中的值

    ${pageScope.name} 获取page域中的name值 ${sessionScope.name} 获取session域中的name值 ${requestScope.name} 获取Request域中的name值 ${applicationScope.name}获取application域中的name值 ${name}代表的含义:首先会从page域中查找是否有name,没有继续从request中查找,接着从session中查找

    EL的内置对象: pageContext:域对象 param:请求参数

    pageContext:可以在el表达式中通过pageContext来获取其他jsp的内置对象 ${pageContext.request.contextPath } ${pageContext.session.id } ${pageContext.servletContext }
    转载请注明原文地址: https://ju.6miu.com/read-11688.html

    最新回复(0)