参数(parameter)和属性(Attribute)的区别

在JAVA WEB开发中经常遇到获取请求参数的值和在request对象中set或者get属性

1 区别:

  • 来源不同:

            parameter 由客户端用户提供的,从jsp/html取值。中若是GET方法是从URL中提供的,若是POST方法是从请求体提供的;

            attribute 是服务器端的组件(JSP或者Servlet)利用requst.setAttribute()设置的

  • 操作不同:

  1. parameter 的值只能读取不能修改,读取可以使用request.getParameter()读取;

  2. attribute 的值既可以读取亦可以修改,读取可以使用request.setAttribute(),设置可使用request.getAttribute()

  • 数据类型不同:   
  1. parameter 不管前台传来的值语义是什么,在服务器获取时都以String类型看待,并且客户端的参数值只能是  简单类型的值。 attribute 可以是任意一个Object类型。
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。

2 共同点

二者的值都被封装在request对象中。


3 使用技巧

Attribute:

多的用于展示页面,通常是程序员通过手动的方式将某个变量或者对象,在servlet或者acion中通过request.setAttribute()方法放入到request对象中,然后在页面中使用requestScope来进行数据的显示。

parameter:
request.getparameter则更多用在servlet或者action中,它的作用是接受表单或url传递过来的参数,比如你的jsp页面中的表单提交的数据。更多的应用于后台的方法中,它的参数不是程序员手动设置的,而是由表单来接受用户输入的值,会随着用户的请求被放入request对象中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值