gpt4 book ai didi

struts2 - 如何在struts2中设置和销毁 session 变量?

转载 作者:行者123 更新时间:2023-12-02 22:35:33 24 4
gpt4 key购买 nike

我是 Struts2 的初学者。我在 PHP 中使用,同时登录以将身份验证保存在 session 变量中,我可以在注销后销毁它。我想知道如何在 Struts2 中执行相同的过程:在登录时设置一个 session 变量,在注销时销毁它。万分感谢。

更新(一个额外的解决方案)

除了有用的答案和评论,我们还可以使用:

session.remove("session_var_name"); // instead of session.clear();

删除一个确切的 session 变量而不是删除所有 session 变量。谢谢大家。

最佳答案

您可以执行以下操作之一

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;
}
}

第二种选择,即实现 SessionAware 是首选,因为它使您免受 Servlet API 的影响。

关于struts2 - 如何在struts2中设置和销毁 session 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11505052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com