JSP内置对象

JSP 页面中包含 9 个内置对象

这 9 个内置对象都是 Servlet API 的类或者接口的实例,只是 JSP 规范将它们完成了默认初始化,即它们已经是对象,可以直接使用。这 9个内置对象依次如下。

  • application: javax.servlet.ServletContext 的实例,该实例代表JSP所属的 Web应用本身,可用于 JSP 页面,或者 Servlet 之间交换信息。常用的方法有getAttribute(String attNarne) , setAttribute(String attNarne , String attValue)和getInitParameter(String paramNarne)等。

  • config: javax.servlet.ServletConfig 的实例,该实例代表该JSP 的配置信息。常用的方法有 getInitParameter(String paramNarne)及 getInitParameternarnes() 等方法。事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。

  • exception: java.lang.Throwable的实例,该实例代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page 的 isErrorPage属性为 true 时,该对象才可以使用。常用的方法有getMessageO和 printStackTraceO等。

  • out: javax.servlet.jsp.JspWriter的实例,该实例代表JSP 页面的输出流,用于输出内容,形成HTML 页面。

  • page: 代表该页面本身,通常没有太大用处。也就是 Servlet 中的 this,其类型就是生成的 Servlet 。

  • pageContext:javax.servlet.jsp.PageContext的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext()和getServletConfig()等。

  • request: javax.servlet.http:HttpServletRequest的实例,该对象封装了一次请求,客户端的请求参数都被封装在该对象里。这是一个常用的对象,获取客户端请求参数必须使用该对象。常用的方法有getPararneter(String paramNarne), getPararneterValues(String paramName), setAttribute(String atttibuteName,Object attributeValue), getAttribute(String attributeName)和 setCharacterEncoding(String env)等。

  • response: javax.servlet.http.HttpServletResponse的实例,代表服务器对客户端的响应。通常,也很少使用该对象直接响应,输出响应使用out 对象,而 response 对象常用于重定向。常用的方法有sendRedirect(java.lang.String location)等。

  • session: javax.servlet.http.HttpSession的实例,该对象代表一次会话。从客户端浏览器与站点建立连接起,开始会话,直到关闭浏览器时结束会话。常用的方法有:
    getAttribute(StringattName),setAttribute(StringattName,String attValue)等。

详细介绍

  • application
    对于整个web应用有效,一旦JSP或Servlet将数据放入application中,该数据将可以被应用下其他所有的JSP或Servlet访问。
    获取Web应用配置参数
//从配置参数中获取驱动
String driver =application.getInitParameter("driver") ;
//从配置参数中获取数据库 url
String url = application.getInitParameter("url");
//从配置参数中获取用户名
String user = application.getInitParameter("user");
//从配置参数中获取密码
String pass = application.getInitParameter("pass");

//web.xml文件中的配置
<!--配置第一个参数:driver-->
<context-param>
    <param-name>driver</param-name>
    <param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<!--配置第二个参数:url-->
<context-param>
    <param-name>url</param-name>
    <param-value>jdbc:mysql://localhost:3306/j2ee</param-value></context-param>
<!--配置第三个参数:user-->
<context-param>
    <param-name>user</param-name>
    <param-value>root</param-value>
</context-param>
<!--配置第四个参数:pass-->
<context-param>
    <param-name>pass</param-name>
    <param-value>32l47</param-value>
</context-param>
  • config对象
    config对象表示当前JSP配置信息,但JSP页面通常无需配置。但对Servlet用处相对较大。

  • exception对象
    发生异常时,原地址栏的信息不会变,内容会被errorPage替换。

  • out对象
    该对象是一个页面输出流

  • pageContent对象
    表示页面上下文,主要用于JSP之间的共享数据。通过pageContext对象获取其他内置对象

  • request对象
    用来包装请求
    请求转发原地址栏不会改变

  • response对象
    服务器对浏览器端的响应(位图,PDF),还可以重定向请求。
    原地址会改变
    增加Cookie对象,使用request获得Cookie

  • session对象
    从浏览器连接服务器开始,到浏览器与服务器断开为止,这是一次会话。

你可能感兴趣的:(jsp)