9.JSP进阶

Posted WFiresun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.JSP进阶相关的知识,希望对你有一定的参考价值。

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作用域对象

 









































以上是关于9.JSP进阶的主要内容,如果未能解决你的问题,请参考以下文章

前端基础进阶系列

Java-进阶篇面向对象进阶

python进阶:面向对象进阶

Flutter进阶篇(4)-- Flutter的Future异步详解

Python 进阶都要学啥?

学习笔记JS进阶语法一DOM进阶