| 对象名 | 对象 | 类型 | 作用域 |
| request | 请求对象 | javax.servlet.ServletRequest的子类 | Request |
| response | 响应对象 | javax.servlet.SrvletResponse 的子类 | Page |
| session | 会话对象 | javax.servlet.http.HttpSession | Session |
| application | 应用程序对象 | javax.servlet.ServletContext | Application |
| out | 输出对象 | javax.servlet.jsp.JspWriter | Page |
| pageContext | 页面上下文对象 | javax.servlet.jsp.PageContext | Page |
| config | 配置对象 | javax.servlet.ServletConfig | Page |
| page | 页面对象 | javax.lang.Object | Page |
| exception | 异常对象 | javax.lang.Throwable | Page |
request
request的setAttribute与getAttribute方法一般都是成对出现的,首先通过setAttribute方法设置属性与属性值,
然后通过getAttribute方法根据属性获取到与该属性对应的对象值(获取到之后一般都需要进行向下类型转换,
将属性值转换为真正的对象)。setAttribute与getAttribute方法都是在服务器端内部执行的,客户端不知道服务
器端是否执行过这两个方法。
request的getParameter方法的作用是获取到客户端 通过表单或URL请求参数所发送过来的参数值,是客户
端与服务器端之间的交互,服务器端要想获取到客户端发送过来的数据,就需要使用getParameter方法来获取。
没有与getParameter方法对应的setParameter方法。
request对象内数据的存活范围就是在request对象的存活范围内,当客户端向服务器端发送一个请求,服务
器向客户端返回一个响应后,该请求对象就被销毁了;之后再向服务器端发送新的请求时,服务器会创建新的
request对象,该request对象与之前的request对象没有任何关系,因此也无法获得在之前的request对象中所存
放的任何数据。
session
session对象内数据的存活范围也就是session对象的存活范围(只要浏览器不关闭,session对象就会一直
存在),因此在同一个浏览器窗口中,无论向服务器端发送多少个请求,session对象只有一个。
application
application(应用程序对象):存活范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在。
在整个服务器运行过程当中,application对象只有一个。
【request、session以及application对象的范围区别】request只在一个请求的范围内;
session是在浏览器窗口的范围内;application则是在整个服务器的运行过程中。
exception
此exception是服务器内置对象默认对象名称,属于java.lang.Throwable类型,作用域属于Page(当前页);
“exception”对象代表JSP文件运行时所产生的异常对象,此对象不能在一般JSP文件中直接使用,而只能在使用了
“<%@ page isErrorPage = "true">”的JSP文件中使用,即该JSP页面是被定义为异常页面来进行处理
【请求转发与重定向的区别】
HttpServletResponse对象的sendRedirect(String location)方法称作重定向。
如果location地址前面加上“/”,则表示相对于Servlet容器的根来请求,即
http://localhost:8080,如果location地址前没加上“/”,则表示对于当前请求URI来寻找地址。
RequestDispatcher的forward(request,response)方法称作请求转发。
RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请求对象的方法。
sendRedirect()是HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象
的方法,那就表明整个请求过程结束了,服务器开始向客户端返回执行的结果。

被折叠的 条评论
为什么被折叠?



