Jsp 九大内置对象

Jsp 九大内置对象

什么是内置对象?

JSP 提供了由容器实现和管理的内置对象,也可以称之为隐含对象,由于JSP使用Java作为脚本语言,所以JSP将具有强大的对象处理能力,并且可以动态创建Web页面内容。但Java语法在使用一个对象前,需要先实例化这个对象,这其实是一件比较烦琐的事情。JSP为了简化开发,提供了一些内置对象,用来实现很多JSP应用。在使用JSP内置对象时,不需要先定义这些对象,直接使用即可

四个作用域对象:

request对象

request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的HTTP请求中的各项参数。

// 设置中文编码

request.setCharacterEncoding("utf-8");

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

request.getParameter("");

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

request.getRequestDispatcher("");

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

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

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

request.getAttribute("key");

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

StringrealPath=request.getRealPath("");

System.out.println("项目运行时的服务器真实路径:"+realPath);

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

StringcontextPath=request.getContextPath();

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

//当前请求的方式

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);

session对象

指的是客户端与服务器的一次会话 , 一次"会话"包含若干次"请求"。从客户连接到服务器的一个 WebApplication 开始 , 直到客户端与服务器断开连接为止 ; 它是 HTTPSession 类的实例 , 作用域为 session ( 会话期 )Session会话的生命周期:会话开始:客户端的第1次"请求"  会话结束:1.客户端浏览器关闭;2.客户端超时(Tomcat默认为30分钟);3.服务器关闭;

// 获取当前Session会话对象

HttpSessionsession=request.getSession();

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

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

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

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

session.getAttribute("key");

DatecreationDateTime=newDate(session.getCreationTime());

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

DatelastAccessedDateTime=newDate(session.getLastAccessedTime());

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

//使用Session保存访问次数

HttpSessionsession=request.getSession();

intcount=0;

if(session.getAttribute("count")!=null) {

    // 获取之前存储的数值

    count=Integer.parseInt(session.getAttribute("count").toString());

    // 重新保存

    session.setAttribute("count",++count);

}else{

    // 第一次保存

    session.setAttribute("count",++count);

}

//设置中文编码

response.setContentType("text/html;charset=utf-8");

PrintWriterout=response.getWriter();

out.print("您的访问次数为:<strong>"+session.getAttribute("count")+"</strong>");

application对象

实现了用户间数据的共享 , 可存放全局变量 ; 它开始于服务器的启动 , 直到服务器的关闭 , 在此期间 , 此对象将一直存在 ; 这样在用户的前后连接或不同用户之间的连接中 , 可以对此对象的同一属性进行操作 ; 在任何地方对此对象属性的操作 , 都将影响到其他用户对此的访问 ; 服务器的启动和关闭决定了 application 对象的生命 ; 它是 ServletContext 类的实例。

//使用application对象保存访问次数

ServletContextapplication=request.getServletContext();

intcount=0;

if(application.getAttribute("count")!=null) {

    // 获取之前存储的数值

    count=Integer.parseInt(application.getAttribute("count").toString());

    // 重新保存

    application.setAttribute("count",++count);

}else{

    // 第一次保存

    application.setAttribute("count",++count);

}

//获取application应用的真实路径

StringrealPath=application.getRealPath("");

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

//获取应用访问名称

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

//获取ession超时时间

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

pageContext 对象

提供了对 JSP 页面内所有的对象及名字空间的访问 , 也就是说他可以访问到本页所在的 session , 也可以取本页面所在的 application 的某一属性值 , pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。

// 将KV键值对,存入"pageContext"页面"范围内

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

五个其它内置对象:

config 对象

config 对象的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。

out对象:

out 对象是 JspWriter 类的实例,是向客户端输出内容常用的对象 ;用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

PrintWriterout=response.getWriter();

    out.print("<script>");

    out.print(" alert('修改成功');");

    out.print(" location='list_product.jsp';");

    out.print("</script>");

response 对象:

response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。

//处理响应过程中的中文乱码

response.setContentType("text/html;charset=utf-8");

//获取响应输出对象

PrintWriterout=response.getWriter();

//重定向客户端的请求

response.sendRedirect("product.html");

page 对象

page 对象代表JSP本身,只有在 JSP 页面内才是合法的。 page 对象本质上是包含当前 Servlet 接口引用的变量,可以看作是 this 关键字的别名。

exception 异常对象

exception 对象用来处理JSP文件执行时发生的所有错误和异常,只有在page指令中设置 isErrorPage属性值为true的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。exception对象几乎定义了所有异常情况,在Java程序中,可以使用try...catch关键字来处理异常情况,如果在JSP页面中出现没有捕获到的异常,就会生成exception对象,并把exception对象传送到在page指令中定义的错误页面中,然后在错误页面中处理相应的exception对象。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容