javaee应用方法

javaee应用方法,java,web-applications,jakarta-ee,Java,Web Applications,Jakarta Ee,我提出了一个小项目来帮助我学习JavaEE,我不确定什么技术最适合我想要实现的目标,但是我希望有人能给我指出正确的方向 本质上,一个荣耀的网络爬虫应该一直在某处运行——可能是更新数据库,也可能不是(信息很快就会过时,因此可能不需要保存信息) 然后,客户端可以在登录时查看最新信息,我认为servlet是最好的方法 我不确定什么技术最适合这种“始终运行的服务”。我希望信息始终存在,无论客户是否正在查看它 你会采取什么方法?虽然我意识到使用应用服务器可能不是解决这一问题的最佳方案,但我还是将此作为一个

我提出了一个小项目来帮助我学习JavaEE,我不确定什么技术最适合我想要实现的目标,但是我希望有人能给我指出正确的方向

本质上,一个荣耀的网络爬虫应该一直在某处运行——可能是更新数据库,也可能不是(信息很快就会过时,因此可能不需要保存信息)

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

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


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

我将阐述以下每一点:

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

2) 当客户端登录“是”时,您可能希望使用servlet。更具体地说,您需要在模型和数据库之间建立一个抽象层。控制器将与模型讨论其当前状态,然后继续使用最新数据绘制视图(网页)

3) 我不一定把它归类为一种服务,更确切地说是一种信息门户。应用服务器适合这种类型的工作,因为它为客户端提供了与应用程序接口的中心点

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

让我们试试看。我的答案将基于JavaEE6

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

或者JSF2.0和Facelets(Facelets是JSF2.0中的默认视图技术,并取代JSP作为页面的视图技术)

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

在另一个VM中运行这个可能会更容易,但您可以尝试使用EJB3.1中的bean。请参阅下面的链接

另见

谢谢,我将尝试一个异步bean,并将使用JSF。当你说在另一个虚拟机上运行时,你的意思是和POJO的一样吗?我不是特别寻找最优秀或最好的解决方案,只是为了学习Java的不同方面最实用EE@AphexMunky然后JavaEE6和
@Asynchronous
EJB将给您带来更多乐趣(是的,我指的是一个独立的应用程序)。也许一个计时器EJB会更好?@Justin我也考虑过这个问题,但是定期运行某些东西并不是OP描述的那样。也许是另一种选择。