需掌握

一、 JSP异常处理的话:
(1)创建一个用于异常处理的jsp的页面
<%@ page isErrorPage="true"%>
<% exception %>
(2)其他的jsp页面出现了异常能够跳转到异常处理的页面去
方法一:<%@page errorPage=""%>
方法二:webxml文件中进行配置
<1>指定异常的类型:<error-page><exception-type>java.lang.ArithmeticException
<2>执行异常的编号:<error-code>404</error-code>
<3>指定跳转的页面:<location>error.jsp</location>
二、JSP的内置对象
   输入输出对象
(1)request对象
(2)response对象
(3)out对象 pageContext对象 通过getOut()方法来得到的对象
类型:JspWriter  带缓冲的PrintWriter
设置缓冲区的大小  <%@ page buffer="8k" %>
response的方法getWriter()方法  获取PrintWriter对象
JspWriter与PrintWriter区别
JspWriter先讲数据写到缓冲区中,满足无缓冲区,满缓冲区,Jsp文件执行完三个条件,它才 会写入到系统缓冲区中。而PrintWriter是得到的系统缓冲区的对象。直接写入到系统的缓冲 区中,所有会先输出PrintWriter的内容、
利用JspWriter flush()刷新一下,就会自动写入系统缓冲区
将<%%>前后的空格和回车所有内容全部去掉,可以使用字节流对象。

在页面转发的时候,如果前面没有 任何调用,默认的是调用getOutputStream()。在前面调用response 调用getWriter()来调用打印输出流可解决问题
RequestDispatcher rd=request.getRequestDispatcher("MyHtml.html");
  rd.forward(request,response); 
    三、作用域通信对象
(4)pageContext
用来获取其他八种内置对象。可以定义方法 让pageContext作参数,便可使用其它八种内置对象的功能
可以作为一个作用域来使用。可以设置和获取属性。作用范围。每个页面都自己的pageContext对象
如果是转发,将替换为request  则可以获取到。
response.sendRedirect("result.jsp"); 重定向,不在同一作用范围
利用session会话中 将可以完成。作用于一个会话中
使用application 也可以完成,作用于全文
pageContext.setAttribute(参数1,参数2,参数3); 第三个参数,用来指定该属性要设置到那个作用域中
使用静态变量来完成。如 PageContext.APPLICATION_SCOPE 表示application的作用域

pageContext.forwar("result.jsp");  //直接完成请求的转发
(5)session
(6)application 与serverletContext 一样,全局范围的对象,整个应用程序

你可能感兴趣的:(jsp,exception,session,application,buffer)