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.进 ...
随机推荐
- CSS 再学习,基础篇
语法 h1 {color:red; font-size:14px;} 共享声明 h1,h2,h3,h4,h5,h6 { color: green; } 继承 通过 CSS 继承,子元素将继承最高级元素 ...
- [原][译][osgearth]样式表style中参数总结(OE官方文档翻译)
几何Geometry 高度Altitude 挤压Extrusion 图标Icon 模型Model 渲染Render 皮肤Skin 文本Text 覆盖Coverage 提示: 在SDK中,样式表的命名空 ...
- DataReader 绑定DataGridView有两种方式
第一种:借助于BindingSourcesqlDataReader Sdr=通过查询函数得到的sqlDataReader类型的数据;BindingSource Bs=new BindingSource ...
- 客户端链接Blog
Word 2013链接Blog 1.设置共享->发布至博客->发布至博客 2.新建博客账户 3.添加新建账户信息 注意:URL内为Blog名,而非用户名 a) 在"Type of ...
- CUDA Samples: dot product(使用零拷贝内存)
以下CUDA sample是分别用C++和CUDA实现的点积运算code,CUDA包括普通实现和采用零拷贝内存实现两种,并对其中使用到的CUDA函数进行了解说,code参考了<GPU高性能编程C ...
- CentOS安装Zabbix
rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm使用MySQL数据库 ...
- # 20155214 2016-2017-2 《Java程序设计》第6周学习总结
20155214 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 1.在Java中,输入/输出串流代表对象为java.io.InputStream,java. ...
- 7-19 PAT Judge(25 分)
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...
- yarn import 使用package-lock.json
yarn 1.7(目前最新的版本)支持npm 的package-lock.json 了 环境准备 安装更新yarn sudo npm install -g yarn 查看版本 yarn version ...
- poj1015陪审团——DP+路径记录
题目:http://poj.org/problem?id=1015 DP的第一维是选了几个人,第二维是当前D与P的差值,而值存的是当前D与P的和: 技巧1:通过平移避免负角标,即代码中的fix: 技巧 ...