我是Java编程的新手,我正在尝试使用Struts2,JSP和jQuery开发一个带有JNDI实现方法的PLSQL手动JDBC连接的Web应用程序。
我正在尝试理解如何在Struts 2中实现会话管理。我看到了一些示例,其中action类实现了SessionAware拦截器,如this,另一个example实现了ServletRequestAware拦截器
有人可以向我解释使用哪种方法。两者之间有什么区别,你会使用哪些?为什么?我的要求非常简单。我有一个完全基于登录的Web应用程序。因为只有登录页面是公共的,所有的都是在用户身份验证下。有2个用户角色 - 管理员和常规。根据登录角色,它们将被定向到仅限管理员的第1,2页或仅适用于通用的第3,4页。如何使用Struts2中的会话管理概念实现这一点?
谢谢!
答案 0 :(得分:0)
SessionAware
为您提供会话属性地图。
ServletRequestAware
会为您提供HttpServletRequest
。
有点像他们的名字暗示。通过阅读他们的文档来了解差异。
有许多方法可以实现登录/等。在S2中,您可以通过在登录过程中将用户对象置于会话中并在注销期间将其删除来自行编写角色,并使用拦截器检查会话中是否存在有效的用户对象。
你可以使用Spring Security并保存一些关于角色等方面的工作,但老实说,如果你不使用Spring,那么编写一些非常简单的注释并让拦截器处理这些注释几乎一样容易。 / p>