JSP内置对象的解析

时间:2024-01-18 11:12:38

JSP九大对象及四大作用域并与之对应图表:

隐式对象 作用域 所属类
application application javax.servlet.ServletContext
session session javax.servlet.http.HttpSession
request request javax.servlet.ServletRequest
response page javax.servlet.ServletResponse
page page java.lang.Object
pageContext page javax.servlet.jsp.PageContext
config page javax.servlet.ServletConfig
exception page java.lang.Throwable

page与pageContext区别

1、page是jsp转为Servlet的实例,是对象的this

2、pageContext是可以获取和设置session、request等对象的桥梁

out常用方法

  • void print();向客户端打印字符串
  • void flush();将缓存区内容输出到客户端
  • void clear();清空缓存区并如果在flush方法调用后会抛出异常
  • void clearBuffer();清空缓存区并如果在flush方法调用后不会抛出异常
  • int getBufferSize();得到缓存区字段长度
  • int getRemaining();得到缓存区剩余字段
  • boolean isAutoFlush();判断缓存区满时,是自动清空还是抛出异常
  • void close();关闭输出流

get/post表单提交区别

提交方法 具体
get 通过明文url提交,数据可见,效率高,安全低
post 通过提交将数据封装到html header中,数据不可见,效率低,安全高

printWrite与out.print的区别

重定向和请求转发的区别

方法 具体
response.sendRedirect(“”); 相当于两次请求,第一次请求对象不会保存,地址栏的url会更改
request.getRequestDispatcher(“”).forward(req, resp); 相当于一次请求,请求对象会保存,地址栏的url不会更改

session的生命周期

1、会话:

1.1、客户端发出请求,服务器接收请求并创建唯一的sessionID发送给客户端的cookie中

1.2、客户端再次传递请求时,服务器先识别sessionID,完成会话

2、活动

3、结束的3种方法

3.1、时间到期,自然结束

3.2、调用invalidate,结束

3.3、服务器关闭

page对象

page对象就是指向当前页面本身,想当于this指针,是Object的实例