个人认为:
request.getAttribute():是request时设置的变量的值,用request.setAttribute("name","您自己的值");来设置值,
request.getParameter():提取发送过来的参数如:本网页
http://community.csdn.net/Expert/topic/4633/4633804.xml?temp=.3488123
request.getParameter("temp")==".3488123"

解决方案 »

  1.   

    request.getParameter
    是用来接受来自get方法或post方法的参数
    <form method=post>
    <form method=get>
    <a href="1.jsp?id=1">ok</a>
    只能接受java.lang.String
    也就是说String hotel_id = request.getParameter("hotel_id");
    request.getAttribute
    是用来接受来自servlet的变量或Action(其实Action就是特殊的Servlet)
    在Action中,request.setAttribute("ret",ret);
    只能接受java.lang.Object
    也就是说List ret = (List)request.getAttribute("ret");
    如果你只用JSP,根本用不到request.getAttribute()
      

  2.   

    request.getAttribute()和request.getParameter()的区别是request.getAttribute()获得的是对象类型,而request.getParameter()获得的是字符串类型
      

  3.   

    那如果我在action中用String type = "222";setAttribute("type",type)之后,能不能在forword页面里用String type = getParameter("type")接收呢?
      

  4.   

    一般的网页应用,如同 chenshaizi(陈绍彬) 所说,基本上是基于Post方式的传递,用getParameter取值。对于自己控制的,可以通过request.setAttribute和getAttribute 实现值得传递。
    对于应用Structs框架的,getAttribute用的多一点,其他的基本上用getParameter