0 0

play框架开发问题(static变量导致多用户访问互相影响)5

现在用play框架开发一个小项目,画面迁移中为了保存一些恢复用的数据,也为了在control里面各个函数能够共用临时变量,定义了全局的变量保存值。
可是因为control下的函数都是static的,所以变量就只能定义成static了。
结果多用户通过不同的机器访问该AP时,就出了问题。
因为全局变量定义成static了,每个人访问的对象变量都是一样的,弄得只能一个人访问,很郁闷。

基本的JAVA程序定义全局变量都不是static的,根本没有这方面的问题,play下怎么办?
是我不应该用control类来解决这样的问题?还是有别的办法?
我现在是把要用到的临时全局变量放在了cache里面,cache的参数里面加上session.id来解决的。
感觉这也只是没办法的办法。
大家有什么好方法吗?

问题补充:
chen_yongkai 写道
可以考虑用ThreadLocal类

要是在control里面用ThreadLocal,一般是直接写如下代码:
private static final ThreadLocal aaa= new ThreadLocal();
然后把要保存的东西直接set到aaa里面,然后用的时候get一下。

我在程序里面试了一下不好用(无法解决多用户影响的问题),
分析原因如下:
ThreadLocal是通过每个线程中的new对象的操作来创建的对象,而不是set,play框架下的control中,定义的
private static final ThreadLocal aaa= new ThreadLocal();
只是在第一次访问程序时才被执行,以后不会再执行了(服务器重启除外),也就是说没有机会再new个新的线程出来用,还是无法解决这个问题。

如果是我的用法错了,帮忙详细的说明一下吧,例子就更好了:)
2012年3月13日 09:34

1个答案 按时间排序 按投票排序

0 0

可以考虑用ThreadLocal类

2012年3月13日 09:37

相关推荐

    play 框架学习

    总的来说,Play框架提供了一个高效、灵活的开发环境,简化了Web应用的许多常规任务,使得开发者可以专注于业务逻辑和用户体验,提高了开发效率。通过深入理解和实践,开发者可以充分利用其特性,构建出高性能的企业...

    play框架学习手册

    Play框架是一款基于Java的全栈Web开发框架,它的设计理念是帮助开发者使用最小的配置和编码来构建高性能、可扩展的Web应用。本手册将详细介绍Play框架的核心概念、安装配置、项目结构、基本使用和高级特性。 **一....

    Play框架的一个demo

    在浏览器中访问应用的URL,就可以看到这个基于Play框架的CRUD应用在操作用户数据了。 总的来说,这个“Play框架的一个demo”为学习者提供了一个了解如何使用Play框架与MySQL数据库进行交互的实例。通过研究和运行这...

    play框架手册完整版本

    Play框架是基于Java和Scala的开源Web应用框架,遵循MVC(Model-View-Controller)设计模式,旨在简化Web开发过程。它强调代码即路由、轻量级、快速开发和可测试性,使得开发者能够更加专注于业务逻辑,而不是底层...

    scala PLAY 框架 sbt仓库

    Scala Play框架是一款基于Java和Scala的开源Web...了解并熟练掌握以上知识点,将有助于你更高效地使用Scala Play框架开发Web应用。同时,理解sbt的工作原理和依赖管理方式,对于任何Scala开发者来说都是必不可少的。

    JAVA PLAY框架入门学习手册

    Java PLAY框架是基于Java语言的Web应用程序框架,旨在提高Web应用程序的开发效率和可维护性。下面是Java PLAY框架的入门学习手册,涵盖了框架的主要概念、目录结构、请求生命周期、HTTP路由、类增强等方面的知识点。...

    play框架jar包

    Play框架是一款基于Java和Scala的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式,旨在提供高效、简洁且快乐的开发体验。这个资源包含了一系列用于搭建Play框架的jar包,这些jar包是开发Play应用程序所...

    play框架的简单增删改查

    本项目是针对初学者设计的一个实战教程,主要目标是展示如何在Eclipse开发环境中使用Play框架与MySQL数据库进行基本的增删改查操作。 1. **Play框架介绍** - 架构:Play采用反应式编程模型,强调异步I/O和非阻塞...

    Play框架中文文档.pdf

    Play框架中文文档.pdf

    任务管理系统(基于play框架)

    通过以上描述,我们可以看到这个基于Play框架的任务管理系统涵盖了用户认证、任务管理、RESTful服务、数据库交互、前端开发等多个IT领域的知识点,提供了一个完整的解决方案,旨在帮助用户有效地组织和管理他们的...

    play框架+一个helloworld例子

    此资源是整个play框架外加一个helloworld小例子,下载解压到文件夹中可以直接进行play框架开发。

    play framework 框架手册 word 版

    《Play Framework 框架手册》是一份深入介绍Play框架的文档,主要涵盖了从基础概念到高级特性的全面内容,适合初学者和经验丰富的开发者参考。以下是对手册中部分核心知识点的详细阐述: 1. **MVC应用程序模型**:...

    play框架 2.1 api

    play框架 2.1 api

    play 框架使用ajax的例子

    Play框架是基于Java和Scala的开源Web应用框架,遵循MVC(模型-视图-控制器)设计模式。它强调简洁的代码结构和开发效率,同时提供了对AJAX的强大支持,使得开发者可以轻松创建交互式的、响应式的Web应用程序。在本...

    Play框架手册

    Play框架是一款轻量级、高效的Java和Scala Web开发框架,它基于MVC(Model-View-Controller)架构模式设计,旨在简化Web应用程序的开发流程。MVC模式将应用程序逻辑划分为三个主要部分:模型(Model)、视图(View)...

    play框架mvc模式

    Play 框架 MVC 模式详解 Play 框架完全遵循 MVC 模式,该模式将应用程序分成三个独立的层:presentation 展示层、model 模型层和 controller 控制层...通过使用 Play 框架,可以快速开发高效、可扩展的 Web 应用程序。

    play框架 JPA注解

    Play Framework 是一个流行的Java web应用框架,它提供了一种简洁、高效的开发模式。在Play框架中,Java Persistence API (JPA) 是用于处理对象关系映射(ORM)的一个组件,使得开发者可以方便地将Java对象与数据库...

Global site tag (gtag.js) - Google Analytics