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中,数据不可见,效率低,安全高 |
重定向和请求转发的区别
方法 | 具体 |
---|---|
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的实例