jsp/servlet相关技术 (五) --- jsp内置对象(二)

来源:互联网 发布:网络歌手小右照片 编辑:程序博客网 时间:2024/06/06 02:56

1、request对象

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

        除此之外,request课代表本次请求的范围,所以还可用于操作request范围的属性。

        1、获取请求头/请求参数

        web应用是请求/响应架构的应用,浏览器发送请求时通常会附带一些请求头,还可能包含一些请求参数发送给服务器,服务器端负责解析请求头/请求参数的就是jsp或servlet,而jsp和servlet获取请求参数的途径就是request。request是httpservletrequest接口的实例,它提供了如下的方法获取请求参数。

        ①string  getparameter(string  paramname):获取paramname请求参数的值。

        ②map    getparameter():获取所有请求参数名和参数值所组成的map对象。

        ③enumeration    getparameternames():获取所有请求参数名所组成的enumeration对象。

        ④string 【】  getparametervalues(string  name):paramname请求参数的值,当该请求参数有多个值时,该方法将返回多个值所组成的数组。

        httpservletrequest提供了如下方法来访问请求头

        ①string  getheader(string  name):根据指定请求头的值。

        ②java.util.enumeration<string>   getheadernames():获取所有请求头的名称

        ③java.util.enumeration<string>   getheaders(string  name):获取指定请求头的多个值

        ④int   getintheader(string   name):获取指定请求头的值,并将该值转为整数值

        请求参数和请求头都是由用户发送到服务器的数据,区别在于请求头通常由浏览器自动添加,因此一次请求中总是包含若干请求头;而请求参数需要进行手工添加。客户端发送请求参数通常分为两种情况。

        ①get请求:get方式的请求会将请求参数的名和值转换成字符串,并附加在原url之后,因此可以在地址栏看到请求参数的名和值。而且get请求传送的数据量较小,已办不能大于2kb。

        ②post请求:post方式通常使用提交表单的方式来发送。post方式传输的数据量较大,通常认为post请求参数的大小不受限制,但取决于服务器的限制,post请求传输的数据量比get大,而且请求参数及对应的值放在html   deader中传输,用户不能在地址栏中看到请求参数值。

         并不是每个表单域都会生成请求参数的,而是有name属性的表单域才会生成请求参数。请求参数和表单域的关系如下:

         ①每个有name属性的表单域对应一个请求参数

         ②若果有多个表单域有相同的name属性,则多个表单域只生成一个请求参数,只是该参数有多个值

         ③表单域的name属性指定请求参数名,value指定请求参数值。

         ④如果某个表单域设置了disabled = “disabled”属性,则该表单不在生成请求参数。

          2、操作request范围的属性

          httpservletrequest包含2个方法,用于设置和获取request范围的属性。

                 setattribute(string   attname,  object   attvalue):将attvalue设置成request范围的属性。

                 object   getattribute(string   attname):获取request范围的属性,

          当forward用户请求时,请求的参数和请求的属性都不会丢失。

           3、执行forward或include

           request还有一个功能就是执行forward和include,也就是代替jsp所提供的forward和include动作指令。

           httpservletrequest类提供了一个getrequestdispatcher(string   path)方法,其中path就是希望forward或include的目标路径,该方法返回requestdispatcher,该对象提供了如下两个方法:

           ①forward(servletrequest  request ,servletresponse  response):执行forward

           ②include(servletrequest request ,servletresponse response):执行include

          使用request的getrequestdispatcher(string  path)方法时,该path字符串必须以斜线开头。

2、response对象

         response代表服务器对客户端的响应。

         out是 jspwriter的实例,jspwriter是writer的子类,writer是字符流,无法输出非字符内容,例如在jsp动态生成一副位图、或者一个pdf文档,则需要使用response作为响应输出。

         1、response响应生成非字符响应

          

          使用这种方式可以实现图形验证功能,还可以直接生成pdf文件、excel文件等。

          2、重定向

          重定向会丢失所有的请求参数和request范围的属性,因为重定向会生成第二次请求。

          httpservletresponse提供了一个sendredirect(string  path)方法,该方法用于重定向到path资源,即重新向path资源发送请求。

          3、增加cookie

          cookie通常用于网站记录客户的某些信息。cookie与session的不同在于:session会随浏览器的关闭而失效,但cookie会一直存放在客户端的机器上,除非超出cookie的生命期限。

          增加cookie使用response内置对象完成的,response对象提供的方法:

          void   addcookie(cookie    cookie):增加cookie

          增加cookie按如下进行:

          ①创建cookie实例,cookie的构造器为cookie(string name,string value)

          ②设置cookie的生命期限,即cookie在多长时间内有效

          ③向客户端写cookie

3、session对象

         session对象代表一次用户回话,一次会话为:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开为止,这个过程就是一次会话。

         session通常用于跟踪用户的回话信息。

         session对象时httpsession的实例,httpsession有如下的方法:

         ①setattribute(string  attname,object  attvalue):设置session范围内的attname属性的值为attvalue。

         ②getattribute(string   attname):返回session范围内attname属性的值。

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 蓝牙不小心点到忽略此设备怎么办 千牛工作台无线开店确认不了怎么办 开通诚信通后营业执照注销了怎么办 淘宝标的货跟发的不一样怎么办 wps表格里单元之间重叠了怎么办 淘宝店铺停了一段时间没了怎么办 转转买家收货为敲诈卖家怎么办 淘宝被投诉盗用官网图片怎么办 淘宝订单买下后卖家告知无货怎么办 盗图被删除还是待处理违规该怎么办 如果买家说你们的买家秀一样怎么办 花呗唤起安全核身验证失败怎么办 淘宝买东西花呗分期额度不够怎么办 支付宝余额支付额度已达上限怎么办 我是淘宝卖家遇到无良买家怎么办 我的保证金被淘宝当做违约金怎么办 淘宝顾客不想退货申请仅退款怎么办 被买家提供证明说我卖假货怎么办 淘宝退货快递公司填错了俩次怎么办 淘宝上退货把运单号写错了怎么办? 阿里巴巴发货了快递单号掉了怎么办 淘宝上买东西货物被物流扣留怎么办 淘宝买错了对方已发货怎么办 淘宝卖家发货的时候没货了怎么办 买了球显示未出票中奖了怎么办 点错了允许易企秀获得权限怎么办 淘宝还没发货商家拒绝退款怎么办 买家不补邮费还要你发货怎么办 天猫客服提示获取信息失败怎么办 拼多多下单了商家不发货怎么办 店铺扣2分宝贝降权了怎么办 淘宝店没订单没流量怎么办啊 淘宝id账号登录密码忘记了怎么办 淘宝网店铺授权客服联系不上怎么办 卖家发货买家查不到物流信息怎么办 物流信息到了但东西没到怎么办 淘宝详情已更改对方恶意投诉怎么办 淘宝店写的不给退换怎么办 从饿了么商家借款逾期怎么办 谷歌浏览器网页无法复制文字怎么办 复制粘贴在文件本里找不到了怎么办