【问题标题】:Java EE application approachJava EE 应用方法
【发布时间】:2010-08-29 16:03:42
【问题描述】:

我想出了一个小项目来帮助我学习 Java EE,但我不确定哪种技术最适合我想要实现的目标,所以我希望有人能指出我正确的方向。

本质上光荣的网络爬虫应该在某个地方不断运行 - 可能会更新或不更新数据库(信息会很快过时,因此可能不需要持久化信息)。

客户可以在登录时查看最新信息,我认为 servlet 是最好的方法。

我不确定哪种技术最适合这种“始终运行的服务”。无论客户是否正在查看信息,我都希望信息始终存在。

你会采取什么方法?虽然我意识到这可能不是使用应用程序服务器的最佳解决方案,但我将其作为一个有趣的项目来帮助我学习。

【问题讨论】:

    标签: java web-applications jakarta-ee


    【解决方案1】:

    提出了一个小项目来帮助我学习 Java EE,但我不确定哪种技术最适合我想要实现的目标,所以我希望有人能指出我正确的方向..

    让我们试试。我的答案将基于 Java EE 6。

    客户可以在登录时查看最新信息,我认为 servlet 是最好的方法。

    或 JSF 2.0 和 Facelets(Facelets 是 JSF 2.0 中的默认视图技术,并取代 JSP 作为页面的视图技术)

    我不确定哪种技术最适合这种“始终运行的服务”。无论客户是否正在查看信息,我都希望信息始终存在。

    在另一个 VM 中运行它可能会更容易,但您可以尝试使用带有 EJB 3.1 的 @Asynchronous bean。请参阅下面的链接。

    另见

    【讨论】:

    • 谢谢,我会尝试一个异步 bean 并使用 JSF。当您说在另一个 VM 中运行时,您的意思是与 POJO 一样吗?我并不特别在寻找最优雅或最好的解决方案,只是对于学习 Java EE 的不同方面最实用
    • @AphexMunky 那么 Java EE 6 和 @Asynchronous EJB 会给你带来更多乐趣(是的,我的意思是一个独立的应用程序)。
    • 也许定时器 EJB 会更好?
    • @Justin 我也想过这个问题,但是定期运行某些东西并不是 OP 所描述的。不过也许是另一种选择。
    【解决方案2】:

    我将在下面说明每一点:

    1) 您对是否将数据存储在数据库中的担忧。这些信息应该存储在数据库中,因为您的服务器将因没有足够的内存来保持所有内容免费可用而死。

    2) 当客户端登录时,你会想要使用 servlet。更具体地说,您需要模型和数据库之间的抽象层。控制器将与模型讨论其当前状态,然后继续使用最新数据绘制视图(网页)。

    3) 可以这么说,我不一定将其归类为服务,但更多的是信息门户。应用程序服务器非常适合这种类型的工作,因为它为客户端与应用程序交互提供了一个中心点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-02
      • 2011-03-25
      • 2013-11-23
      • 2015-04-13
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多