JSP(Java Server Page)九大内置对象

× Web程序的请求相应模式(请求[request]、响应[response])

× form method="get"和method="post"提交方式的区别
                                                                   
        1.get:以明文形式通过url进行参数的传递,数据能在url获取,提交的数据最多不超过2KB,安全性低但效率比post高。        
            适用于提交数据量不大,安全性不高的数据。eg:搜索、查询等                            
        2.post:将用户提交的信息封装在HTML HEAD内。                                      
            适用提交数据量大,安全性高的用户信息。eg:注册、修改、上传                             
                                                              

×请求转发与请求重定向的区别

操作名 行为 方法 描述
请求重定向 客户端行为 response.sendRedirect("url path"); 相当于两次请求,前一次的请求对象不会被保存,且url地址会发生变化
请求转发 服务端行为 request.getRequestDispatcher("urlpath").forward(request,response); 一次请求,转发后请求对象会被保存,地址栏不会变化

通俗易懂点讲:

  重定向:这事不归我管,你自己走去XXX弄   (客户端行为)
     转发:这事不归我管,但我能帮你转交给XXX(服务端行为)

 

九大内置对象(out、request、response、session、application、page、pageContext、exception)

1.out对象(JspWriter类的实例,向客户端[浏览器]输出内容常用的对象)

  常用方法:

  1. void println(); 向客户端打印字符串。
  2. void clear(); 清除缓存区的内容,如果在flush之后调用会抛出异常。
  3. void clearBuffer(); 清除缓冲区的内容,如果在flush之后调用不会抛出异常。
  4. void flush(); 将缓冲区内容输出到客户端。
  5. int getBufferSize(); 返回缓冲区以字节数的大小,若不设缓冲区则为0。
  6. int getRemaining() 返回缓冲区剩余可用空间大小。
  7. boolean isAutoFlush(); 当缓冲区满时,是否自动清空,若否,则抛出异常。
  8. void close(); 关闭输出流。

