Может ли кто-нибудь объяснить файл Spring web.xml?

Я новичок в Java Enterprise и Spring, но я хорошо разбираюсь в стандартной Java. Я просматриваю существующий проект веб-приложения. В проекте используется Tomcat / Spring / Hibernate, что, как я понимаю, довольно распространено. Он также использует DWR для удаленных вызовов методов. Мне довольно сложно разделить обязанности: за что отвечает Tomcat, за что отвечает Spring, как запрос передается от одного к другому и как основные части Spring сочетаются друг с другом. Я прочитал много документации по Spring, особенно о фасоли и фасолевой фабрике, и я все еще в процессе чтения. Любые ваши советы, ребята, будут приветствоваться, но я отвечу на некоторые конкретные вопросы.

Вопрос 1: Какое место занимает web.xml (когда он используется / вызывается и откуда вызывается)?

Пример кода 1:

    <servlet>
    <servlet-name>qrst</servlet-name>
        <display-name>qrst Servlet</display-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

Что делает приведенный выше фрагмент (или что он вызывает)? В какой-то момент в моем веб-приложении используется qrst.jsp; это DispatcherServlet, который вызывает qrst.jsp, используя имя сервлета? Иначе каково значение имени сервлета? Что такое загрузка при запуске?

Пример кода 2:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /someLocation/some-servlet.xml
    </param-value>
</context-param>

Ссылки или объяснение того, что делает вышеприведенное? Глядя на XML-файл, я вижу, что он содержит определения bean-компонентов, и я понимаю, что такое bean-компоненты и как они используются, но я не знаю других подробностей об этом и хотел бы знать.

Пример кода 3:

<servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <display-name>DWR</display-name>
  <servlet-class>
        org.directwebremoting.servlet.DwrServlet
</servlet-class>
    <init-param>
        <param-name>classes</param-name>
        <param-value>
            somepackage.someclass
        </param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

Из того, что я читал о bean-компонентах, я считаю, что эти элементы init-param - это просто параметры, которые устанавливаются в классе java сервлета. Какое значение имеет имя сервлета и как насчет нагрузки при запуске? Веб-приложение каким-то образом «знает», когда происходит вызов AJAX (dwr), а не когда веб-приложение загружается в первый раз (при первой загрузке оно должно использовать qrst.jsp). Откуда он это знает? Как он решает направить запрос в DWR, а не в qrst.jsp? Где он это делает?

Спасибо.

8
задан KyleM 29 April 2011 в 20:34
поделиться