request.getParameter()和request.getAttribute()的区别

  1. 以下内容来自:www.javaThinker.org   这是孙卫琴的解释   
  2.     
  3. HttpServletRequest类既有getAttribute()方法,也由getParameter()方法,这两个方法有以下区别:   
  4.   
  5. 1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法   
  6.   
  7. 2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,例如假定welcome.jsp和authenticate.jsp之间为链接关系,welcome.jsp中有以下代码:   
  8.   
  9. <a href="authenticate.jsp?username=weiqin">authenticate.jsp </a>   
  10.   
  11. 或者:   
  12.   
  13. <form name="form1" method="post" action="authenticate.jsp">   
  14.   请输入用户姓名:<input type="text" name="username">   
  15.   <input type="submit" name="Submit" value="提交">   
  16. </form>   
  17.   
  18. 在authenticate.jsp中通过request.getParameter("username")方法来获得请求参数username:   
  19.   
  20. <% String username=request.getParameter("username"); %>   
  21.   
  22. 3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。假定authenticate.jsp和hello.jsp之间为转发关系。authenticate.jsp希望向hello.jsp传递当前的用户名字,如何传递这一数据呢?先在authenticate.jsp中调用setAttribute()方法:   
  23.   
  24. <%   
  25. String username=request.getParameter("username");   
  26. request.setAttribute("username",username);   
  27. %>   
  28.   
  29. <jsp:forward page="hello.jsp" />   
  30.   
  31. 在hello.jsp中通过getAttribute()方法获得用户名字:   
  32.   
  33. <% String username=(String)request.getAttribute("username"); %>   
  34. Hello: <%=username %>  

你可能感兴趣的:(jsp,Web,String,action)