jsp九大内置对象常用方法及四个作用域

九大内置对象

jsp中的九大内置对象是自带的,不需要new 也能使用的对象

out:

print(),println( )方法

输出对象,向客户端输出内容

request:

请求对象,存储“客户端向服务端发送的请求信息”
request对象的常见方法:

  • String getParameter(String name) :根据请求的字段名key (input标签的name属性值) ,返回字段值value (input标签的value属性值)
  • String[] getParameterValues(String name):根据请求的字段名key ,返回多个字段值value (checkbox)
  • void setCharacterEncoding("编码格式utf-8") :设置post方式的请求编码 (tomcat7以前默认iso-8859-1,tomcat8以后改为了utf-8)
  • getRequestDispatcher("B.jsp").forward(request,response) :请求转发 的方式跳转页面 A - > B
  • ServletContext getServerContext():获取项目的ServletContext对象
  • Cookie getCookies():获取一个cookie对象
  • void setAttribute(String name,Object obj):设置属性值(新增,修改)
  • Object getAttribute(String name):根据属性名,查找属性值

response:

响应对象

response对象的常见方法:

  • void addCookie( Cookie cookie ), 服务端向客户端增加cookie对象
  • void sendRedirect(String location ) throws IOException :页面跳转的一种方式(重定向)
  • void setContetType(String type):设置服务端响应的编码(设置服务端的contentType类型)

session:

会话对象,session存储在服务端

实现机制:客户端第一次请求服务端时,服务端会产生一个session对象(用于保存该客户的信息),并且每个session对象 都会有一个唯一的 sessionId( 用于区分其他session),且产生一个cookie,并且该cookie的name=JSESSIONID ,value=服务端sessionId的值;然后服务端会在响应客户端的同时将该cookie发送给客户端

客户端第二次请求服务端时,服务端会先用客户端cookie种的JSESSIONID 去服务端的session中匹配sessionid,如果匹配成功(cookie jsessionid和sesion sessionid),说明此用户 不是第一次访问,无需登录;

session对象的常见方法:

  • String getId() :获取sessionId
  • boolean isNew() :判断是否是 新用户(第一次访问)
  • void invalidate():使session失效 (退出登录、注销)
  • void setAttribute(String name,Object obj):设置属性值(新增,修改)
  • Object getAttribute(String name):根据属性名,查找属性值
  • void setMaxInactiveInterval(秒) :设置最大有效 非活动时间
  • int getMaxInactiveInterval():获取最大有效 非活动时间

application:

全局对象

application对象的常见方法:

  • String getContextPath() :虚拟路径
  • String getRealPath(String name):绝对路径(虚拟路径 相对的绝对路径)
  • void setAttribute(String name,Object obj):设置属性值(新增,修改)
  • Object getAttribute(String name):根据属性名,查找属性值

pagecontext:

JSP页面容器

  • void setAttribute(String name,Object obj):设置属性值(新增,修改)
  • Object getAttribute(String name):根据属性名,查找属性值

config:

配置对象(服务器配置信息)

page:

当前JSP页面对象(相当于java中的this)

exception:

异常对象

四个作用域

四种范围对象 作用域
pageContext (page对象) 请求数据当前页面有效
request 请求对象 请求数据同一次请求有效,(重定向后无效)
session 会话对象 请求数据同一次会话有效
appliation 全局对象 请求数据全局有效(整个项目有效)

以上4个对象共有的方法:

  • Object getAttribute(String name):根据属性名,查找属性值

  • void setAttribute(String name,Object obj) :设置属性值(新增,修改)

  • setAttribute("a","b") ;//如果a对象之前不存在,则新建一个a对象 ;如果a之前已经存在,则将a的值改为b

  • void removeAttribute(String name):根据属性名,删除对象

注意:尽量使用最小的范围。因为对象的范围越大,造成的性能损耗越大。

posted @ 2020-08-19 18:36  咕咕星  阅读(444)  评论(0编辑  收藏  举报