Что не так с моими отображениями URL? - PullRequest
0 голосов
/ 04 февраля 2010

Я пытаюсь сопоставить пару URL-адресов соответствующим контроллерам следующим образом:

/index.html => HomeController
/login/index.html = LoginController

Мой bean-компонент отображения в моем сервлете xml выглядит так:

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <map>
            <entry key="/index.html">
                <ref bean="homeController" />
            </entry>
            <entry key="/login/index.html">
                <ref bean="loginController" />
            </entry>
        </map>
    </property>
</bean>

Я правильно определил ref bean для homeController и loginController.

Я могу правильно загрузить домашнюю страницу, но когда я пытаюсь перейти к /login, вместо отображения jsp, на который указывает loginController, я получаю ошибку запрашиваемого ресурса tomcat: недоступна. Что-то не так с моим синтаксисом здесь? Спасибо

Вот часть моего web.xml:

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

<servlet-mapping>
    <servlet-name>myServlet</servlet-name>
    <url-pattern>/index.html</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>

1 Ответ

1 голос
/ 04 февраля 2010

Ваше сопоставление URL-адреса /login/index.html, и вы переходите к /login.

Ваши сопоставления URL-адреса должны соответствовать URL-адресу.Измените отображение на /login

edit : ОК, url-pattern в вашем web.xml только перехватывает страницу индекса, поэтому он никогда не отправляет запросы на /login в Spring,Вам нужно либо расширить шаблон до <url-pattern>/*</url-pattern> (который будет отправлять каждый запрос в Spring), либо добавить несколько шаблонов, чтобы охватить каждый URL, который будет обрабатывать Spring.

Также ваш welcome-file-list немного чрезмерен.Тебе действительно нужно что-то из этого?

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