请求参数并添加为会话属性

问题描述 投票:0回答:2

我被认为是一个课堂上的问题并且结果是0,但是我找不到它的错误。问题是编写您需要在servlet中使用的代码行,以从传入请求中检索参数并将其作为属性添加到会话中:

我的答案:

String param1= request.getParameter("param1");

HttpSession session= request.getSession();
String parameter1= (String)request.getAttribute("param1");
session.setAttribute("param1", parameter1);

另外,第二行是否需要'(String)'?还是只是好习惯?谢谢 :)

java session servlets attributes
2个回答
0
投票

你犯了一个非常常见的错误,将属性与参数混淆。在您的代码中,您有:

String parameter1= (String)request.getAttribute("param1");

属性可以被认为是请求的元数据。例如,如果请求是通过SSL进行的,那么您可以从属性中获取有关请求的数据。有关更多详细信息,请查看documentation以获取getAttribute

另一方面,参数可用于获取URL参数。你的最后一个问题实际上指向正确的方向 - getParameter()已经返回一个字符串,所以你不需要投射它。

正确写上面的行应该是:

String parameter1= request.getParameter("param1");

0
投票

getParameter() - 用于从服务器端(java端)的请求中获取url参数。

如果要从java端获取任何值到jsp(视图端),可以在服务器端(Java端)使用setAttribute()并使用jsp中的getAttribute()获取值。

© www.soinside.com 2019 - 2024. All rights reserved.