2.request对象  |—1.HttpServletRequest的实例对象;
          |—2.客户端的请求信息被封装到该对象中,通过该对象获取信息,并且做出响应;
          |—3.该对象具有请求域,即在完成用户请求之前,该对象一直有效;

  常用方法:

  1. String getParameter(String param); 返回指定参数param的参数值。
  2. String[] getParameterValues(String param); 返回包含参数param的所有参数值的数组。
  3. void setAttribute(String param,Object obj); 将obj对象以param指明保存到request对象中。
  4. Object getAttribute(String param); 返回指定参数名的属性值。
  5. String getContextType(); 得到请求体的MIME类型
  6. String getProtocol(); 返回请求体的协议类型以及版本号
  7. String getServerName(); 返回接收请求体的服务器主机名
  8. int getServerPort(); 返回接收请求体的服务器的端口号
  9. String getCharacterEncoding(); 返回字符集编码
  10. void setCharacterEncoding(); 设置字符集编码
  11. int getContentLength(); 以字节数返回请求体的长度
  12. String getRemoteAddr(); 返回发送该请求的客户端IP地址
  13. String getRealAddr(); 返回虚拟路径的真实地址
  14. String getContextPath(); 返回上下文路径(项目名)

 3.response对象   |—1.HttpServletResponse的实例对象; 
              |—2.response对象包含了响应客户端请求的有关信息,但在JSP中很少直接使用它;
              |—3.该对象具有请求域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效;

  常用方法:

  1. String getCharacterEncoding(); 返回响应使用的字符编码
  2. void setContentType(String type); 设置响应的MIME类型
  3. PrintWriter getWriter(); 返回可以向客户端输出字符的一个对象
    (注意:PrintWriter与内置对象out的区别)
  4. sendRedirect(java.lang.String location); 重定向,重新定向客户端请求。

 4.session对象  |—1.HttpSession的实例(表示客户端与服务器的一次会话); 
            |—2.session是指用户浏览网站时,从进入网站开始便会产生session,直到浏览器关闭时,session也便随之销毁;
            |—3.session实际上是一个特定的时间观念;

  常用方法:

  1. long getCreationTime(); 返回session创建时的时间(单位 毫秒)
  2. String getId(); 返回session的ID(ID为JSP引擎设置)
  3. Object setAttribute(String name,Object obj); 使用指定名称将对象捆绑在此次会话中(设置自定义属性[name]、属性值[obj])
  4. Object getAttribute(String name); 返回此次会话中指定属性名的属性值,若不存在,返回null
  5. String[] getValueNames(); 返回一个包含此session中所有可用属性的数组
  6. int getMaxInactiveInterval; 返回该session的最大期限[单位 秒](若两次请求间隔超过期限时间,则该session将被销毁)
  7. voidsetMaxInactiveInterval(int second);设置session的最大期限[单位 秒]

   × session的生命周期

    『 1. 创建 - 当浏览器登录页面时便创建session

      2. 活动

      3. 销毁  - 方式一:session.invalidate();

         - 方式二:session超出最大期限 --- Tomcat默认期限为30分钟
         设置最大期限:
             1) 调用方法[setMaxInactiveInterval]
             2) 在web.xml配置 [ 单位 分钟] 
               <session-config>
                <session-timeout>10</session-timeout>
              </session-config>

         - 方式三:服务器重启

      注意:当关闭该session相关的所有页面时,再次打开页面将会创建新的session

 5.Application对象   |—1.ServletContext的实例(实现用户间数据的共享,可存放全局变量); 
              (说白了就是游走于整个web应用的对象撒~)
               |—2.application对象随着服务器的启动而产生,随着服务器的关闭而消亡;
               |—3.在任何地方对application对象操作,都会影响其他用户的访问;

  常用方法:

  1. void setAttribute(String name,Object obj); 设置自定义属性[name]、属性值[obj]
  2. Object getAttribute(String name); 返回指定属性名的属性值,若不存在,返回null
  3. Enumeration getAttributeNames(); 返回所有可用属性名的枚举
  4. String getServerInfo(); 返回JSP(servlet)引擎号以及版本号

 6.page对象(指JSP页面本身)

  常用方法:

  1. class getClass(); 返回该Object的Class
  2. int hashCode(); 返回该Object的hash码
  3. boolean equals(Object obj); 判断该Object是否与指定的Object相等
  4. void copy(Object obj); 将该Object拷贝到指定的Object中
  5. Object clone(); 克隆该Object,返回新的Object
  6. String toString(); 将该Object对象转换成String对象
  7. void notify(); 唤醒一个等待的线程
  8. void notifyAll(); 唤醒所有等待的线程
  9. void wait(int timeout); 使一个线程处于等待状态,直到timeout结束或者被notify(唤醒)
  10. void wait(int timeout); 使一个线程处于等待状态,直到被notify(唤醒)

 7.pageContext对象   |—1.pageContext的实例(对JSP页面所有对象以及名称空间的访问); 
                 |—2.能获取当前页面的session、application;

  常用方法:

  1. JspWriter getOut(); 返回当前客户端响应被使用的JspWriter流(out)
  2. HttpSession getSession(); 返回当前页中的HttpSession对象(session)
  3. Object getPage(); 返回当前页的Object对象(page)
  4. ServletRequest getRequest(); 返回当前页面的ServletRequest对象(request)
  5. ServletResponse getResponse(); 返回当前页面的ServletResponse对象(response)
  6. void setAttribute(String name,Object); 设置自定义属性[name]、属性值[obj]
  7. Object getAttribute(String name,int scope); 返回指定范围内指定属性名的属性值,若不存在,返回null
  8. int getAttributeScope(String name); 返回某属性的作用范围
  9. void forward(String utlPath); 转发到urlPath页面
  10. void include(String utlPath); 当前位置包含另一个文件

 8.config对象(当servlet初始化时,JSP引擎向它传递信息,包括参数(形式以键值对呈现)以及服务器的有关信息
    说白了就是在serlvet初始化的时候将config以参数形式传递给servlet的构造方法

  常用方法:

  1. ServletContext getServletContext(); 返回含有服务器相关信息的SerlvetContext对象
  2. String getInitParamter(String name); 返回初始化参数的值
  3. Enumeration getInitParamterNames(); 返回Serlvet初始化所需所有参数的枚举

 9.exception对象(异常对象,当一个页面运行过程中发生异常,便会产生该对象)
    当一个JSP要应用该对象,则必须在page指令内将isErrorPage设为true,且在可能会发生错误的页面的page指令中设置 errorPage="JspPageName" 来指定该页面

  常用方法:

  1. String getMessage(); 返回描述异常的消息
  2. String toString(); 返回关于异常的简短描述信息
  3. void printStackTrace(); 显示异常以及其栈轨迹
  4. Throwable FillInStakTrace(); 重写异常的执行栈轨迹
时间: 2024-10-23 09:23:19

JSP(Java Server Page)九大内置对象的相关文章

java:(九大内置对象,计算服务器访问次数,filter过滤器)

1.九大内置对象: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page isErrorPage="true" %><!-- 默认是隐藏的false --> <%@ page session="true" %><!-- session默认是显示的true

JSP三大指令,九大内置对象,JSP动作标签,EL表达式与函数库

JSP三大指令 ---------------------------------------------- 一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:格式:<%@page language="java" info="xxx"...%> * pageEncoding和contentType: > pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.jav

jsp三大指令,九大内置对象,JSP动作标签,EL表达式及函数库

JSP三大指令 一个jsp页面中,可以有0~N个指令的定义! page –> 最复杂:格式:<%@page language="java" info="xxx"-%> pageEncoding和contentType: pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding! contentType:它表示添加一个响应头:Content-Type!等同于r

jsp运行原理与九大内置对象

1:IE浏览器中输入http://localhost/demo/index.jsp 2:IE浏览器默认找servlet,输入index.jsp请求后,jsp引擎会把jsp翻译为 Servlet,保存在tomcat/work/.../index_jsp.java中,在编译为字节码到内存 Servlet调用service()方法,对jsp页面进行处理输出到IE 调用service()方法时,里面定义了9大内置对象供jsp调用 1:Request                      5:Conf

Java Web学习(11):JSP九大内置对象(一)

在学习九大内置对象之前先来看看Web应用程序的请求响应模式. Web应用程序请求响应模式 Web应用程序的请求响应模式图示: 1)用户发送请求(request) 2)服务器给用户响应(response) 生活案例: JSP九大内置对象一览 JSP内置对象是Web容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明,也就是不使用 new关键字就可以使用的内置对象.JSP内置对象也被称为预定义变量. 九大内置对象为: 九个内置对象的简介见下表: out对象 out对象是javax.

