初识JSP之JSP内置对象,JSP三大指令,EL内置对象
2017-03-09 14:31
573 查看
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表达式:
基本语法:
JSP脚本:把我们的java代码原封不动的拷贝到jspService中执行
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个域对象
2.可以存储数据(了解即可)
注:如果存储数据的时候没有指定所要存储的域的信息,则默认保存到page域
4、JSP的三大指令
include指令
page指令
taglib指令
1、include指令
内部做了什么?
其实,include指令会将被包含的页面内容放到当期按的页面中,然后一起合并并翻译成一个.java文件
注:在被包含的页面中不建议有等标签,直接写内容就可以
2.Page指令
5、EL表达式(重点)
EL的作用:主要是为了替换jsp表达式,向浏览器输出域对象中的值或者表达式计算结果
EL的语法:${变量或者表达式}
EL的作用:可以获取域对象中的值
EL的内置对象:
pageContext:域对象
param:请求参数
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 }
相关文章推荐
- jsp三大编译指令、七大处理指令、九大内置对象简单笔记
- jsp九大内置对象_七个动作_三大指令
- 重温JSP学习笔记--三大指令九大内置对象
- web day12 JSP三大指令,九个内置对象,动作标签,JavaBean(包含内省),EL表达式,函数库
- JSP三大指令 /9大内置对象 /Javabean / EL
- JSP九大内置对象,七大动作,三大指令
- JSP三大指令 九大内置对象 动作标签
- JSP 之 三大指令、四大基本语法、七大动作、九大内置对象
- javaWeb--JSP三大指令和九大内置对象
- jsp的三大指令、动作标签和九大内置对象
- JSP三大指令,九大内置对象,JSP动作标签,EL表达式与函数库
- jsp常用指令、基本动作和9种内置对象
- 学习笔记-轻量级Java EE:jsp的指令、动作、内置对象
- JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- JavaWeb笔记——Jsp的指令、内置对象和动作标签
- JSP的3个编译指令,7个动作指令,9个内置对象
- JSP学习笔记(JSP的三个编译指令,七个动作指令和常用的内置对象)
- JSP的三大指令 七大动作 九大对象
- JSP&EL 内置对象
- JavaWeb学习之什么JSP、JSP是如何工作的、JSP语言(各种指令和九大内置对象)、EL表达式简单使用(5)