WEB开发——JSP(九大内置对象、四大作用域、JSP指令、JSP标签)
2018-04-05 21:26
741 查看
JSP:(注释:<%-- 注释信息 --%>)
● 页面由HTML语句和嵌套在其中的Java代码组成的普通文本文件,文件扩展名必须为.jsp
● Java代码嵌套在<%和%>中,称之为JSP脚本片段,没有在之间的内容称之为JSP的模版元素
● out.println语句将Java代码产生的结果输出给客户端,System.out.println语句将它们打印到命令行窗口
● 将要输出的变量或表达式直接封装在<%= 和 %>之中,就可以向客户端输出这个变量或表达式的运算结果
● 声明方法需要封装在<%!和%>之中
注意:在一个JSP页面中可以有多个脚本片段(每个脚本片段代码嵌套在各自的<% 和 %>之间),脚本片段之间可以相互访问、可以嵌入模板元素。单个脚本片断中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句(例如,循环取值时,从取值部分分隔成两个脚本片段,把值用表达式取出,嵌套在模板元素中)。 在JSP表达式中嵌套的变量或表达式后面不能有分号
------------------------------------------------------------------------------------------------------------------
JSP的运行原理:(JSP本质就是一个Servlet)
首次访问jsp页面时,WEB容器把当前的jsp页面转换成一个Servlet。然后把Servlet编译成class文件。页面访问的是class文件
------------------------------------------------------------------------------------------------------------------
JSP九大内置对象:(隐藏对象)
● request:HttpServletRequest的一个对象,和Servelt中的request对象相同(常用)
● response:HttpServletResponse的一个对象(在jsp页面中基本不使用)
● pageContext:PageContext的一个对象,当前页面的上下文,可获得和当前页面相关的所以信息,并且可以获取其他8个对象(常用)
● session:HttpSession的一个对象,表示的是浏览器和服务器的一次会话(常用)
● application:ServletContext的一个对象,表示的是当前web应用(常用)
● config:ServletConfig的一个对象,获得当前页面的配置信息(与Servlet配置相同,类路径变换<jsp-file>路径</jsp-file>)(基本不使用)
● out:是jspWriter的一个对象,可以用于在页面输出内容(基本不使用)
● page:表示当前页面对应的Servlet的对象,但是只能访问Object类中的方法(基本不使用)
● exception:表示异常对象(注意:只能在声明了isErrorPage="true"的页面中使用)
------------------------------------------------------------------------------------------------------------------
JSP四大作用域和属性相关的方法:
四大作用域:
● pageContext:设置的属性只作用于当前页面
● request:设置的属性作用在同一次请求中
● session:设置的属性作用在一次会话中(会话:表是从浏览器打开到关闭)
● application:设置的属性在整个web工程下都可以访问到
方法:
● setAttribute(String name, Object o) :把一个值使用属性的方式存储起来
● getAttribute(String name) :获得指定属性名的值(属性名在作用范围内不存在则返回null值。而不是空指针异常)
● getAttributeNames( ):获得所有的属性名
● removeAttribute(String name):移除指定的属性
------------------------------------------------------------------------------------------------------------------
JSP指令:(为JSP引擎而设计的,它们不直接产生任何可见输出,只是告诉引擎如何处理)
● 语法:<%@ 指令 属性名="值" %>(注意:属性名严格区分大小写)
● 例子:<%@ page contentType="text/html;charset=gb2312"%>
指令设置方式:(可以设置在一条上,也可以每个指令单独设置)
第一种方式:
● <%@ page contentType="text/html;charset=gb2312"%>
● <%@ page import="java.util.Date"%>
第二种方式:
● <%@ page contentType="text/html;charset=gb2312" import="java.util.Date"%>
在目前的JSP2.0中,定义了page、include和taglib三种指令,每种指令都有一些各自的属性
------------------------------------------------------------------------------------------------------------------
JSP指令之Page指令:(用于定义JSP页面的各种属性)
import属性:导入其他类到当前文件
● 例子:<%@page import="java.util.Date" %>
session属性:表示当前页面是否允许使用session对象。为false表示当前页面不可使用session对象
● 例子:<%@page session="false" %>
errorPage属性:表示当前页面如果发生错误时,转发到哪一个页面显示(相对路径)
● 例子:<%@page errorPage="转发页面路径" %>
isErrorPage属性:表示当前页面是否是一个显示错误消息的页面,为true时表示是(可以在页面打印错误消息)
● 例子:<%@page isErrorPage="true" %>
注意:在web.xml文件中配置异常信息,表示作用在整个web工程,如果设置了某个页面的errorPage属性,那么在web.xml文件中设置的错误处理将不对该页面起作用
isELIgnored属性:表示当前页面是否允许使用EL表达式
● 例子:<%@page isELIgnored="true" %>
------------------------------------------------------------------------------------------------------------------
JSP指令之include指令 :(引入一个页面到当前页面中)
● 例子:<%@include file="/include.jsp" %>(相对路径)
注意:两个页面合成一个页面,被引入的页面不会生成java源文件
------------------------------------------------------------------------------------------------------------------
JSP标签:
<jsp:include> :引入一个页面的输出内容到当前页面中,和include指令差不多
● 例子:<jsp:include page="/include.jsp" flush="true"></jsp:include>(相对路径)
● flush:在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端
<jsp:forward>:用于把请求转发给另外一个资源
<jsp:param>:用于传递参数
------------------------------------------------------------------------------------------------------------------
转发有:
● include指令:<%@include file="/include.jsp" %>
● include标签:<jsp:include page="include.jsp"></jsp:include>
● 错误跳转:<%@page errorPage="转发页面路径" %>
● forward标签:<jsp:forward page="hello.jsp"></jsp:forward>
● pageContext.forward("/hello.jsp")
● request.getRequestDispatcher(“转发地址”).forward(req,resp)
注意:在WEB-INF在的资源可以通过请求的转发方式访问到
------------------------------------------------------------------------------------------------------------------
自己整理,有些地方是扒拉的,如有侵犯,还望告知
● 页面由HTML语句和嵌套在其中的Java代码组成的普通文本文件,文件扩展名必须为.jsp
● Java代码嵌套在<%和%>中,称之为JSP脚本片段,没有在之间的内容称之为JSP的模版元素
● out.println语句将Java代码产生的结果输出给客户端,System.out.println语句将它们打印到命令行窗口
● 将要输出的变量或表达式直接封装在<%= 和 %>之中,就可以向客户端输出这个变量或表达式的运算结果
● 声明方法需要封装在<%!和%>之中
注意:在一个JSP页面中可以有多个脚本片段(每个脚本片段代码嵌套在各自的<% 和 %>之间),脚本片段之间可以相互访问、可以嵌入模板元素。单个脚本片断中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句(例如,循环取值时,从取值部分分隔成两个脚本片段,把值用表达式取出,嵌套在模板元素中)。 在JSP表达式中嵌套的变量或表达式后面不能有分号
------------------------------------------------------------------------------------------------------------------
JSP的运行原理:(JSP本质就是一个Servlet)
首次访问jsp页面时,WEB容器把当前的jsp页面转换成一个Servlet。然后把Servlet编译成class文件。页面访问的是class文件
------------------------------------------------------------------------------------------------------------------
JSP九大内置对象:(隐藏对象)
● request:HttpServletRequest的一个对象,和Servelt中的request对象相同(常用)
● response:HttpServletResponse的一个对象(在jsp页面中基本不使用)
● pageContext:PageContext的一个对象,当前页面的上下文,可获得和当前页面相关的所以信息,并且可以获取其他8个对象(常用)
● session:HttpSession的一个对象,表示的是浏览器和服务器的一次会话(常用)
● application:ServletContext的一个对象,表示的是当前web应用(常用)
● config:ServletConfig的一个对象,获得当前页面的配置信息(与Servlet配置相同,类路径变换<jsp-file>路径</jsp-file>)(基本不使用)
● out:是jspWriter的一个对象,可以用于在页面输出内容(基本不使用)
● page:表示当前页面对应的Servlet的对象,但是只能访问Object类中的方法(基本不使用)
● exception:表示异常对象(注意:只能在声明了isErrorPage="true"的页面中使用)
------------------------------------------------------------------------------------------------------------------
JSP四大作用域和属性相关的方法:
四大作用域:
● pageContext:设置的属性只作用于当前页面
● request:设置的属性作用在同一次请求中
● session:设置的属性作用在一次会话中(会话:表是从浏览器打开到关闭)
● application:设置的属性在整个web工程下都可以访问到
方法:
● setAttribute(String name, Object o) :把一个值使用属性的方式存储起来
● getAttribute(String name) :获得指定属性名的值(属性名在作用范围内不存在则返回null值。而不是空指针异常)
● getAttributeNames( ):获得所有的属性名
● removeAttribute(String name):移除指定的属性
------------------------------------------------------------------------------------------------------------------
JSP指令:(为JSP引擎而设计的,它们不直接产生任何可见输出,只是告诉引擎如何处理)
● 语法:<%@ 指令 属性名="值" %>(注意:属性名严格区分大小写)
● 例子:<%@ page contentType="text/html;charset=gb2312"%>
指令设置方式:(可以设置在一条上,也可以每个指令单独设置)
第一种方式:
● <%@ page contentType="text/html;charset=gb2312"%>
● <%@ page import="java.util.Date"%>
第二种方式:
● <%@ page contentType="text/html;charset=gb2312" import="java.util.Date"%>
在目前的JSP2.0中,定义了page、include和taglib三种指令,每种指令都有一些各自的属性
------------------------------------------------------------------------------------------------------------------
JSP指令之Page指令:(用于定义JSP页面的各种属性)
import属性:导入其他类到当前文件
● 例子:<%@page import="java.util.Date" %>
session属性:表示当前页面是否允许使用session对象。为false表示当前页面不可使用session对象
● 例子:<%@page session="false" %>
errorPage属性:表示当前页面如果发生错误时,转发到哪一个页面显示(相对路径)
● 例子:<%@page errorPage="转发页面路径" %>
isErrorPage属性:表示当前页面是否是一个显示错误消息的页面,为true时表示是(可以在页面打印错误消息)
● 例子:<%@page isErrorPage="true" %>
注意:在web.xml文件中配置异常信息,表示作用在整个web工程,如果设置了某个页面的errorPage属性,那么在web.xml文件中设置的错误处理将不对该页面起作用
isELIgnored属性:表示当前页面是否允许使用EL表达式
● 例子:<%@page isELIgnored="true" %>
------------------------------------------------------------------------------------------------------------------
JSP指令之include指令 :(引入一个页面到当前页面中)
● 例子:<%@include file="/include.jsp" %>(相对路径)
注意:两个页面合成一个页面,被引入的页面不会生成java源文件
------------------------------------------------------------------------------------------------------------------
JSP标签:
<jsp:include> :引入一个页面的输出内容到当前页面中,和include指令差不多
● 例子:<jsp:include page="/include.jsp" flush="true"></jsp:include>(相对路径)
● flush:在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端
<jsp:forward>:用于把请求转发给另外一个资源
<jsp:param>:用于传递参数
------------------------------------------------------------------------------------------------------------------
转发有:
● include指令:<%@include file="/include.jsp" %>
● include标签:<jsp:include page="include.jsp"></jsp:include>
● 错误跳转:<%@page errorPage="转发页面路径" %>
● forward标签:<jsp:forward page="hello.jsp"></jsp:forward>
● pageContext.forward("/hello.jsp")
● request.getRequestDispatcher(“转发地址”).forward(req,resp)
注意:在WEB-INF在的资源可以通过请求的转发方式访问到
------------------------------------------------------------------------------------------------------------------
自己整理,有些地方是扒拉的,如有侵犯,还望告知
相关文章推荐
- JSP--JSP语法--指令---九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- JSP--JSP语法--指令--include(动态包含/静态包含)--九大隐式对象--四大域对象--JSP内置标签--JavaBean的动作元素--MVC三层架构
- servlet的四大作用域对象和jsp的九大内置对象及其四大作用域对象
- JSP九大内置对象和四大作用域及其作用
- jsp九大内置对象和四大作用域
- JSP九大内置对象及四大作用域
- JSP、JSP四大作用域、JSP九大内置对象、作用及作用域
- jsp的九大内置对象和四大作用域
- JSP语法九大内置对象和四大作用域
- 【JSP】九大内置对象和四大作用域
- 面试专用:JSP的九大内置对象和四大作用域
- JSP的九大内置对象,七大动作指令,四个作用域,三个编译指令
- JSP四大作用域和九大内置对象
- jsp的三大指令、动作标签和九大内置对象
- jsp的九大内置对象和四大作用域以及request和session的区别
- JSP九大内置对象 四大作用域 自我总结
- jsp的九大内置对象和四大作用域<2>