JSP为简化页面的开发提供了一些内部对象,这些内部对象不需要编写者进行实例化,它们由容器(Tomcat context)实现和管理,在所有的JSP页面中都能使用内部对象。
JSP共有9种内置对象:
一、Request对象:代表请求对象,主要用于接收客户端通过HTTP协议连接传输到服务器端的数据。
重要的方法:request.setAttribute;request.getAttribute 把键值对送到Tomcat内存中,用request携带。传参时,若两次或两次以上请求,即地址栏改变,所传参数将失效。如用<a href>进行换页,<jsp:include page>则可以。
request.getParameter获得文本框text中的值,request.getParameterValues获得复选框checkbox的值。request.getQueryString把url串取出来,自己解析。注意:getParmeter是根据form表单中name取的值。
二、Response对象:代表响应对象,封装了JSP产生的响应,然后被发送到客户端响应客户端的要求。
重要的方法:response.addCookie(Cookie cookie),Cookie常用来记录客户的某些信息,有时间限制。先创建Cookie实例(键值对),然后设置生命周期setMaxAge,向客户端写Cookie。
response.sendRedirect为重定向,多次转向,会丢失所有的请求参数和request范围内的属性,产生第二次请求。
三、out对象:用于向客户端输出数据。
四、session对象:用来分别保存每个用户的信息与请求关联的会话。会话状态维持。在web.xml中可以设置session保存的时间。
重要的方法:session.setAttribute,session.getAttribute,可以跨页传参取值。session.removeAttribute("键"),删除。session.invalidate释放所有的session。(清空内存)
五、application对象:用来分别保存用户信息,代码片段的运行环境;它是一个共享的内置对象,即一个容器的多个用户共享一个application对象,其保存的信息被所有的用户共享。在web.xml中进行配置,服务器启动后,就会自动创建application对象,这个对象会一直会保持直到服务器关闭为止。
六、PageContext对象:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。使用它可以访问page、session、request、application范围的变量。
重要的方法:pageContect.getAttribute(String name,int scope),Page范围。
七、Page对象:是JSP实现类的实例,也就是JSP本身,通过这个可以对它进行访问。
八、config内部对象:
九、Exception对象:指运行时的异常,只有在错误页面才可以使用该对象。在页面指令里有isErrorPage=true.通过errorPage可以将错误页设置为其它页。