Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Изменить URL mapping в Tomcat


Автор: _hunter 17.8.2012, 16:41
Добрый день,

Можно ли как-то настроить Tomcat чтобы URL'ы вида:
http://localhost:8080/App/cgi-bin/
(линка на servlet)
"резолвились" отдельно от "общей" кучи
http://localhost:8080/App/
?

В conf/server.xml у меня:
Код

<Engine name="Catalina" defaultHost="localhost">
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
        <Context docBase="D:\App" path="/App" caseSensitive="false" />
    </Host>
</Engine>


conf/Catalina/localhost/App.xml 
Код

<Context path="/App" reloadable="true" docBase="D:\Servlet_CGI\App" workDir="D:\Servlet_CGI\App\work" />


web.xml Servlet'а:
Код

<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
<web-app>
    <servlet>
        <servlet-name>App</servlet-name>
        <servlet-class>CgiServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>App</servlet-name>
        <url-pattern>/cgi-bin/*</url-pattern>
    </servlet-mapping>
</web-app>



В Apache HTTPD это решалось банальным чередованием директорий:
ScriptAlias /App/cgi-bin "..."
Alias /App "..."
а что делать "тут"?

С уважением...

P.S.
Sorry за double-posting, но в "Администрировании", похоже, активность ниже, а тема связанна и с Java EE...

Автор: mbasil 17.8.2012, 18:22
Я для этих целей использую сервлет контроллер и отображение логисеского пути заданного на странице в физический адрес в XML файле.
Для этого необязательно писать свой контроллер. Наиболее известный фреймаорк Struts. Сегодня и другие фреймворки имеют контроллеры, реализующие паттерн MVC2.

Извините, кажется я потоопился и речь идет не о разработке, а об администрировании. Тогда непонятно, что вам мешает поместить разные сервлеты в разые директории. С другой стороны в современном приложении сервлетов "раз, два ... и обчелся", в основном это что-то в роде JSP страниц. Вообще то вопрос оказадся не слишком понятен, наверное слишком сложен, поэтому еще раз извините за вторжение.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)