gpt4 book ai didi

java - 通过页面保留对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:12:20 24 4
gpt4 key购买 nike

我正在从事一个网络项目。流程是这样的

  1. 用户输入参数
  2. 调用 servlet(post 方法)
  3. servlet 在树对象中加载一个大文件(300.000 行,每行一个词)。做一些计算。
  4. 重定向到结果的新页面。

我的问题是这样的。用户可以多次执行此操作。装载文件到树对象花费的时间太长。我怎么能这样做,只有一次?我想过只有一个 servlet(或 jsp)而不是重定向到不同的页面,但是使用 javascript 操作 View 。这样我认为我将设法只加载一次文件(并且每当用户刷新时)。你有什么建议吗?

编辑 1. 此对象由从 servlet 调用的类创建。我正在使用 apache tomcat 7 和 java 1.6 。 HTML5 也是一个选项(有人提到了 history api)。

最佳答案

文件是否特定于用户?将对象保留在用户的 session 中。

如果它对许多用户来说很常见并且他们只需要读取/查看此数据,请将其保存在应用程序对象中。

如果您谈论的是 View -> 浏览器,那么是的,方法是 ajax 和/或框架和/或 iframes

框架的优点是您可以将数据保存在另一个场中并仍然可以从其他页面访问它,但是将主视图区域完全更改为另一个页面


细节用户的 session :在 servlet、过滤器、jsps 等中可用 -> 键对象对。可以有任意数量的键和对象,但将其全部记住在 RAM 中,直到 session 过期或被显式销毁。

http://docs.oracle.com/cd/E19502-01/819-3669/bnaij/index.html

How to use the "application" object in a Servlet?

应用级别http://docs.oracle.com/javaee/5/api/index.html?javax/servlet/jsp/PageContext.html获取和设置属性(字符串名称,对象对象)这个对象在所有的页面和jsp中都可以读取到。在执行初始化任务之前,需要注意对象是否已经存在(getAttribute 不返回 null)。主文件有变化吗?如果这样可以保留一些代码来调用刷新它的jsps。 (就像管理 jsp)

Frames/ajax 用于客户端级别,您需要为此提出更具体的问题,但 Stack over flow 和谷歌有很多使用它的示例。

关于java - 通过页面保留对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16240549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com