request.getparameter、request.getattribute 区别

本文深入解析了HTTP请求中的参数获取与servlet间属性传递的机制,通过实例演示了如何在不同servlet间共享数据,理解request.getparameter与request.getattribute、request.setattribute的区别与应用。

request.getparameter:获取http请求(get/post)参数,得到的参数都是字符串,比如url、form (enctype=application/x-www-url-encoded)表单中的参数,因为http参数只能获取不能修改,所以只有getparameter方法,没有setparameter方法,这一点与setattribute、getattribute不同


request.getattribute、request.setattribute:用于在web容器内部传值,比如请求从servlet1转发(forward)到servlet2,正因为是用于在servlet之间传值,所以有request.setattribute方法,而且参数是object


明白了上述两点,我们就能懂,以下两个问题
1,假如有地址, http://www.baidu.com?name=baidu,获取name的值是用request.getparameter,而不是request.getattribute

2、请求a.jsp?age=22页面转发到b.jsp,在b.jsp中获取age的值,需要在a.jsp中先request.getparameter,再request.setattribute,然后b.jsp中request.getattribute,


a.jsp代码
<%
String age = request.getParameter("age");
request.setAttribute("age", age);
request.getRequestDispatcher("b.jsp").forward(request, response);
%>	




b.jsp代码
<%
Object age = request.getAttribute("age");
%>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值