zoukankan      html  css  js  c++  java
  • JSP内置对象

    ------------------siwuxie095

       

       

       

       

       

       

       

    out 对象

       

    out 对象是 javax.servlet.jsp.JspWriter 类的一个实例

       

       

    out 向客户端/浏览器输出各种数据

       

    「JSP 程序段中的 println() 和 newLine() 丢失了换行效果,可以使用 <br/> 换行」

       

       

       

    out 对象还负责对输出缓冲区进行管理

       

       

       

    JSP 默认的缓冲区大小是 8 KB,可以通过 page 编译指令进行设置

       

       

       

    out 使用 flush() 方法强制刷新服务器输出缓冲区里的数据,

    将之输出到客户端/浏览器

       

    因为 JSP 的 page 编译指令的 autoFlush 属性默认为 true,

    所以一般情况下,flush() 方法不会被显式调用

       

       

    out 的 clearBuffer() 和 clear() 方法都是清空缓冲区中的数据,

    只不过在 clear() 调用之前不能调用 flush(),否则会抛出异常

       

       

       

       

    request 对象

       

    request 对象是 javax.servlet.http.HttpServletRequest 类的一个实例

       

       

    request 封装了客户端/浏览器的请求信息

       

       

    对于 Web 应用程序而言,信息的流动应该是双向的,也就是说

    Web 应用程序不仅仅是向用户进行信息展示,还需要接收来自

    用户的输入(如:注册、评论)

       

    Web 应用程序接收到这些信息后,会进行相应的处理,并持久化

    到数据库中

       

       

    Web 应用程序获取提交的表单信息的方式正是通过 request 对象

       

    request 封装了从客户端向服务器发出的请求信息,通常包括用户

    提交的表单信息,以及客户端的其他信息(如:Cookie)

       

       

    使用 request 的 getParameter() 方法可以获取用户提交的表单数据

       

    request 的大部分方法都是用于处理客户端提交请求中的各种参数和选项

       

    如下:

       

    request.jsp:

       

       

       

       

    当表单信息为数组形式时,getParameter() 方法

    就无能为力了

       

    可以使用 setAttribute() getAttribute() 方法,

    二者用于在 Web 组件之间共享信息

       

    如下:

       

    register.jsp 用于录入表单信息

       

       

       

    do_register.jsp 用于处理表单信息:

       

       

       

    welcome.jsp 用于显示表单信息:

       

       

       

       

       

    response 对象

       

    response 对象是 javax.servlet.http.HttpServletResponse 类的一个实例

       

       

    response 封装了服务器的响应信息,即 对客户端的请求进行回应

       

       

    response 还负责处理 HTTP 连接信息,如:设置 http 文件头、Cookie 等

       

       

    使用 response 设置 http 文件头:

       

       

       

    使用 response 实现页面跳转:

       

       

       

    使用 response 设置 Cookie:

       

       

       

       

       

    session 对象

       

    session 对象是 javax.servlet.http.HttpSession 类的一个实例

       

       

    session 用来保存会话信息,即 可以在同一用户的不同请求之间共享数据

       

       

    HTTP 协议是无状态协议,即 每次客户端打开一个网页时都会单独

    打开一个服务器连接,服务器本身不会记录之前客户端请求的任何

    信息

       

    使用 session 进行辅助,就可以记录用户之前的请求信息,从而保证

    用户访问的连续状态

       

    session 可以看作是一个在服务器上的保管箱,JSESSIONID 是访问时

    从服务器发送到浏览器的 Cookie,也就是服务器保管箱的钥匙

       

    以后浏览器每次请求中会自动带上该 JSESSIONID,这样服务器就能

    识别出请求的发送者,从而判断用户是否有权限访问指定的保管箱

       

       

       

       

    Tomcat 的 Web 应用程序管理中心可以查看 Session Id 等信息:

       

    Tomcat Web Application Manager:http://localhost:8080/manager/html

       

       

       

       

    session 的基本方法:

       

       

       

    session 的失效时间可以通过部署描述符 web.xml 进行修改:

       

       

       

    web.xml WEB-INF 目录下,如果没有可以创建:

       

    点击选择工程名,右键->Java EE Tools->Generate Deployment Descriptor Stub

       

    (web.xml 是应用的部署描述符,它并不是 Web 项目所必需的)

       

       

    注意:修改后不会立即生效,需要先清理 Tomcat 的工作目录缓存

       

    选择 Tomcat,右键->Clean Tomcat Work Directory

       

       

       

    登录、注销中的 session 案例:

       

    login.jsp 是登录表单:

       

       

       

    do_login.jsp 执行登录逻辑:

       

       

       

    welcome.jsp 欢迎界面:

       

       

       

    logout.jsp 注销,退出登录:

       

       

       

       

       

    application 对象

       

    application 对象是 javax.servlet.ServletContext 类的一个实例

       

       

    application 代表了当前应用程序的上下文,可以在不同的用户之间共享信息

       

       

    application 代表了当前的应用程序,存在于服务器的内存空间中

       

    应用一旦启动,就会自动生成一个 application 对象

       

    如果应用没有被关闭,application 对象就会一直保持下去,直到应用被关闭才会被销毁

       

       

    相对于 session,application 的生命周期更长

       

       

    application 的特性为多个用户共享某些全局信息,提供了方便,如:共享当前的在线人数等

       

       

    application 的基本方法:

       

       

       

    application 实现一个计数器:

       

       

       

       

       

    config 对象

       

    config 对象是 javax.servlet.ServletConfig 类的一个实例

       

       

    config 封装了应用程序的配置信息,即 当前 JSP 程序的配置信息

       

       

    在实际项目中,JSP 一般用作模板技术,位于表示层,一般不需要读取

    配置文件中的初始化信息,所以 config 对象在 JSP 程序中很少使用

       

       

    config 在 Servlet 中作用更大,主要是用来配置 Servlet 的

       

       

    config 对象所封装的配置信息来自于应用的部署描述符 web.xml

       

       

    在 web.xml 文件中添加配置信息:

       

       

       

    config.jsp 中获取初始化信息:

       

       

       

       

       

    page 对象

       

    page 对象是 java.lang.Object 类的一个实例

       

       

    page 指向当前当前 JSP 页面本身,有点类似于 Java 编程的 this 指针

       

       

    page 的基本用法:

       

       

       

       

       

    exception 对象

       

    exception 对象是 java.lang.Throwable 类的一个实例

       

       

    exception 封装了 JSP 程序执行过程中发生的异常和错误信息

       

       

    exception 只有在包含 isErrorPage="true" 的页面中才可以

    被使用,在一般的 JSP 页面中使用该对象将无法编译

       

    如:

       

    throw_error.jsp 中指定 errorPage 为 handle_error.jsp

       

       

       

    handle_error.jsp 中将 isErrorPage 设为 true,使用 exception 处理异常

       

       

       

       

       

    pageContext 对象

       

    pageContext 对象是 javax.servlet.jsp.PageContext 类的一个实例

       

       

    pageContext 提供了对 JSP 页面所有对象以及命名空间的访问

       

       

    pageContext 比较特殊,是 JSP 页面中所有其他对象功能的一个最大集成者

       

    使用 pageContext 可以访问其他所有的 JSP 内置对象

          

    如:

       

       

       

       

       

    参考链接:

    参考链接1参考链接2参考链接3参考链接4参考链接5

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    c#redis使用
    不安全的HTTP方法(渗透实验)
    arguments.callee弃用与webuploader
    多线程系列1:经典卖票
    终于确定了系统lsass.exe占用cpu的根本原因了,速度来看一看!![转载]
    edit响应键盘的“咚咚”声音去掉
    delphi资源文件制作及使用详解
    MySQL server has gone away错误的解决办法
    MySQL server has gone away的解决方法
    MySQL
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/6687022.html
Copyright © 2011-2022 走看看