• JSP隐式对象是Web容器加载的一组类的实例。它是可以直接在JSP页面使用的对象。分为4个主要类别:
– 输入和输出对象:控制页面的输入和输出(request、response、out)。
– 作用域通信对象:检索与JSP页面的Servlet相关的信息(session、application、pageContext)。
– Servlet对象:提供有关页面环境的信息(page、config)。
– 错误对象:处理页面中的错误(exception)。
• request对象
– request隐式对象表示客户端的请求,包含了所有的请求信息,常用的方法:
• String getParameter(String name):根据页面表单组件名称获取请求页面提交的数据。
• String getParameterValues(String name):获取页面请求中一个表单组件对应多个值时的用户的请求数据(例如复选框)。
• response对象
– response隐式对象处理JSP生成的响应,然后将响应结果发送给客户端,常用的方法:
• void setContentType(String name):设置作为响应生成的内容的类型和字符编码。
• void sendRedirect(String name):发送一个响应给浏览器,指示其应请求另一个URL(会丢失数据,跳转后不再执行sendRedirect方法下面的代码)。
• out对象
– out对象表示输出流,此输出流将作为请求的响应发送到客户端,常用方法有print()、println()、和write()。
• pageContext对象
– pageContext对象使用户可以访问当前页面作用域中定义的所有隐式对象。pageContext对象常用的方法:
• getRequest()、getServletConfig()、getSession()等
• void setAttribute(String name, Object value)
• void getAttribute(String name)
• session对象
– session对象表示用户的会话状况,用此项机制可以轻易识别每一个用户,能保存和跟踪用户的会话状态。session对象最常用的方法:
• void setAttribute(String name, Object value)
• void getAttribute(String name)
• application对象
– application对象作用于整个应用程序,所有的客户端窗口都可以共享该对象,从服务器开始就存在,直到服务器关闭为止。application对象最常用的方法:
• void setAttribute(String name, Object value):以名称/值的方式,将一个对象的值存放到application中(存的值的类型为Object)。
• void getAttribute(String name):根据名称去获取application中存放对象的值(获取的值的类型为Object)。
• 设置context初始参数。在web.xml文件适当的位置增加内容:
<context-param>
<param-name>website</param-name>
<param-value>www.sohu.com</param-value>
</context-param>
在JSP页面中,使用applicatin对象的getInitParameter()方法可以取得website参数对应的参数值。在Servlet中用ServletContext对象的同名方法获得参数值。
• 使用log()方法记录日志。
可以使用application对象提供的log()方法,实现日志记录功能,在Tomcat服务器中,记录的日志都保存在Tomcat根目录的logs目录下。日志内容分成不同文件进行记录。例如,
<% application.log(“SunWuKong is here”);%>
• page对象
– page对象提供对网页上定义的所有对象的访问。page对象表示页面本身,它是java.lang.Object类的一个实例。
• config对象
– config对象存储Servlet的一些初始信息。config对象是javax.servlet.ServletConfig接口的一个实例,ServletConfig接口提供方法以检索Servlet初始化参数。config对象表示编译JSP页面的Servlet初始化数据的配置。
• exception对象处理JSP页面中的错误
– printStackTrace()方法用于显示异常的堆栈跟踪。