Session 用户登录后的用户会话范围在mysql中存储会话范围的数据

Session 用户登录后的用户会话范围在mysql中存储会话范围的数据,session,jstl,sessionid,Session,Jstl,Sessionid,我是新使用会话管理的&我使用struts和MySQL作为后端。我正在开发一个简单的时间表应用程序。我的要求是,当用户成功登录到登录页面时,他应该能够添加保存在该用户会话范围内的工作或任务。类似地,他应该能够只查看时间表数据,就像从数据库中检索数据的正常会话范围。在没有Action classJava源的情况下,是否可以使用JSTL标记进行会话范围的后端交互。请从头到尾讲述一个简单详细的实施过程 我对如何让存储在一个表或数据库中的所有用户数据在用户会话范围内工作感到困惑。如果不是,数据应该如何存储

我是新使用会话管理的&我使用struts和MySQL作为后端。我正在开发一个简单的时间表应用程序。我的要求是,当用户成功登录到登录页面时,他应该能够添加保存在该用户会话范围内的工作或任务。类似地,他应该能够只查看时间表数据,就像从数据库中检索数据的正常会话范围。在没有Action classJava源的情况下,是否可以使用JSTL标记进行会话范围的后端交互。请从头到尾讲述一个简单详细的实施过程


我对如何让存储在一个表或数据库中的所有用户数据在用户会话范围内工作感到困惑。如果不是,数据应该如何存储并分配给每个用户?请解释一下。

其实很简单

对于Struts,每个请求都会发送到Struts servlet,后者会将其发送到Struts操作

Struts操作从操作表单中获取来自用户的输入数据。它还可以访问会话。利用所有这些信息,它可以从数据库中获取数据,并将这些数据作为JavaBean存储到请求属性中

然后,该操作返回一个向前的操作,Struts servlet将请求转发到相应的JSP页面。此JSP页面通过操作使用存储在请求属性中的数据生成HTML

因此,在登录之后,您应该拥有会话中经过身份验证的用户的ID。操作可以使用此用户ID从属于此用户的数据库中获取数据:

select foo.id, foo.name, foo.description from FOO foo where foo.user_id = ?

不要试图从JSP中的数据库获取数据。JSP应该只生成HTML。Java代码的工作是从action类调用,从会话中获取用户ID,并使用此用户ID从数据库中获取数据。这就是Struts推广的MVC模式的全部要点。

会话管理应该在Actionclassjava类中完成。这意味着您的servlet类。这太广泛了,包含了很多问题,其中有些问题没有真正意义。如果你问一个关于特定问题的特定问题,你会得到更好的回答。我只是想让你知道,除非你稍微修改一下,否则这个问题很有可能会被关闭。