Java Web(五) JSP详解(四大作用域九大内置对象等)

前面讲解了Servlet,了解了Servlet的继承结构,生命周期等,并且在其中的ServletConfig和ServletContext对象有了一些比较详细的了解,但是我们会发现在Servlet中编写一些HTML代码,是很不方便的一件事情,每次都需要out.println(HTML); 因此就出现了JSP,来解决这样的问题,JSP中的内容就是html,但是能够嵌套java语言,现在来详细了解一下JSP. --WH 一.JSP 1.什么是JSP? JSP(Java Server Pages):是

Java Web学习(13):JSP九大内置对象(三)

application对象 什么是application? 服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application 对象都是同一个,直到服务器关闭.但是与session不同的是,所有客户的application对象都是同一个,即所有客户 共享这个内置的application对象. appliaction对象 application对象直接包装了servlet的ServletContext类的对象,是javax.servlet.Se

Java——JSP/九大内置对象/四大域对象

一.JSP:(java service pages):是JavaWeb服务器端的动态资源: //它与html页面的作用是相同的,显示数据和获取数据: 二.JSP代码组成:html + Java脚本(代码片段) + JSP动态标签: 三.JSP三大指令:<%@ 指令 属性名="值" %> 1.page:<%@ page language="java" contentType="text/html; charset=UTF-8" p

JSP九大内置对象和四种属性范围解读

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文首先主要解说了JSP中四种属性范围的概念.用法与实例. 然后在这个基础之上又引入了九大内置对象,并对这几大内置对象一个一个的进行分析的解读.内容非常具体,例子都附有代码和执行的结果截图. 本文project下载 一.四种属性范围 1.1.在JSP中提供了四种属性保存范围 page:在一个页面内保存属性.跳转之后无效request:在一次服务请求范围内.server跳转后依旧有效se