У меня есть веб-приложение, основанное на Spring 3.0.6, которое отлично работает на Tomcat 7.0.
web.xml
определяет диспетчер следующим образом:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Диспетчер определяет преобразователь представления обычным образом:
<bean id="tilesViewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.tiles2.TilesView" />
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles-def.xml</value>
</list>
</property>
</bean>
У меня есть контроллер с аннотацией @RequestMapping("/home")
и представлением "home"
, определенным в tiles-def.xml
. Когда я указываю своему браузеру на /myapp/home.html
, открывается страница Tiles.
Если я добавлю <mvc:resources mapping="/resources/**" location="/resources/" />
или <mvc:view-controller path="/" view-name="home.html"/>
в мой xml-файл диспетчера, при указании в браузере значения /myapp/home.html
получится 404. В журнале будет указано:
21:34:22,128 WARN PageNotFound:947 – No mapping found for HTTP request with URI [/myapp/home.html] in DispatcherServlet with name 'dispatcher'
Что я делаю не так?
Большое спасибо