2013-09-10 3 views
0

Я использую Spring MVC для запуска моего динамического веб-приложения. Я могу написать один и запустить приложение успешно. Но проблема заключается в загрузке файлов ресурсов, таких как изображение, JS и CSS. Я получаю файл Не удалось загрузить ресурс. ключевой момент я размещаю JSP-файлы вне WEB-INF и используя веб-логический сервер.Невозможно загрузить файлы ресурсов с помощью веб-приложения Spring mvc

My App Structure

Мой web.xml файл

<display-name>Support</display-name> 
    <welcome-file-list> 
    <welcome-file>resources/jsp/home.jsp</welcome-file> 
    </welcome-file-list> 

    <servlet> 
    <servlet-name>spring-mvc</servlet-name> 
    <servlet-class> 
    org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>spring-mvc</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

    <context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/spring-mvc-servlet.xml,/WEB-INF/spring-jpa.xml</param-value> 
    </context-param> 
    <listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

мой dispathcer сервлет

<mvc:annotation-driven/>  
    <mvc:resources mapping="/resources/**" location="/resources/"/> 
    <bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/resources/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
    </bean> 

Я добавил это в моем файле Jsp

<link media="screen" rel="stylesheet" href="<spring:url value='resources/css/Map.css' />" type="text/css" /> 
<spring:url value="resources/css/Mass.css" var="resourceUrl2"/> 
<LINK media="screen" rel="stylesheet" TYPE="text/css" href="${resourceUrl2}" /> 

Получение Ошибка Лоа d ресурс: сервер ответил со статусом 404.

любая помощь ???

Update:

То, что я нашел с моей WebLogic Server не может получить значение контекста для этого приложения. поэтому получил путь контекста в файле jsp и добавлен перед ресурсами. он работал для меня

<link media="screen" rel="stylesheet" href="<%=request.getContextPath()%>/resources/css/MaRK.css" type="text/css" /> 

до сих пор не знает, почему весенние ресурсы не работают.

+0

Значение вашего URL неверно ... должно быть **/resource ** в '', чтобы указать, что оно должно быть загружено из корня приложения. –

+0

Я тоже это пробовал. '/ Resources/css/MaRK.css', но не повезло. – user1268890

+1

JSP, который вы запрашиваете, обслуживается напрямую или 'DispatcherServlet'. Одно замечание состоит в том, что вы также дублируете свои бобы, которые вы дважды загружаете «spring-mvc-servlet.xml». Не делайте этого, его следует загружать только 'DispatcherServlet' –

ответ

4

Я столкнулся с той же проблемой, и это, как я решен вопрос: В конфигурационном файле яровой Заменить

<mvc:resources mapping="/resources/**" location="/resources/"/> 
With 
<mvc:default-servlet-handler/> 

и обеспечить ниже путь в JSP для загрузки статических содержимого

<link rel="stylesheet" href="resources/css/Mass.css" type="text/css"/> 

Надеюсь, это поможет!

+0

любая идея, почему выше не работает? – LynAs

0

Попробуйте это

<mvc:resources mapping="/resources/**" location="resources/"/> 

работает для меня.

Смежные вопросы