问题标签 [session-scope]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
717 浏览

linux - Spring aop scoped-proxy 不适用于 linux 安装

我有一个被声明为会话范围的 bean。我必须在我的配置中启用 aop 才能在其他 bean 中使用它(默认为单例)。

confi

当我从 Eclipse 启动它时,在我的 Windows 台式计算机上,它运行得很好,正如它所声明的那样。但是,当我在我的测试 Linux 环境中发布它时,它会以某种方式忽略 aop 的事情,并引发错误

linux环境下的异常

日志文件中没有其他错误。不在网络应用程序日志中,也不在 catalina.out 中。我在tomcat 7.0.42和“CentOS release 6.5”上使用spring 3.2.4。

0 投票
0 回答
385 浏览

jsf - 为什么我们需要 ViewScoped bean 的 Serializable 而 SessionScoped 不需要它?

我们有一个 RequestScoped 托管 bean 工作正常。我们希望将其转换为 ViewScoped,以便我们可以减少每次调用侦听器方法时对 bean 的初始化。但是当我们改变范围时,我们得到了 NotSerializable 错误,因为我们有被 Bean 调用的对象没有实现 Serializable。我们开始知道问题在于将对象存储在磁盘中,这很好。但是当我们将范围更改为 SessionScoped 时,它工作得很好,而无需转换所有 bean 实现 Serializable。

我的问题是,为什么我们只需要为 ViewScoped 而不是为 SessionScoped 实现 Serializable,因为两者都需要存储在磁盘中。

0 投票
1 回答
473 浏览

jsf - 将 SessionScoped 更改为 ViewScoped?

我是 jsf、bean 和所有东西的新手,但我需要在已完成的项目中将 sessionscoped bean 更改为 viewscoped。

我从哪说起呢?显然将“SessionScoped”更改为“ViewScoped”不起作用:)。

0 投票
1 回答
428 浏览

jsf-2 - CDI - 会话范围 - 每个请求范围的新会话范围

我有一个@SessionScoped CDI bean,它可以很好地存储每个用户会话的信息。但是,我想使用相同的 bean,但在请求范围中有一个新实例,但是一旦创建它,​​它就会保留在该请求的会话中。因此,对于另一个请求,我希望它创建一个新 bean。

这可能使用 CDI 吗?

0 投票
1 回答
181 浏览

glassfish - 我使用 @ApplicationScoped 但我找到了 2 个实例

我有一个使用的用户列表,其中有一个用 @ApplicationScoped 标注的托管 bean;问题是当我检查我的清单时,我发现了一些奇怪的东西。当我使用两个地址访问时存在差异 :: localhost:8080/myAPP 和 127.0.0.1:8080/myAPP

0 投票
0 回答
83 浏览

jsf-2.2 - 防止通过同一台机器上的多个浏览器登录

我已经完成了其他人提出的有关它的问题;但我仍然没有得到我的答案。我只是想防止用户在同一台​​机器上使用多个浏览器登录一种方法是使用数据库中的单独字段来检查用户是否仍然登录,但这仅在用户故意注销时才有帮助;但是如果浏览器被关闭,那么我将如何使它工作?我正在使用 JSF 会话范围的 bean 来维护会话。或者告诉我是否有办法在 JSF 中的会话失效之前准确地调用某个方法?谢谢!

0 投票
4 回答
5044 浏览

java - 如何使用 servlet 和 JSP 将数据保存在 Java 类中定义的变量中?

我在 STS 中创建了一个 Maven 项目。在项目中,我有 1 个 jsp 文件和 1 个 servlet。jsp 要求用户输入用户名和密码,然后 servlet 获取值,以 HTML 格式显示。但我也有 1 个 java 类。我希望将 jsp 文件中输入的数据存储在 java 类中定义的 2 个变量中,但我无法这样做。我尝试了几件事,但无法理解如何去做。

你好Servlet:

用户 Java 类:

仅 JSP 表单:

XML 文件:

0 投票
1 回答
1021 浏览

jsf-2 - 如果我将 sessionscoped 添加到 bean,Primefaces 选项列表显示为空

Primefaces Picklistbean 没有定义范围,然后 primefaces 选择列表源和目标列表已满,但如果我将 sessionscoped 添加到 Picklistbean,则源和目标列表为空。我想知道为什么当我将 sessionscoped 添加到 Picklistbean 时它显示为空

xhtml

0 投票
2 回答
5042 浏览

jsf - JSF:会话范围托管 bean 的属性变为空

我正在使用 JavaEE 7 并尝试使用简单的登录机制编写一个 webapp。

有一个使用 JPA 持久化的 EJB 实体类,称为User保存有关用户的数据。在 WAR 中,一个名为 session 范围的托管 beanUserManagedBean负责跟踪当前用户,因此它有一个 type 属性,User当有人成功登录时设置。过滤器正在监视此属性的值,并在必要时重定向到登录页面。当然,两者User都是UserManagedBean可序列化的(实现接口并且不包含任何不可序列化的内容)。

我的问题是,在成功登录后,刷新页面会让我回到登录页面,而我之前设置user的属性现在为空(实际上这就是过滤器触发重定向的原因)。

这是我尝试过的:

  • 分离的逻辑和数据:UserManagedBean 现在只有这个属性和一些辅助方法,没有 EJB,没有任何与 Java 魔法相关的东西。
  • 尝试将javax.faces.STATE_SAVING_METHODweb.xml 中的上下文参数设置为服务器和客户端,没有任何改变。
  • 验证了会话范围的托管 bean 保持不变:只创建了一个,但不知何故,从登录页面导航后,用户的值为空。
  • 根据 NetBeans 调试器,user除了将其设置为登录用户外,不会访问该字段。
  • 指定自定义序列化方法表明 UserManagedBean 在实验期间未序列化或反序列化。
  • 在 Chrome 中调试建议会话 ID 保存在 cookie 中,并且在 的值user丢失时不会更改。
  • 未检测到异常。

我一定错过了一些琐碎的事情,任何帮助将不胜感激。

更新:这确实是微不足道的,与 JSF 或托管 bean 无关,请参阅下面的答案。)

我的代码如下:

User班级:

UserManagedBean班级:

过滤器(doBeforeProcessing):

更新:

重要的是要注意,用户已正确设置一次,并且会正常转换到欢迎屏幕。但是,下一个请求发现 user 属性为空。

触发身份验证的代码在请求范围LoginManagedBean类中:

0 投票
1 回答
276 浏览

java - SessionScoped 不工作 GAE+Jersey+Guice

我有一个使用 Jersey (1.17) 和 Guice (3.0) 的 Java 项目。SessionScoped bean 在本地开发中工作,但在 GAE 上部署时不起作用。问题是他们不保持会话状态。

会话在 web.xml 中启用:<sessions-enabled>true</sessions-enabled>

我的会话 bean (SessionService) 是:

它绑定到 ServletModule 中的 Session 范围bind(SessionService.class).in(ServletScopes.SESSION);

我使用它的控制器是:

使用本地开发服务器可以正常工作。当部署在 GAE (1.9.5) 上时,它会第一次设置语言环境,然后即使我一次又一次地调用 setLocale,它也会永远保持不变。为什么它不起作用?

奇怪的是,我找到了一种使它起作用的晦涩方法,但我不知道为什么它使它起作用。要让它运行,有必要在设置语言环境之前触摸 HttpSession。喜欢request.getSession(true).setAttribute("whatever", "bar")。好像需要召回服务器,SessionService 想要对 Session 做一些事情。这是为什么?