JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)

JSP的基本构成:HTML文件+Java片断+JSP标签

三大指令:page指令、include指令、taglib指令。

page指令:

1.language属性:设置当前页面中编写JSP脚本使用的语言,默认值为java。

                                        <%@page language="java"%>

2.contentType属性:设置页面响应的MIME类型,通常被设置为text/html。

                                        <%@page contentType="text/html"%>

                                   还可以设置JSP字符的编码:

                                       <%@page contentType="text/html;charset=gb2312"%>

3.import属性:类似于Java中的import语句,用来向JSP文件中导入需要用到的包。

                          在page指令中可多次使用该属性来导入多个包。例如:

                          <%@page import="java.util.*" %>

                          <%@page import="java.text.*"%>

                         或者通过逗号间隔,来导入多个包。

                         <%@page import="java.util.*,java.text.*"%>

在JSP中已经默认导入了以下的包。

  • java.lang.*
  • java.servlet.*
  • java.servlet.jsp.*
  • java.servlet.http.*

4.extends属性:

5.session属性:该属性默认为ture,表示当前页面支持session。

6.buffer属性:(缓冲)

7.autoFlush属性:

8.isThreadSafe属性:

9.info属性:该属性可设置为任意字符串,如当前页面的作者或其他有关的页面信息。可通过Servlet.getServletInfo()方法来设置的字符串。例如:

<%@page info="This is index.jsp!"%>

<%=this.getServletInfo()%>

访问页面后,显示如下结果:      This is index.jsp!

10.errorPage属性和isErrorPage属性:

例如:若当前应用下包含index.jsp和error.jsp文件。

在index.jsp页面中进行数据类型的转换操作,其代码如下。

<%@page contentType="text/html;charset=utf-8" errorPage="error.jsp"%>
<%
String name="YXQ";
Integer.parseInt(name); //将字符串转化为int型
%>

上述代码将一个非数字格式的字符串转化为int型,因此将发生异常,最终进入errorPage属性指定的error.jsp页面显示错误信息。

在error.jsp页面中需要将isErrorPage属性设为true,然后才能调用exception对象输出错误信息。

error.jsp页面的代码如下。

<%page contentType="text/html;charset=gb2312" isErrorPage="true"%>
出现错误!错误如下:<br>
<%=exception.getMessage()%>

include指令:

<%@include file="文件的绝对路径或相对路径"%>

使用include指令引用外部文件,可以减少代码的冗余。(如:页面公用)

<%@page contentType="text/html;charset=utf-8"%>
<table>
<tr><td colspan="2"><%include file="top.jsp"%></td></tr>
<tr>
<td><%@include file="side.jsp"%></td>
<td>内容显示</td>
</tr>
<tr><td colspan="2"><%@include file="top.jsp"%></tr>
</table>

taglib指令:

六大标签:伪指令标签:<%@      %>

                    注释标签:<%--    --%>

                    声明标签:<%!       %>

                   动作标签:<jsp:action  Name/>

                    脚本标签:<%      %>

                   表达式标签:<%=      %>

九大内置对象: request、response、session、applicatin   config 、exception     out、page、pageContext、

四大作用域:

JSP作用域

JSP页面中的对象,包括用户创建的和JSP内置对象都有一个范围属性。

Application——具有应用程序作用域的对象,在应用程序存活期间均可用。

Session——具有会话作用域的对象,在会话的存活期间可用。

Request——具有请求作用域的对象,在所有处理同一个请求的页面内部内都可以访问。

Page——具有页面作用域的对象,在当前页内可用

方法:setAttribute(String name,Object  attribute)

           getAttribute(String  name)

作用域范围从大到小:

Allication作用域:范围最大

                               可以被不同页面、不同用户共享

                                可以通过Allication内置对象或ServletContext

                              访问Allication作用域对象

Session作用域:范围仅次于Allication作用域

                             可以被同一客户端的请求访问

                             可以通过Session内置对象访问Session作用域对象

Request作用域:范围小于Session作用域

                            可以被forward()方法转向页面或者include()包含页面访问

                           可以通过request内置对象访问request作用域对象

page作用域:范围最小

                      只能被创建对象的页面访问

                       只能通过pageContext内置对象访问page作用域对象

JSP的七个动作指令:

jsp:forward:页面跳转,其实就是request.getRequestDispatcher("index.jsp").forward(request, response)演化而来。

jsp:param:用于传递参数,前提是必须与其他支持它的标签一起使用

jsp:include:用于动态在当前的JSP中嵌入另一个JSP页面(被包含的JSP页面是通过方法来实现动态包含的,并且被包含的内容只有<body>,相对静态包含不会出现重复的声明)

jsp:plugin:用于下载JavaBean或Applet到客户端执行

jsp:userBean:创建一个JavaBean实例,其实就是类似<% %>的java代码块中创建一个对象实例

jsp:setProperty:设置JavaBean实例的属性值

jsp:getProperty:获取JavaBean实例的属性值

猜你喜欢

转载自blog.csdn.net/sinolover/article/details/95178176