一. JSP 隐式对象是Web容器加载的一组类的实例。它是可以直接在JSP页面使用的对象。分为4个主要类别:
· 输入和输出对象:控制页面的输入和输出(request、response、out)。
· 作用域通信对象:检索与JSP页面的Servlet相关的信息(session、application、pageContext)。
· Servlet对象:提供有关页面环境的信息(page、config)。
· 错误对象:处理页面中的错误(exception)。
对象 | 描述 |
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
1、输入和输出对象
1)request对象
request隐式对象表示客户端的请求,包含了所有的请求信息。
· StringgetParameter(String name):根据页面表单组件名称获取请求页面提交的数据。
· StringgetParameterValues(String name):获取页面请求中一个表单组件对应多个值时的用户的请求数据(例如复选框)。
2)response对象
response隐式对象处理JSP生成的响应,然后将响应结果发送给客户端。
· voidsetContentType(String name):设置作为响应生成的内容的类型和字符编码。
· voidsendRedirect(string name):发送一个响应给浏览器,指示其应请求另一个URL(重定向到另外一个URL,会丢失数据,跳转后不再执行sendRedirect方法下面的代码)。
3)out对象
out对象表示输出流,此输出流将作为请求的响应发送到客户端,常用的方法有print()、println()和write()。
方法 | 描述 |
out.print(dataType dt) | 输出Type类型的值 |
out.println(dataType dt) | 输出Type类型的值然后换行 |
out.flush() | 刷新输出流 |
2、作用域通信对象
JSP作用域通信对象从小到大有pageContext对象、session对象、application对象。
1)pageContext对象
pageContext对象使用户可以访问当前页面作用域中定义的所有隐式对象。pageContext对象最常用的方法有:
· void setAttribute(String name, Object value):以名称/值的方式,将一个对象的值存放到pageContext中(存的值的类型为Object)。
· voidgetAttribute(String name):根据名称去获取pageContext存放对象的值(获取的值的类型为Object)。
其中一个重要的方法就是removeArribute(),它可接受一个或两个参数。比如,pageContext.removeArribute("attrName")移除四个scope中相关属性,但是下面这种方法只移除特定scope中的相关属性:
pageContext.removeAttribute("attrName", PAGE_SCOPE);
2)session对象
session对象表示用户的会话状况,用此项机制可以轻易识别每一个用户,能保存和跟踪用户的会话状态。session对象最常用的方法有:
· void setAttribute(String name, Object value):以名称/值的方式,将一个对象的值存放到session中(存的值的类型为Object)。
· void getAttribute(Stringname):根据名称去获取session存放对象的值(获取的值的类型为Object)。
3)application对象
application对象作用于整个应用程序,所有的客户端窗口都可以共享该对象,从服务器开始就存在,直到服务器关闭为止。application对象最常用的方法有:
· void setAttribute(String name, Object value):以名称/值的方式,将一个对象的值存放到application中(存的值的类型为Object)。
· void getAttribute(Stringname):根据名称去获取application存放对象的值(获取的值的类型为Object)。
3、Servlet对象
1)page对象
page对象提供对网页上定义的所有对象的访问。page对象表示页面本身,它是java.lang.Object类的一个实例。
2)config对象
config对象存储Servlet的一些初始信息。config对象是javax.servlet.ServletConfig接口的一个实例,ServletConfig接口提供方法以检索Servlet初始化参数。config对象表示编译JSP页面的Servlet初始化数据的配置。
以下是config对象的使用方法,不是很重要,所以不常用:
config.getServletName();
4、错误对象exception
exception对象处理JSP页面中的错误。printStackTrace()方法用于显示异常的堆栈跟踪。exception.getClass().getName()获取异常信息。