博客已迁移到CSDN《https://blog.csdn.net/qq_33375499》
jsp运行原理:
每个jsp页面在第一被访问时,WEB容器都会把该jsp页面翻译成一个_jspServlet(实际上是一个servlet),然后按照servlet的调用方式进行调用,在调用的过程中,会传递或创建九大web内置对象。
九大内置对象:
1.pageContext
pageContext对象是JSP技术中最重要的一个对象,这个对象不仅封装了其他8个内置对象,自身还是一个容器,可以用于存储数据。
- getException();
- getPage();
- getSession();
- getRequest();
- getResponse();
- getServletConfig();
- getServletContext();
- getException();
- setAttribute(String name,Object attribute);设置属性及属性值
- getAttribute(String name);在指定范围内获取设置的属性值
- removeAttribute(String name);删除属性
- getAttributeScopt(String name);返回某属性的作用范围
- forward(String relativeUrlPath);使当前页面重定向到另一页面
- include(String relativeUrlPath);在当前位置引入另一文件
- release();释放pageContext所占用的资源
2.request
request为一次请求范围内创建的对象。该对象封装了请求的各种信息。
- getAttribute(String name);返回指定属性的值
- setAttribute(String key,Object obj);设置属性的值
- getAttributeNames();返回所有可用属性名的枚举
- getParameterNames();返回可用参数名中的枚举
- getParameterValues();返回包含参数name的所有值得数组
- setCharacterEncoding();设置字符编码格式
- getCharacterEncoding();返回字符编码格式
- getContentType();返回请求体的MIME类型
- getInputStream();返回请求中的二进制流
- getProtocol();返回请求用的协议类型及版本号
- getServerPort();返回服务器接受此请求所用的端口号
3.response
response对象包含了响应客户请求的有关信息。
- getCharacterEncoding();返回响应用的是何种字符编码
- getOutputStream();返回响应的一个二进制输出流
- getWriter();返回一个向客户端输出字符的对象
- setContentType(String type);设置响应的MIME类型
- sendRedirect(String location);重定向客户端请求
4.session
session对象指客户端与服务端的一次会话,从客户端连接到服务器开始,知道断开连接为止。
- setAttribute(String name,Object obj);设置属性的值
- getAttribute(String name);返回属性值
- getAttributeNames;返回可用参数名中的枚举
- getCreationTime();返回session创建时间
- getId();返回session创建的唯一ID号
- getLastAccessedTime();返回此session里客户端最近一次请求时间
- getMaxInactiveInterval();返回两次请求间隔多长时间此session被取消(ms)
- getValueNames();返回一个包含此session中所有可用属性的数组
- invalidate();取消session,使得session不可用
5.application
application作用范围是于服务器启动,知道服务器关闭,是一个全局变量,用户之间可以通过application进行数据共享。
- getAttribute(String name);返回属性值
- setAttribute(String name,Object obj);设置属性值
- getAttributeNames();返回所有可用属性名的枚举
- removeAttribute(String name);删除属性名及对应的属性值
- getRealPath(String path);返回虚拟路径的真实路径
- getContext(String s)返回指定webApplication的application对象
- getMimeType(Stirg file);返回指定文件的MIME类型
- getResource(String path);返回指定资源(文件及目录)的URL路径
- getResourceAsStream(String path);返回指定资源的输入流
- getRequestDispatcher(String s);返回指定资源的requestDispathcer对象
- getServlets();返回所有servlet的枚举
- getServlet(String name);返回指定名的servlet
- getServletNames();返回所有servlet名的枚举
6.config
config对象是在一个servlet初始化时,准备一个传递信息的对象,此对象中包含了servlet初始化使用的参数以及服务器的有关信息。
7.page
page对象表示当前jsp页面对象,类似与java中的this指针,指向本身,是一个java.lang.Object类的实例
8.out
out对象是JspWriter类的实例,常用于向客户端输出内容。
- write(T val);输出
- clear();清空out缓冲区
- flush();强制刷新
- clear();关闭输出流
9.exception
异常处理对象,当页面运行报错,就产生了这个对象。如果要在jsp页面中使用该对象,需要将isErrorPage设置为true
- getMessage();返回描述异常的消息