Получение пути к классу веб-приложения из сервлета - PullRequest
1 голос
/ 15 июля 2010

Причина этого заключается в том, что я хочу использовать Runtime.exec (), используя тот же путь к классу, что и мой сервлет. Класс, который я хочу запустить, находится в WEB-INF / classes / my / package /.

Итак, я хочу создать cmdarray в виде String [] {"java", "- cp", my_servlet_classpatch, "my.package.myclass"} Я просто не могу найти способ получить мой путь к сервлету.

Примечание: это должно работать в Tomcat или Jetty (или в любом приличном контейнере сервлетов).

1 Ответ

1 голос
/ 15 июля 2010

Будет ли getServletContext().getRealPath(...) то, что вы ищете?

Например, мне нужно выполнить некоторую обработку изображений, если веб-приложение работает в Linux и если инструменты ImageMagick доступны (и, нет, я не хочу использовать оболочку Java ImageMagick). В моем веб-приложении есть репозиторий «images», в котором присутствуют все мои изображения. Я могу получить действительный развернутый каталог, введя:

getServletContext().getRealPath( "images" )

Что дает:

/home/tomcat/apache-tomcat-6.0.26/webapps/mywebapp/download

Обратите внимание, что в вашем случае я не уверен, что вам нужно это: вы действительно хотите порождать новый процесс Java с помощью Runtime.exec?

...