У меня проблема с отображением внешних ресурсов. В частности, в моем приложении-сервлете. xml, у меня есть следующее:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="cookieName" value="lang"/>
<property name="defaultLocale" value="en"/>
</bean>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="file:C:/Users/username/Desktop/translations/translation"/>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<array>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8"/>
</bean>
</array>
</property>
</bean>
<mvc:resources mapping="/content/**" location="file:C:/Users/username/Desktop/content/"/>
<!-- <mvc:default-servlet-handler/>-->
<mvc:annotation-driven/>
Мой веб. xml
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Я пробовал любую возможную комбинацию, а также с и без <mvc:default-servlet-handler/>
, но когда я пытаюсь перейти на страницу с внешним ресурсом, я вижу на вкладке Сеть моего браузера, что приложение возвращает 200, но контент не загружен.
Я добавил точку останова в класс ResourceHttpRequestHandler, и я показываю, что метод setLocations(List<Resource> locations)
вызывается при запуске, но handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
не вызывается, когда я пытаюсь загрузить содержимое, например, http://localhost:8080/app/content/testImage.png
,
Журналы также ничего не предлагают.
Я также пытался сопоставить внешнее местоположение через сервер Tomcat. xml, но безрезультатно.
Есть идеи, почему это происходит?