0

我是 Java 编程新手,我正在尝试使用 Struts2、JSP 和 jQuery 开发一个 Web 应用程序,并使用 JNDI 实现方法手动 JDBC 连接到 PLSQL。

我试图了解如何在 Struts 2 中实现会话管理。我看到了一些示例,其中操作类实现了像这样的 SessionAware 拦截器,以及另一个实现 ServletRequestAware 拦截器的示例。

有人可以向我解释使用哪种方法。两者有什么区别,你会使用哪个,为什么?我的要求很简单。我有一个完全基于登录的网络应用程序。因为只有登录页面是公开的,其余的都在用户身份验证之下。有 2 个用户角色 - 管理员和一般。根据登录角色,它们要么被定向到仅限管理员的页面 1,2,要么被定向到仅限常规的页面 3,4。如何使用 Struts2 中的会话管理概念来实现这一点?

谢谢!

4

1 回答 1

0

SessionAware给你一个会话属性映射。

ServletRequestAware给你一个HttpServletRequest.

有点像他们的名字所暗示的。通过阅读他们的文档了解差异。

有多种方法可以实现登录/等。在 S2 中,您可以通过在登录过程中将用户对象放入会话中并在注销期间将其删除来扮演自己的角色,并拥有一个拦截器来检查会话中是否存在有效的用户对象。

您可以使用 Spring Security 并节省一些有关角色等的工作,但老实说,如果您不使用 Spring,编写一些非常简单的注释并让拦截器处理这些几乎同样容易。

于 2012-08-31T17:21:57.400 回答