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请求即可。
JSP Servlet之间交换数据的更多相关文章
- Java多线程之~~~使用Exchanger在线程之间交换数据[这个结合多线程并行会有解决很多问题]生产者消费者模型
http://blog.csdn.net/a352193394/article/details/39503857 Java多线程之~~~使用Exchanger在线程之间交换数据[这个结合多线程并行会 ...
- 使用 Bundle 在 Activity 之间交换数据
[toc] 使用 Bundle 在 Activity 之间交换数据 场景 当一个 Activity 启动另一个 Activity 时,常常会有一些数据需要传过去.因为两个 Activity 之间本来就 ...
- jsp和servlet之间传数据
一.jsp与java文件传递数据可以使用Servlet类来传递,jsp将数据存入到request对象中,Servlet类获取这个request对象,并将数据取出. 示例代码如下: JSP代码: < ...
- 建立、配置和使用Activity——使用Bundle在Activity之间交换数据
当一个Activity启动另一个Activity时,常常会有一些数据需要传过去——这就像Web应用从一个Servlet跳到另一个Serlvet时,Web应用习惯把需要交换的数据放入requestSco ...
- servlet之间传递数据的方式
Servlet传递数据方式 基本概述 Servlet传递数据的方式有很多,这里提供五种方式: 1.静态变量 2.HttpServletResponse的sendRedirect()方法 3.HttpS ...
- 使用Bundle在Activity之间交换数据
一:在main.xml文件中设置布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...
- python多进程程序之间交换数据的两种办法--Queue和Pipe
合在一起作的测试. #!/usr/bin/env python # -*- coding: utf-8 -*- import multiprocessing import random import ...
- jsp与后台交换数据(安全目录外)
function changebasin(rivername,codepollute){ $.ajax({ type: "POST", url: "${ctx}/wate ...
- JSP/Servlet(一)
JSP/Servlet(一) Web应用和web.xml文件: 一.构建Web应用: 1.在任意目录下创建一个文件夹. 2.在第1步所建的文件夹内建一个WEB-INF文件夹(注意大小写). 3.进 ...
随机推荐
- [Checking for libstdc++-4.4.4-13.el6-i686; Not found. Failed] 的解决。
单纯 yum install libstdc++-4.4.4.i686 是不行的. 应该安装 yum install libstdc++-devel.i686 顺带就能装上需要的lib 真够变态的. ...
- WPF资源
在WPF中.有着两种资源, 一种是组件资源:又被称为程序集资源,以二进制存在编译后的程序集中,通常用于存放图片或其他音频文件. 第二种是对象资源:通常放于xaml中.比如WPF的样式和数据绑定特性. ...
- 微信小程序-TabBar功能实现
要实现tabbar的导航条其实很简单,我们要实现全局的tabbar只需要在app.json文件中定义即可,局部的就在局部的tabbar文件中实现. 来看看app.json代码: { "pag ...
- php---------字符串转义函数(addslashes,stripslashes)
在PHP中,有两个函数与字符串的转义有关,他们分别是 addslashes 和 stripslashes. addslashes($string), 在指定的预定义字符前添加反斜杠 (\),用于为存储 ...
- 取出当前会话的sid、process_id.sql
select distinct sess.SID db_sid, sess.SERIAL# db_serial#, process. ...
- ps怎么替换颜色
1.图像--->>调整--->>替换颜色
- HTTP相关知识点
一.工作原理 HTTP协议工作于客户端-服务器架构上.浏览器作为HTTP客户端通过URL向HTTP服务端(即web服务端)发送所有请求. Web服务器接收到请求后,向客户端发送相应的响应信 ...
- SGU 144. Meeting 概率dp 几何概率分布 难度:0
144. Meeting time limit per test: 0.25 sec. memory limit per test: 4096 KB Two of the three members ...
- 使用Array类处理基本数组对象
java里面的Arrays类有个asList方法,参数是1或多个Object对象,如果传入一个Object数组,则可以将该数组转化为List,但如果传入的是一个基本类型的数据(int,long,sho ...
- L203 词汇题
Conditions for the growth of this plant are optimum in early summer.we will live as free people, not ...