java - REST:从位于 Web 项目的 "/web-inf/lib"内的 jar 运行 main 方法

标签 java rest tomcat jersey

我正在使用 Jersey 1.x 和 Tomcat 8.0。我有一个 .jar 文件,它是我上传到动态 Web 项目的“/web-inf/lib”的主要应用程序。

我似乎无法弄清楚如何在这个 jar 中运行一个包含主要方法的类,这对我的 Web 服务至关重要,因为它创建了到 Derby DB 的连接,并且我所有的 Web 服务方法都使用这些连接。

它必须在 Tomcat 服务器启动时开始运行。

最佳答案

绝对不是这样做的方法。如果你想在 Tomcat 启动时运行一些东西,看看 ServletContextListener .基本上你实现了这个接口(interface):

import javax.servlet.ServletContextListener;

public class MyContextListener implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        // your init code goes here
    }
}

但是,我怀疑即使这是你想要做的。如果您使用的是本地或嵌入式 Derby 实例,那么您可能没问题,但现在您必须以某种方式分发连接信息。传统上,在像您这样的应用程序中,您将使用 DBCP 之类的东西(包含在 Tomcat 中 - 请查看 Tomcat DataSource docs )并在每次需要时获得与数据库的连接。如果您只是初始化数据库,那么 ServletContextListener 将允许这样做。但在那之后,不要使用 ServletContextListener 来分发数据库连接。

关于java - REST:从位于 Web 项目的 "/web-inf/lib"内的 jar 运行 main 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35661506/

相关文章:

java - 如何在 Mac 上设置 Java 类路径?

java - 如何在 tomcat 上使用 LDAP 设置 CAS .. 没有错误

Java 相同输入的不同 MD5 输出?

javascript - Spring MVC中当满足另一个变量的条件时如何从一个jsp重定向到另一个jsp

codeigniter 表单验证对于 json 数据总是错误的

rest - 如何在jmeter中以unix格式获取当前UTC时间

java - 加密/安全通信 Android 应用 <-> REST Web 服务

java - Android 后台进程完成后显示通知

java - Junits 中的 NullPointerException

java - UtF-8 格式在 tomcat 服务器的 servlet 中不起作用