servlet requset作用域

来源:互联网 发布:达梦数据库客户端下载 编辑:程序博客网 时间:2024/05/20 12:47

servlet取值 并放入合适的作用域中

三个作用域request session application

request作用域 仅仅限于一次request 若果是转发结尾的 放入其中的值不会丢失,如果是重定向结尾的值就会消失。所以可以利用这个属性做单次的传值

action中

js代码

    $("#gaipai").click(function(){
            var arrs=new Array();
            $("input[name='id']:checkbox").each(function(){
                if($(this).attr("checked")){
                    arrs.push($(this).val());
                }
            });
            if(arrs.length==0 ){
                alert('请选择数据!');
                return ;
            }
            location.href=ROOT+"/mims/customer.do?method=goGaiPai&ids="+arrs.join(",");
            
        });


request.setAttribute("ids", request.getParameter("ids"));

return mapping.findForward("weipai");

其中js类型并没有做限制 可以是string list 或者map等等


jsp页面

<input type="hidden" id="ids" name="ids" value="${ids}" />

哈哈 仅仅用一个value="${ids}" 就可以了

这个方法其实也可以用于搜索条件回显



思考问题 购物车例子  所购的商品放到request中 ?session中?还是application中?

分析 request 用户选择一个商品 浏览另外一个商品 再次放入购物车 会发现之前所购商品消失了,因为之前所购商品仅仅存在上次请求之中。这个就会造成数据丢失

放到application中?a用户把购物车东西放到application中 b用户也放到application中 当b用户结账的时候 发现也顺便把a用户的商品结账了。

session 是针对每个浏览器的,服务器对每个浏览器创造了session 就是意味着不同电脑 不同浏览器创建的session都不相同 这个session存在的时间仅仅是半个小时。



0 0
原创粉丝点击