JavaWeb中application、session、request对象整理复习

application、session和request对象主要作用是用于Web应用中JSP和servlet之间数据的交换。就像现实生活中有两个人,他们有钱需要交换,但两人又不能接触,那么只能让A将钱存入银行,然后由B去银行去取。application、session、request就相当于存钱的银行。
一、application对象(代表JSP所属的web应用本身)

application对象是对整个web应用有效的,一旦JSP、servlet将数据放入application中,则数据能被该应用下所有的JSP和servlet访问。

application对象的主要作用:

  1. 在整个web应用的多个JSP和servlet之间交换数据。
application.setAttribute(String attrName,Object value);//向application对象中放入数据
application.getAttribute(String attrName);//从application中取出数据
  1. 访问web应用的配置参数。
String driver=application.getInitParameter("driver");
String url=application.getInitParameter("url");
String user=application.getInitParameter("user");
String password=application.getInitParameter("password");
//访问web应用的配置参数

这些配置参数是应该在web.xml中使用在标签配置的

driver
com.mysql.jdbc.Driver

二、session对象(代表一次用户会话)

一次会话的含义是:从客户端浏览器链接服务器开始到客户端浏览器与服务器断开为止。

session对象的主要作用:

  1. 用于跟踪用户的会话信息,如判断用户是否登录系统,或者在购物车应用中,跟踪用户购买的商品等。
  2. session范围内的属性可以在多个页面的跳转之间共享。一旦关闭浏览器,及session结束,session范围内的属性将全部丢失。
Map<String,Integer> itemMap=(Map<String,Integer>)session.getAttribute("itemMap");//从session中取出数据
session.setAttribute("itemMap",itemMap);//向session中放入数据

三、request对象(仅对本次请求有效)

request对象是JSP中重要的对象,每个request对象封装着一次用户请求,并且所有请求参数都被封装在request对象中,因此request对象是获取请求参数的重要途径。

request对象的作用:

  1. 获取请求头/请求参数
String getParameter(String paramName);//获取paramName情趣参数的值
Map getParameterMap();//获取所有请求参数名和参数值所组成的Map对象
Enumeration getParamterNames();//获取请求参数名所组成的Enumeration对象
String[] getParameterValues(String name);//parameter请求参数的值,当请求参数有多个值时,该方法将返回多个值组成的数组
String getHeader(String name);//获取指定请求头的值
java.util.Enumeration<String> getHeaderNames();//获取所有请求头的值
java.util.Enumeration<String> getHeaders(String name);//获取请求头的各个值
int getIntHeader(String name);//获取指定请求头的值并将该值转为整数值

发送请求头的两种方式:
GET方式请求:直接在浏览器地址栏输入访问地址所发送的请求或提交表单发送请求时,该表单对应的form元素没有设置method属性,或设置method属性为GET,这几种请求都是GET方式的请求。GET方式请求会将请求参数的名和值转换为字符串,并附加在原URL之后,因此可以在地址栏中看到请求参数名和值。且GET请求传送的数据量较小,一般不能大于2KB。
POST方式请求:这种方式通常使用提交表单(由 form HTML元素表示)的方式来发送,且需要设置form元素的method属性为post。POST方式传送的数据量较大,通常认为POST请求参数的大小不受限制,但往往取决于服务器的限制,POST请求传送的数据量总比GET传送的数据量大。而且POST方式发送的的请求参数以及对应的值放在HTML Header中传输,用户不能在地址栏看到请求参数值,安全性相对较高。

  1. 操作request范围属性
request.setAttribute(String attName,Object attValue);//将attValue设置成request范围的属性
request.getAttribute(String attName);//获取request范围内属性
  1. 执行forWord或include
    request还有一个功能就是执行forword和include,也就是代替JSP所提供的forword和include动作指令。
getRequestDispatcher("/a.jsp").include(request,response);
getRequestDispatcher("/a.jsp").forword(request,response);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值