JSP九大隐式对象
因为jsp实质是一个Servlet对象:jsp在第一次访问时会被Web容器翻译成Servlet,在执行过程:第一次访问---->inex.jsp---->index_jsp.java---->编译运行
比如我们新建一个index.jsp对象,则可以在Tomcat的work目录查到index_jsp.java和index_jsp.class,该class文件就是一个Servlet,Servlet容器就会按照处理Servlet处理它
通过看源码可知
,该类继承了HttpJspBase,而HttpJspBase是HttpServlet一个子类,所以该类是一个Servlet
我们知道Servlet有service方法,而在service方法中有九个对象定义并初始化完成,我可以在直接在jsp脚本使用这九个对象,这九个对象就是jsp九大隐式对象
名称 类型 描述 out javax.servlet.jsp.JspWriter 用于页面输出 request javax.servlet.http.HttpServletRequest 得到用户请求信息, response javax.servlet.http.HttpServletResponse 服务器向客户端的回应信息 config javax.servlet.ServletConfig 服务器配置,,可以取得初始化参数 session javax.servlet.http.HttpSession 用来保存用户的信息 application javax.servlet.ServletContext 所有用户的共享信息 page java.lang.Object 指当前页面转换后的Servlet类的实例 pageContext javax.servlet.jsp.PageContext JSP的页面容器 exception java.lang.Throwable 表示JSP页面所发生的异常,在错误页中才起作用
out对象:类型是JspWriter,它的作用是通过out.write()将页面信息向客户端。out的默认缓冲区是8kb,可在<%@ page %>里设置buffer,若buffer为0,则关闭out缓冲区,那么页面内容则写到response缓冲容器中。
request对象:是客户端向服务器发送的一个请求,请求包括请求行,请求头和请求体,我们可以相应的方法获取它们,最重要的是我们可以通过request相应的方法来获取客户端传来的数据,其中常用的方法有getParameter(String name)(通过参数name值获取值),返回对象是一个String类型,request.getParameterMap()(获取所有参数,参数封装到一个Map<String,String[]>数组里),返回值是Map<String,String[]>等方法。
response对象:是服务器相应客户端的一个对象,它可以设置相应行、头和体,可以重定向网页,设置输出缓冲。
fonfig对象:是javax.servlet.ServletConfig一个实例,可以获得web.xml初始化的参数。
session对象:将数据存储在服务器端,为每个客户端都创建一块内存空间存储客户的数据,但客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内存空间。我们可以通过request.getSession()获取当前会话的Session对象(有则获取,没有则会新创建一个)。由于session也是一个域对象,所以Session对象具有三个域操作方法session.setAttribute(String name,Object obj); session.getAttribute(String name); session.removeAttribute(String name);通过名字我们可知其意思。还有一点就是session默认生命周期是30分钟,但对服务器进行操作时开始计时。我们也可以在web.xml中配置它的生命周期。当然我们也可以手动关闭,session.invalidate()(手动销毁session对象);
*****当浏览器关闭时,session对象没有被销毁,因为浏览器关闭并没有给服务器传来销毁session的消息,所以session还存在。但是重新打开浏览器,就找不到之前的session呢?因为当关闭浏览器时cookie也就不存在了,有英文Servlet容器把session标识ID作为一个cookie保存在客户端浏览器中,所以我们就不能找到之前的session。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/41386.html
- 上一篇:上传OSS报错
- 下一篇:[PHP] Workerman中的注册树模式