zoukankan      html  css  js  c++  java
  • JSP Servlet之间交换数据

    摘自:《轻量级Java EE企业应用实战》第三版

    对于每次客户端请求而言,web服务器大致需要完成以下步骤:

    1、启动单独线程

    2、使用I/O流读取用户的请求参数

    3、从请求数据中解析参数

    4、处理用户请求

    5、生成响应数据

    6、使用I/O流向客户端发送请求数据

    1、2、6是通用的,由web服务器完成,3、4、5存在差异,因为不同请求里包含的请求参数不一样,处理用户请求的方式也不同,所生成的响应也不同,这3步由Servlet的_jspService()方法完成。当编写JSP页面时,页面的静态内容,jsp脚本都会转换成_jspService()方法的执行代码(注:jsp中的Java声明,即<%! ...... %>是jsp转换成servlet后的成员变量和成员方法,不在_jspService()方法中),这些代码负责完成解析参数、处理请求、生成响应等业务,而web服务器则完成多线程、网络通信等底层功能。

    JSP Servlet之间交换数据(个人感觉这里的servlet应该不是jsp编译后产生的那个servlet吧)

    application  session  request  page

    application:对于整个web应用有效,一旦jsp、servlet将数据放入session中,该数据将可以被该应用下其他所有JSP、servlet访问

    session:仅对一次回话有效,一旦jsp、servlet将数据放入session中,该数据将可以被本次会话的其他所有JSP、servlet访问

    request:仅对本次请求有效,一旦jsp、servlet将数据放入request中,该数据将可以被本次请求的其他JSP、servlet访问

    page:仅对当前页面有效,一旦jsp、servlet将数据放入page中,该数据只可以被当前页面的JSP脚本、声明部分访问

    session通常只应该存放与用户会话状态相关的信息。如果仅仅是为了两个页面交换信息,可以将该信息存放在request中,然后forward请求即可。

  • 相关阅读:
    链接脚本之LMA VMA解释
    centos6.2+nginx-1.2.3+php-5.3.17安装脚本
    _itemFailedToPlayToEnd: { kind = 1; new = 2; old = 0; }
    mongodb 学习笔记 04 -- 游标、索引
    WordPress中文汉字username不能注冊怎么办?
    UVALive 6665 Dragonas Cruller
    eclipse开发c++时cout和endl报错
    iOS 四种延时的方法
    有一种设计风格叫RESTful
    MySQL分区表
  • 原文地址:https://www.cnblogs.com/crane-practice/p/3754720.html
Copyright © 2011-2022 走看看