JSP知识点

1. <%@includejsp:include的区别

JSP知识点_第1张图片

2. forwardsendredirect的区别

JSP知识点_第2张图片


一、JSP 的3个编译指令

1)page指令

<%@ page
language="java" ]
[ extends="package.class" ]
import="{package.class | package.*}, ..." ]
session="true | false" ]
[ buffer="none | 8kb | sizekb" ]
autoFlush="true | false" ]
isThreadSafe="true | false" ]
[ info="text" ]
errorPage="relativeURL" ]
contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
isErrorPage="true | false" ]
%>

language: 声明当前JSP 页面使用的脚本语言的种类,因为页面是JSP 页面,该属性的值通常都是java 
extends: 确定JSP 程序编译时所产生的Java 类,需要继承的父类,或者需要实现的接口的全限定类名。
import: 用来导入包,下面几个包是默认自动导入的,不需要显式导入。默认导入的包有: java .lang.*;javax.servlet.*;javax.servlet.jsp.*;javax.servlet. http.*
session: 设定这个JSP 页面是否需要HTIP session 
buffer: 指定输出缓冲区的大小。输出缓冲区的JSP 内部对象: out 用于缓存JSP页面对客户浏览器的输出,默认值为8kb,可以设置为none ,也可以设置为其他的值,单位kb
autoFlush: 当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true 时为正常输出:如果设置为false ,会在buffer 溢出时产生一个异常。
info: 设置该JSP 程序的信息,也可以看做其说明,可以通过Servlet. getServletInfo()方法获取该值。如果在JSP 页面中,可直接调用getServletInfo()方法获取该值,因为JSP 页面的实质就是Servlet 
errorPage: 指定错误处理页面。如果本程序产生了异常或者错误,而该JSP 页面没有对应的处理代码,则会自动调用该指令所指定的JSP 页面。使用JSP 页面时,可以不处理异常,即使是checked 异常。
isErroePage: 设置本JSP 页面是否为错误处理程序。如果该页面本身己是错误处理页面,则无须使用errorPage 属性。
contentType: 用于设定生成网页的文件格式和编码方式,即MIME 类型和页面宇符集类型,默认的MIME 类型是textlhtml; 默认的字符集为ISO-8859-1 

2)include指令

jsp页面里包含进来某个文件,可以是jsp,inc,txt等文件,但必须是具体的文件,能够找到,
       不可以给二次跳转才能找到的文件
     格式: <% include file="文件名"%> e.g: <%@ include file="head.jsp"%>

 

3)taglib指令

jsp页面里使用标签,除了jsp自带的标签不需要复杂配置,其他自定义标签都必须存在而且要
             配置。
     格式:<% taglib uri="标签路径" prefix="标签别名"%>
     e.g: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
          <c:out value="我是用标签输出来的"/>
       或者<c:out value="我是用标签输出来的">
            </c:out>

二、JSP 的7个动作指令

jsp:forward执行页面转向,将请求的处理转发到下一个页面。
jsp:param用于传递参数,必须与其他支持参数曲标签一起使用。
jsp:include用于动态引入一个 JSP 页面。
jsp:p1ugin用于下载 JavaBean 或 Applet 到客户端执行。
jsp:useBean使用 JavaBean
jsp:setProperty修改 JavaBean 实例的属性值。
jsp:getProperty获取 JavaBean 实例的属性值。

三、JSP 的9个内置对象

application: javax.servlet.ServletContext 的实例,该实例代表JSP 所属的Web 应用本身,可用于JSP 页面,或者Servlet 之间交换信息。常用的方法有
getAttribute(String attNarne) ,
setAttribute(String attNarne , String attValue)
getInitPararneter(String paramNarne)等。 

config: javax.servlet.ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有getInitPararneter(String paramNarne) getInitPararneternarnes() 等方法。
事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。

exception: java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page isErrorPage 属性为true 时,该对象才可以使用。常用的方法有getMessageOrintStackTraceO等。

out: javax.servlet.jsp.JspWriter 的实例,该实例代表JSP 页面的输出流,用于输出内容,形成HTML 页面。

page: 代表该页面本身,通常没有太大用处。也就是Servlet 中的this ,其类型就是生成的Servlet

pageContext: javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContextOgetServletConfigO等。

request: javax.servlet.http:HttpServletRequest 的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象里。这是一个常用的对象,获取客户端请求参
数必须使用该对象。常用的方法有
getPararneter(String paramNarne),
getPararneterValues(String paramName),
setAttribute(String atttibuteName,Object attributeValue),
getAttribute(String attributeName)setCharacterEncoding(String env)等。

response: javax.servlet.http.HttpServletResponse 的实例,代表服务器对客户端的响应。通常,也很少使用该对象直接响应,输出响应使用out 对象,而response 对象常用于重定向。常用的方法有sendRedirect(j ava.lang.String location)等。

session: javax.servlet.http.HttpSession 的实例,该对象代表一次会话。从客户端浏览器与站点建立连接起,开始会话,直到关闭浏览器时结束会话。常用的方法有:
getAttribute(String attName), setAttribute(String attName, String attValue)

 

你可能感兴趣的:(jsp,内置对象,动作指令)