在JAVA WEB开发中经常遇到获取请求参数的值和在request对象中set或者get属性
1 区别:
- 来源不同:
parameter 由客户端用户提供的,从jsp/html取值。中若是GET方法是从URL中提供的,若是POST方法是从请求体提供的;
attribute 是服务器端的组件(JSP或者Servlet)利用requst.setAttribute()设置的
-
操作不同:
-
parameter 的值只能读取不能修改,读取可以使用request.getParameter()读取;
-
attribute 的值既可以读取亦可以修改,读取可以使用request.setAttribute(),设置可使用request.getAttribute()
- 数据类型不同:
- parameter 不管前台传来的值语义是什么,在服务器获取时都以String类型看待,并且客户端的参数值只能是 简单类型的值。 attribute 可以是任意一个Object类型。
2 共同点
二者的值都被封装在request对象中。