理解JSP的9个内置对象

四个作用域对象:

主要作用:用来存值。(作用域:能在多大的范围内存值)

1.pageContext:将值以KV键值对的形式,存入到当前页面。


pageContext.setAttribute("key","value");

pageContext.getAttribute("key");


2.request:将KV键值对,存入"request请求"范围内。


// 在请求转发前,存入KV键值对

// request.setAttribute("key","value");

​// 在请求转发后,根据key获取value

// request.getAttribute("key");


request的生命周期:

生:客户端发起一次请求

死:服务器端给回响应给客户端(响应完毕,request的生命周期结束)

request的常见方法


// 按照参数名称,获取请求中的参数值

// request.getParameter("");


// 根据目标地址,获取RequestDispatcher请求转发对象

// request.getRequestDispatcher("");

// 在请求转发前,存入KV键值对

// request.setAttribute("key","value");

// 在请求转发后,根据key获取value

// request.getAttribute("key");

// 获取当前应用在服务器端的真实路径

StringrealPath=request.getRealPath("test");

System.out.println("应用在服务器端的真实路径:"+realPath);//获取的不是应用的工作空间路径

//D:\java编程\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\JavaEE_ServletLearn03\test


//获取项目运行时的应用访问名称

StringcontextPath=request.getContextPath();

System.out.println("项目运行时的应用访问名    称:"+contextPath);// /servlet003


//获取当前的请求方式

Stringmethod=request.getMethod();

System.out.println("当前的请求方式:"+method);

//获取发起本次的请求的客户端IP地址

Stringremote=request.getRemoteAddr();

System.out.println("客户端的IP地址:"+remote);

//获取服务器本地的IP地址

Stringlocal=request.getLocalAddr();

System.out.println("服务器的IP地址:"+local);


3.session:将KV键值对,存入“session会话”范围内,对于同一个客户端,一次会话包含若干次“请求”。

session的生命周期:

生:客户端在第一次浏览时,第一次发起请求时,会创建一个session (一个session在服务器端都有一个独一无二的标志,同一个用户多次请求,对应的是同一个session。不同的客户发起起请求,对应的是不同的session)  ==>同一个客户端,一次会话包含若干次请求

死:1.客户端浏览器关闭       

        2.服务器关闭        

        3.客户端超时(Tomcat默认时间为30分钟)

session的常见方法


//获取session对象

HttpSessionsession=request.getSession();

    System.out.println("sessionId:"+session.getId());


//将当前的KV键值对,存入Session会话(数据存放在服务器端)

//session.setAttribute("uid", "root");


//从当前Session会话中,根据key获取value

//session.getAttribute("uid");


//将getCreationTime()获得的long类型的格林尼治时间转换为Date

DatecreationTime=newDate(session.getCreationTime());

//同一个客户端的多次请求访问,获得的Session创建时间是相同

//因为同一个客户端的对次请求,对应的是同一个Session (同一个用户创建一个Session)

System.out.println("Session的创建时间:"+creationTime);


//将getLastAccessedTime()获得的long类型的格林尼治时间转换为Date

//获取的是上一次的时间

DatelastAccessedTime=newDate(session.getLastAccessedTime());

        System.out.println("本次会话最后一次访问时间:"+lastAccessedTime);


4.application:将KV键值对,存入"application应用"范围内


// 将KV键值对,存入"application应用"范围内

application.setAttribute("key","value");

application.getAttribute("key");


application的生命周期:1.随着服务器的启动而开始2.随着服务器的关闭而结束application的常见方法:


ServletContextapplication=request.getServletContext();


StringrealPath=application.getRealPath("");

System.out.println("应用真实路径:"+realPath);

System.out.println("应用访问名称:"+application.getContextPath());

System.out.println("Session超时时间:"+application.getSessionTimeout());


四个作用域对象的大小区域:Application>session>request>pageContext





五个其他内置对象:

out:主要用于输出

response:只要做出响应

config:配置信息

page:代表当前页面(当前JSP页面所对应的Servlet实例)

exception:异常对象,只有当前页面的page指令中isErrorpage=true,方可使用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。