Javaweb的9个内置对象
文章目录
JSP共有以下9大内置对象:
-
out
-
request
-
response
-
session
-
application
-
pageContext
-
config
-
page
-
exception
一、内置对象out
作用:主要用来向客户端输出数据
clear() 清空缓冲区;
clearBuffer() 清空当前区的内容;
close() 先刷新流,然后关闭流;
flush() 刷新流;
getBufferSize() 以字节为单位返回缓冲区的大小;
getRemaining() 返回缓冲区中没有使用的字符的数量;
isAutoFlush()返回布尔值,自动刷新还是在缓冲区溢出时抛出IOException异常
<body>
<h1>out内置对象</h1>
<%
out.println("<h2>静夜思</h2>");//可以在println();里面加入标签
out.println("床前明月光");
out.println("疑是地上霜");
out.flush();
out.clear();//这里会抛出异常,因为上面有flush
out.clearBuffer();//这里不会抛出异常
out.println("举头望明月");
out.println("低头思故乡");
%>
缓冲区大小:<%=out.getBufferSize() %>byte<br>
缓冲区剩余大小:<%=out.getRemaining() %>byte<br>
是否自动清空缓冲区:<%=out.isAutoFlush() %><br>
</body>
out.clear(),out.flush(),out.clearButtfer()的区别
⭐️1.out.clear()是直接清空缓冲区数据,不输出到客户端且刷新缓存时抛出异常
⭐️2.out.flush()先输出缓冲区数据再清空。
⭐️3.out.clearBuffer() 清空缓冲区,不输出到客户端
二、内置对象request
描述:来自客户端的请求经Servlet容器处理后,由request对象进行封装。注:客户端和服务器的一次通信就是一次请求(发送请求或得到相应)。
作用域:request。说明,这次请求结束后,它的生命周期 就结束了。
-
getParameter(key) 获取提交表单的数据
⭐️Get请求和Post的区别:get参数通过URL传递,post放在request body中。安全性:post比get安全。请求缓存:GET 会被缓存,而post不会。
Get请求上传的数据不能大于2KB(是因为浏览器对于URL的长度有限制),而Post请求对于传输的数据理论上来说是没有限制的。所以,在JavaWeb开发中,对于文件的上传的表单的提交方法必须为“Post”方式
-
getParameterValues(key) 获取提交表单的一组数据(用于获取数组的数据)
-
request.getRequestDispatcher(“list.jsp”).forward(request,response) 转发(通过代码的方式进行转发)
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>Insert title here</title> 8 </head> 9 <body> 10 <form action="request-receiver.jsp" method="post"> 11 username:<input type="text" name="user"/><