什么是内置对象:是 Web 容器创建的一组对象,JSP自带的,不需要new也能使用的对象。
JSP 九大内置对象:request、response、session、application、page、pageContext、out、config、exception。
1.request 请求对象
![cd7a2175517044978fe4c12ab5a58451.png](https://img-blog.csdnimg.cn/cd7a2175517044978fe4c12ab5a58451.png)
request对象的常见方法:
1) String getParameter(String name):根据表单组件名称获取提交数据
2) String[] getParameterValues(String name:获取表单组件对应多个值时的请求数据
3) void setCharacterEncoding(String charset):指定每个请求的编码
Tomcat7以前默认编码为ISO-8859-1
Tomcat8以后改为了utf-8
4) getRequestDispatcher(String path):返回一个RequesDispatcher对象,该对象的forward()方法用于转发请求
2.response 响应对象
定义:response对象用于响应客户请求并向客户端输出信息
1) 页面重定向
void sendRedirect(String location) :客户端将重新发送请求到指定的URL
![bc3974554db2486d8fc3e146359b1ef0.png](https://img-blog.csdnimg.cn/bc3974554db2486d8fc3e146359b1ef0.png)
3.session 会话对象
什么是会话:一个会话就是在一段时间内,一个客户端与 Web服务器的一连串相关的交互过程
session运行机制:
客户端第一次请求服务端时,(JSESSIONID——sessionid匹配失败),服务端会产生一个session对象(用于保存该客户的信息),并且每个session对象 都会有一个唯一的sessionId(用于区分其他session)
服务端又会产一个cookie,并且该cookie的name(key)=JSESSIONID,value=sessionId的值;
然后服务端会在响应客户端的同时 将该cookie发送给客户端,至此 客户端就有了一个cookie(里面是JSESSIONID);
因此客户端的cookie就可以和服务端的session一一对应起来(cookie的JSESSIONID和session的sessionID对应)
客户端第二/n次请求服务端时,服务器会先用客户端cookie中的JSESSIONID去服务端的session中匹配sessionid,如果匹配成功(cookie的JSESSIONID和session的sessionid值相同),说明此用户不是第一次访问,无需登录;
![0c28b1d97979444eb57cace3c8269e4d.png](https://img-blog.csdnimg.cn/0c28b1d97979444eb57cace3c8269e4d.png)
4. application
定义:实现用户之间的数据共享
application对象的常用方法:
1)void setAttribute(String key,Object value) :以key/value的形式保存对象值
实现页面被访问次数的统计
5.out输出对象
用于向客户端输出数据,对象用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区