web开发内嵌tomcat的使用,告别复杂的配置 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 网站建设 >

web开发内嵌tomcat的使用,告别复杂的配置

发表时间:2017-6-13

发布人:葵宇科技

浏览次数:30

对于java web开发,最常使用的就是安装tomcat,然后在ide中配置一大堆,然后在进行调试。这种方式对很多新手来说很容易出错。现在说一下使用内嵌的tomcat进行开发。

在tomcat官网,我们可以下载对应的内嵌tomcat,在官网长这样。

tomcat下载

下载解压后将需要用到的jar拷到项目对应的库目录下,然后就可以像普通的java程序一样开发web应用了。下面是启动tomcat的代码。

import java.io.File;

import org.apache.catalina.WebResourceRoot;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.webresources.DirResourceSet;
import org.apache.catalina.webresources.StandardRoot;

public class Main {

    public static void main(String[] args) throws Exception {

        String webappDirLocation = "src/main/webapp/";
        Tomcat tomcat = new Tomcat();

        //The port that we should run>//Look for that variable and default to 8080 if it isn't there.
        String webPort = System.getenv("PORT");
        if(webPort == null || webPort.isEmpty()) {
            webPort = "8080";
        }

        tomcat.setPort(Integer.valueOf(webPort));

        StandardContext ctx = (StandardContext) tomcat.addWebapp("/", new File(webappDirLocation).getAbsolutePath());
        System.out.println("configuring app with basedir: " + new File("./" + webappDirLocation).getAbsolutePath());

        // Declare an alternative location for your "WEB-INF/classes" dir
        // Servlet 3.0 annotation will work
        File additionWebInfClasses = new File("target/classes");
        WebResourceRoot resources = new StandardRoot(ctx);
        resources.addPreResources(new DirResourceSet(resources, "/WEB-INF/classes",
                additionWebInfClasses.getAbsolutePath(), "/"));
        ctx.setResources(resources);

        tomcat.start();
        tomcat.getServer().await();
    }
}

为了方便调试,可以引入logback,log4j等日志系统来输出调试信息。
当然,也可以使用maven,gradle来构建项目。最后输出的就是一个jar包,可以直接发布到服务器来运行。
如果想发布成*.war的格式,可以参考这篇文章

文章中是使用spring boot的转换方法,如果在其他的项目中就是在ide中将tomcat的依赖设置为provided,然后选择打包方式。或者使用gradle或者maven来构建程序的话,可以参考spring boot的那篇文章。

相关案例查看更多