9.JSP进阶

简介: 1.JSP内置对象       JSP容器在_jspService()方法中声明并初始化9个内置对象。名称作用接口/类out客户端打开的输出流javax.

1.JSP内置对象

       JSP容器在_jspService()方法中声明并初始化9个内置对象。

名称

作用

接口/类

out

客户端打开的输出流

javax.servlet.jsp.JspWriter 接口

application

为多个应用程序保存信息

javax.servlet.ServletContext 接口

session

为每个用户保存信息

javax.servlet.http.HttpSession 接口

request

封装客户端HTTP请求信息

javax.servlet.http:HttpServletRequest 接口

response

封装返回HTTP客户端响应信息

javax.servlet.http:HttpServletResponse 接口

   内置对象out

    类型:Javax.servlet.jsp.JspWriter

    作用:主要用来向客户端输出数据

    作用域:page.也就是说,每个页面都有一个自己的out对象。

    重写方法:print()/println()/write()    向客户端页面输出数据

   内置对象request

   类型::Javax.servlet.http.HttpServletRequest

   描述:  来自客户端的请求经Servlet容器处理后,由request对象进行封装。注意:

             客户端和服务器的一次通信就是一次请求(发送请求或者得到相应)。

   作用域:request.说明,这次请求结束后,它的生命周期就结束了。

   

重要方法:
getParameter(key) 获取提交表单的数据
getParameterValues(key) 获取提交表单的一组数据
getRequestDispatcher(“list.jsp”).forward(request,response) 转发请求到list.jsp页面
setAttribute(key,Object) 设置请求作用域的key对应的值
getAttribute(key) 获取请求作用域key所对应的值
setCharacterEncoding(“UTF-8”) 对请求数据指定编码

   内置对象response

 类型:Javax.servlet.http.HttpServletResponse

描述:它封装了JSP的响应,然后被送到客户端以响应客户的请求。

作用域:page;

重要方法:
sendRedirect(“list.jsp”) 页面跳转
setCharacterEncoding(“UTF-8”) 设置响应编码

  内置对象sessoin:

  类型:Javax.servlet.http.HttpSesion;

   描述:表示一个会话,用来保存用户信息,以便跟踪每个用户的状态。(不要用来保存业务数据, request)‘

  定义:是指在一段时间内客户端和服务器之间的一连串的相关的交互过程。

 作用域:Session

  

重要方法:
getId() 获取session的id号
Isnew() 判断session是新建的
setAttribute(key,Object) 向当前会话设置一个值
getAttribute(key) 获取当前会话中key所对应的值
removeAttribute(key) 删除当前会话key所对应的值
setMaxInactiveInterval(1000*60) 设置session失效时间,Tomcat默认时长为30分钟
Invalidate() 销毁当前会话,一般用于删除当前会话中所有数据

 内置对象application

类型:javax.servlet.ServletContext
描述:从servlet配置对象获得的servlet上下文
作用域:application
重要方法:
setAttribute(key,Object) 向当前application设置一个值
getAttribute(key) 获取当前application中key所对应的值
removeAttribute(key) 删除当前application中key所对应的值

  内置对象pageContext

类型:javax.servlet.jsp.PageContext
描述:本JSP的页面上下文
作用域:page

  内置对象congfig和page

 

config
类型:javax.servlet.ServletConfig
描述:本JSP的 ServletConfig
作用域:page
page
类型:java.lang.Object
描述:实现处理本页当前请求的类的实例(javax.servlet.jsp.HttpJspPage),转换后的Servlet类本身
作用域:page

   内置对象exception 

类型:java.lang.Exception
描述:本JSP页面的异常对象
作用域:page

 2.JSP作用域

JSP页面中的对象,包括用户创建的和JSP内置对象都有一个范围属性
JSP中共有4种作用域范围

作用域

描述

方法

Application

具有应用程序作用域的对象,在应用程序存活期间均可用

setAttribute(String name,Object attribute)

 

getAttribute(String name)

Session

具有会话作用域的对象,在会话的存活期间可用

Request

具有请求作用域的对象,在所有处理同一个请求的页面内都可以访问

Page

具有页面作用域的对象,在当前页内可用

Application作用域范围最大
可以被不同页面、不同用户共享
可以通过application内置对象或ServletContext访问Application作用域对象

 

Session作用域范围仅次于Application作用域
可以被同一个客户端的请求访问
可以通过session内置对象访问Session作用域对象

 

request作用域范围小于Session作用域:

可以被forward()方法转向页面或者include()包含页面访问
可以通过request内置对象访问request作用域对象

 

Page作用域范围最小
只能被创建对象的页面访问
可以通过pageContext内置对象访问Page作用域对象

 

目录
相关文章
|
6月前
|
XML 开发框架 Java
JSP 教程
JSP是Sun Microsystems发起的服务器端编程技术,用于动态生成HTML等文档。它使用Java作为脚本语言,JSP文件通常以*.jsp结尾,能跨平台运行。
29 1
|
Java 程序员
JSP知识点小结
JSP知识点小结
66 0
|
Java 应用服务中间件
JSP知识点大致介绍1
JSP知识点大致介绍1
106 0
|
XML JSON 前端开发
2020年了,还需要学习JSP吗?
2020年了,还需要学JSP吗?我相信现在还是在大学的同学肯定会有这个疑问。
738 0
2020年了,还需要学习JSP吗?
|
Java
JSP面试题都在这里(一)
下面是我整理下来的JSP知识点:
69 0
JSP面试题都在这里(一)
|
设计模式 前端开发 IDE
JSP面试题都在这里(三)
下面是我整理下来的JSP知识点:
163 0
JSP面试题都在这里(三)
|
缓存 Java API
JSP面试题都在这里(二)
下面是我整理下来的JSP知识点:
86 0
JSP面试题都在这里(二)
|
XML SQL 前端开发
JSP入门(三)
JSP入门(三)
166 0
JSP入门(三)
|
缓存 Java 应用服务中间件
JSP入门(一)
JSP入门()(一)
183 0
JSP入门(一)
|
Java 应用服务中间件
JSP入门(二)
JSP入门(二)
151 0
JSP入门(二)