HttpServletRequest类既有getAttribute()方法,也由setAttribute()getParameter()方法;
HttpServletRequest类只有getParameter()方法;
当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,getParameter 得到的数据是String类型的,一般是用于读取提交的表单数据的值,或者是url中携带的数据,通过request.getParameter("username")方法来获得请求参数username。
request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据
当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。
getAttribute则可以是对象Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用;
getAttribute()是获取对象容器中的数据值;getAttribute()是获取SESSION的值;getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。
总之:request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。
request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。这两个方法能够设置Object类型的共享数据。