Кот включенное правильное использование addContext для docBase

Кто-либо знает, как настроить контекст во вложенном случае Кота, чтобы служить файлам из местного справочника не в развернутой папке?

В стандарте server.xml это выглядит примерно так:


Я попробовал различные изменения на следующем коте включенное требование без успеха:

tomcat.addContext(tomcat.getHost(), "/MyWebApp/images", "/tmp/images/");

Я также попробовал:

tomcat.addContext("/MyWebApp/images", "/tmp/images/");

Похоже, что этот вопрос о чашах Грааля был в том же направлении:

чаши Грааля: добавьте контекст к вложенному коту в развитии

Но я не использую чаши Грааля. (Используя Яву)

Вот полный код запуска, который я использую:

package launch;

import java.io.File;
import org.apache.catalina.startup.Tomcat;

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 on can be set into an environment variable
        //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));

        tomcat.addWebapp("/MyWebApp", new File(webappDirLocation).getAbsolutePath());
        tomcat.addContext("/MyWebApp/images", "/tmp/images/");

        tomcat.start();
        tomcat.getServer().await();  
    }
}
1
nl ja de

2 ответы

Есть два общих подхода к добавляющим веб-приложениям вложенному апачскому Коту. addContext() и addWebapp() .

addContext() requires a fully programmatic approach. You must configure everything via the API. That includes the default servlet which serves static content (like images). You have not configured the default Servlet hence no static content is served.

Вы почти наверняка хотите использовать addWebapp() , который широко подобен понижению справочника в webapps папке, и наличие Кота авторазвертывают его. Параметры настройки, эквивалентные тем в conf/web.xml (сервлет по умолчанию, сервлет JSP, отображения типа ПАНТОМИМЫ, приветствует файлы, и т.д.), будут применены к webapp в этом случае.

3
добавлено
Сделайте у вас есть больше деталей о том, как использовать addContext; как определить сервлет по умолчанию и добавить объекты ContentListener? I' m отчасти застрявший по этому вопросу: stackoverflow.com/questions/23339954/… Я пытался использовать возвращаемое значение от addContext (), чтобы сделать ctx.getServletContext.addListener (...), но я получаю незаконное государство как it' s уже инициализированный
добавлено автор djsumdog, источник

Я нашел это руководство полезный, чтобы начать мою собственную установку, наряду с некоторыми Кот 8 чтений документации.

Я поместил webapp в папку ресурсов, он копируется к target/test-classes знатока автоматически, и управляйте им оттуда.

1
добавлено
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async