当前位置: 代码迷 >> Web前端 >> request.getParameter()跟request.getAttribute()的不同
  详细解决方案

request.getParameter()跟request.getAttribute()的不同

热度:731   发布时间:2012-11-21 08:23:25.0
request.getParameter()和request.getAttribute()的不同

今天刚学了这个,和大家分享下,有啥错误请多多指教。

?

?

1.利用request.getParameter()方法取到的数据,是从Web客户端传到Web服务器端上的,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

2.request.setAttribute()和getAttribute()只是在web容器内部流转,request中的值仅仅是请求处理阶段有效(request的生命周期是开始一个请求,请求得到响应.),request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部

(通俗的说法就是request.getParameter()是从服务器上取值的;request.getAttribute()是从内置对象中取值的.)

举个例子很好懂的:


test1.jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="test.jsp">
??? username:<input type="text" name="username">
??? <br>
??? password:<input type="text" name="password">
??? <input type="submit" value="提交">
</form>
</body>
</html>

?

test2.jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%=request.getParameter("username") %><%--request.getParameter()能取到值--%>
<%=request.getAttribute("password") %><%--注意request.getAttribute()取不到值--%>
</body>
</html>

  相关解决方案