Как я могу направить сервлет сопоставления, чтобы быть направленным на этот URL - PullRequest
0 голосов
/ 31 октября 2011

Мне нужно, чтобы URL моего веб-сервера был следующим:

http://localhost:8080/console/myws/mymethod

У меня есть класс сервлета MyServlet с некоторыми методами (в конце концов, веб-сервисы конвертируются с помощью JAXWS). Как я могу отобразить этосервлет должен быть на сервере Tomcat, если это возможно без изменения имени класса сервлета:

http://localhost:8080/console/myws/mymethod

вот моя конфигурация web.xml, я просто не могу заставить ее работать.я определяю консоль как мой корень контекста без "/" просто консоль

<listener>
        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
     </listener>
    <servlet>
        <servlet-name>jax-ws</servlet-name>
        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
        </servlet>
    <servlet-mapping>
        <servlet-name>jax-ws</servlet-name>
        <url-pattern>/myws/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            90
        </session-timeout>
</session-config>

и как я могу отладить конфигурацию в Tomcat, чтобы проверить, что я сделал не так?

1 Ответ

2 голосов
/ 31 октября 2011

Если предположить, что /console - это контекстный путь, а /mymethod - это информация о пути, то вам необходимо сопоставить сервлет с /myws/*.

<servlet-mapping>
    <servlet-name>yourServletName</servlet-name>
    <url-pattern>/myws/*</url-pattern>
</servlet-mapping>

Класс сервлета и его имя полностьюнезависимо от выбранного вами шаблона URL, поэтому вам даже не нужно его менять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...