最近在学java_web的时候,总觉得这两个问题喜欢混淆,这里写一下我自己的理解
request.getParameter() 方法传递的数据,会从Web客户端传到Web服务器端,数据通过GET或POST方法传递,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。getParameter(String string)中传的参数就是客户端页面上的name键,该方法返回的就是name对应的值,即value
request.setAttribute() 和 request.getAttribute() 方法传递的数据只会存在于Web容器内部,setAttribute(String string ,Object obj)方法中传递的参数是键值对,键是String,值是Object的对象.例如A_Servlet和B_Servlet之间数据请求转发,通过在A_Servlet里面request.
setAttribute(String string ,Object obj)
后,再通过getRequestDispather(B_Servlet).forward(request,response),就可以时间A,B之间的数据转发.B_Servlet再通过request.getAttribute(String string,Object obj)拿到传过来的数据
还有一点就是,HttpServletRequest 类有 setAttribute() 方法,而没有setParameter() 方法,因为数据是从客户端传过来的,不需要set