•内置对象也称内建对象、隐含对象是不需要声明,直接可以在JSP中使用的Java对象。JSP基于Java语言,面向对象也是它的一大特色。JSP的内置对象就是把最常用最重要的几个对象直接创建然后内置了,用户无需再显示的用代码声明,用好JSP内置对象是JSP编程的精髓。 •JSP有以下九个内置对象:request、response、out、pageContext、session、application、config、page、exception 使用request对象获取请求 •request是最常用的内置对象。表示javax.servlet.http.HttpServletRequest对象request对象包含所有请求的信息,如请求的来源、标头、cookies和请求相关的参数值等。比较常用的方法: •(1)Object getAttribute( String name ):返回由name指定的属性值,该属性不存在时返回null。 •(2)void setAttribute( String name, Object value ):在属性列表中添加/删除指定的属性。 •(3)String getParameter( String name ):获取客户端发送给服务器端的参数值。 •(4)String[] getParameterValues( String name ):获得请求中指定参数的所有值。 •(5)String getProtocol():返回请求使用的协议。可以是HTTP1.1或者HTTP1.0。 •(6)String RequestURI():返回发出请求的客户端地址,但是不包括请求的参数字符串。 •(7)String getRemoteAddr():获取发出请求的客户端IP地址。 •(8)HttpSession getSession():获取session。 使用response对象做应答 •response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法,如比较常见的方法: •(1)sendRedirect(URL):可以将用户重定向到一个不同的页面(URL)。 •(2)setContenType(String type):响应设置内容类型头。 •(3)addHeader(String name,String value):添加String类型的值到HTTP文件头 在session对象中保存用户会话 •session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息。session在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法(比如cookie)知道这是同一个客户,这就需要session对象。 •服务器启动后就产生了这个application对象,当客户再所访问的网站的各个页面之间浏览时,这个application对象都是同一个,可以理解为在一个应用中applications对象是一个全局的Map。 •pageContext与application对象类似有setAttribute( )和getAttribute( )方法来保存对象只是它的范围只限于本网页内。 •这里提到JSP的范围(scope),分别为Page、Request、Session、Application。在这4个范围分别有pageContext,request,session,appliaction4个内置对象对应用来保存对象,方法名都是setAttribute( )和getAttribute( )。范围的概念十分重要,很多配置都有范围这一属性。 在exception对象中处理异常 •Exception对象用作处理JSP文件执行时发生的错误和异常只有在错误页面里才可以使用,前提是:在页面指令里要有isErrorPage=true的页面中;如: •<%@ page contentType="text/html;charset=gb2312" isErrorPage="true"%> •则:在此页面中页面中便可使用exception内置对象,用法如下: •<%=exception.getMessage()%> |