2 struts2 session-variables destroy
我是 Struts2 的初学者。我在 PHP 中使用,在记录时将身份验证保存在会话变量中,我可以在注销后销毁该变量。我想知道如何在 Struts2 中执行相同的过程:在登录时设置会话变量并在注销时销毁它。万分感谢。
更新(附加解决方案)
除了有用的答案和评论之外,我们还可以使用:
session.remove("session_var_name"); // instead of session.clear();
Run Code Online (Sandbox Code Playgroud)
删除一个确切的会话变量,而不是删除所有会话变量。谢谢你们。
您可以执行以下操作之一
public class MyAction extends ActionSupport implements ServletRequestAware
{
private HttpServletRequest httpServletRequest;
public void setServletRequest(HttpServletRequest request)
{
this.httpServletRequest = request;
}
public String login()
{
httpServletRequest.getSession(false).setAttribute("key", your_session_object);
return SUCCESS;
}
public String logout()
{
httpServletRequest.getSession(false).removeAttribute("key");
return SUCCESS;
}
}
public class MyAction extends ActionSupport implements SessionAware
{
private Map sessionMap;
public void setSession(Map map)
{
this.sessionMap = map;
}
public String login()
{
sessionMap.put(key, your_session_object);
return SUCCESS;
}
public String logout()
{
sessionMap.remove(key);
return SUCCESS;
}
}
Run Code Online (Sandbox Code Playgroud)
第二种选择(即实现)SessionAware是首选,因为它可以保护您免受ServletAPI 的影响。
| 归档时间: |
|
| 查看次数: |
19203 次 |
| 最近记录: |