为了账号安全,请及时绑定邮箱和手机立即绑定

封装嵌入式tomcat服务器

封装嵌入式tomcat服务器

炎炎设计 2023-05-10 17:17:31
第一次使用 tomcat/从头开始设置 webapp,所以请大发慈悲。我创建了一个嵌入式 tomcat 服务器,它基本上是这样的:public class Server implements Runnable {private Tomcat tomcat;public Server() {    tomcat = new Tomcat();    tomcat.setPort(8080);    tomcat.addWebapp("", new File("src/webapp").getAbsolutePath());}@Overridepublic void run() {    try {        tomcat.start();        tomcat.getServer().await();    } catch (LifecycleException e) {        e.printStackTrace();    }}我在一个看起来像这样的主程序中运行它:public static void main(String[] args) throws Exception {    Thread thread = new Thread(server);    thread.start();    Foo foo = new Foo();    (thread.isAlive()) {        foo.doStuff();        TimeUnit.HOURS.sleep(interval);    }}该程序的目的是在一个线程上运行 http 服务器,而类 Foo 每隔几小时在后端做一些事情。可能不是创建网络应用程序的正确方法,但这是我管理过的最好的方法。但是,现在我正在尝试打包它,但我遇到了问题,因为一旦打包(使用 Maven),似乎Server无法找到 webapp 文件夹。经过几个小时的谷歌搜索并尝试了很多涉及 war:s 和 jar:s 的东西后,我得出的结论是,我不理解这种嵌入式 tomcat 的东西。所以,我的问题是:我实现我的 webapp 的方式是否正确?我感觉不是,但我无法真正确认。2a. 如果不正确,如何做正确?2b. 如果正确,如何将它打包成可运行的 jar/war?
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

这是一种非标准的处理方式。与其编写您自己的所有应用程序逻辑来处理集成的 Web 服务器,不如考虑利用已经存在的东西?您可以在 Spring Boot 中创建一个 Java 项目,它包含自己的嵌入式 Web 服务器。

我会推荐这种方法而不是自己编写它,因为 Spring Boot 是一个被广泛使用、证明和测试的行业标准。


查看完整回答
反对 回复 2023-05-10
  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信